]> granicus.if.org Git - shadow/commitdiff
Fix failing chmod calls on installation for suidubins
authorDave Reisner <dreisner@archlinux.org>
Wed, 31 Jul 2019 17:09:36 +0000 (13:09 -0400)
committerDave Reisner <dreisner@archlinux.org>
Fri, 2 Aug 2019 22:42:34 +0000 (18:42 -0400)
suidubins should be suidusbins, since these binaries are installed
${prefix}/sbin. This historically hasn't broken the build because
chmod of newgidmap/newuidmap succeeds, causing make to think the command
succeeded. Configuring shadow with --with-fcaps removes these final two
entries and exposes the chmod failure to make.

src/Makefile.am

index 34690ced5f271d3ee939e38291607a45e3bd1ba3..a8c29c913138c5781396e859002ee3745ca17f19 100644 (file)
@@ -52,13 +52,14 @@ usbin_PROGRAMS = \
 # id and groups are from gnu, sulogin from sysvinit
 noinst_PROGRAMS = id sulogin
 
+suidusbins     =
 suidbins       = su
 suidubins      = chage chfn chsh expiry gpasswd newgrp
 if !WITH_TCB
 suidubins += passwd
 endif
 if ACCT_TOOLS_SETUID
-suidubins += chgpasswd chpasswd groupadd groupdel groupmod newusers useradd userdel usermod
+suidusbins += chgpasswd chpasswd groupadd groupdel groupmod newusers useradd userdel usermod
 endif
 if ENABLE_SUBIDS
 if !FCAPS
@@ -134,6 +135,9 @@ install-am: all-am
        for i in $(suidubins); do \
                chmod $(suidperms) $(DESTDIR)$(ubindir)/$$i; \
        done
+       for i in $(suidusbins); do \
+               chmod $(suidperms) $(DESTDIR)$(usbindir)/$$i; \
+       done
 if WITH_TCB
        for i in $(shadowsgidubins); do \
                chown root:shadow $(DESTDIR)$(ubindir)/$$i; \