Opened 19 years ago
Closed 19 years ago
#1941 closed task (fixed)
kdebase instructions install binary with nonexistent group
Reported by: | Chris Staub | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | 6.2.0 |
Component: | BOOK | Version: | SVN |
Severity: | normal | Keywords: | |
Cc: |
Description ¶
The instructions for kdebase say to make sure "nogroup" group exists before running make install, since ${KDE_PREFIX}/bin/kdesud is installed setgid nogroup. BLFS suggests in the "Users and Groups" section to have a "nogroup" group with gid 99, but kdebase actually installs kdesud with gid 65534 (simply assuming that number to be for nogroup), so if BLFS instructions for users/groups are followed, that program is owned by a non-existent group. In the kdebase instructions, right after "make install" should be "chgrp nogroup /usr/bin/kdesud && chmod g+s /usr/bin/kdesud" to correct the group ownership and set it back to setgid.
Change History (4)
comment:1 by , 19 years ago
Resolution: | → worksforme |
---|---|
Status: | new → closed |
comment:2 by , 19 years ago
Resolution: | worksforme |
---|---|
Status: | closed → reopened |
OK, it does work. The issue isn't the kdebase Makefile, it's the BLFS instructions. BLFS kdebase instructions say only that nogroup must exist before running "make install". However, kdebase configure checks for it and assigns ownership of kdesud to "65534" if it doesn't find a nogroup group during the configure. The kdebase instructions need to be changed to clarify that you need a nogroup before running configure, not just before "make install".
comment:3 by , 19 years ago
Priority: | low → normal |
---|
I concur with Chris. This is from configure.in:
============================================================== dnl Check for the group "nogroup" or "nobody" Use -2 otherwise. AC_MSG_CHECKING(nogroup) AC_TRY_RUN([
#include <grp.h> #include <sys/types.h>
int main() {
struct group *grp = getgrnam("nogroup"); if (grp) return 0; return 1;
}
], nogroup=nogroup, AC_TRY_RUN([
#include <grp.h> #include <sys/types.h>
int main() {
struct group *grp = getgrnam("nobody"); if (grp) return 0; return 1;
}
], nogroup=nobody, nogroup=65534, nogroup=65534), nogroup=65534) ===============================================================
To me, the above is conclusive.
comment:4 by , 19 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
OK. Fixed at revision 5966.
If you have the group created before installing kdebase, it uses the system value. At least is does for me:
$ ll /opt/kde-3.5.2/bin/kdesud -rwxr-sr-x 1 root nogroup 59598 Apr 15 14:32 /opt/kde-3.5.2/bin/kdesud
I have never had to chgrp or chmod.
If you can pinpoint the problem in the Makefile, reopen the ticket.