Author: jw Date: 2006-03-23 12:18:04 +0100 (Thu, 23 Mar 2006) New Revision: 996 Added: crux-2.2/ports/core/shadow/shadow-4.0.15-noshadowgrp.diff Removed: crux-2.2/ports/core/shadow/shadow-4.0.15-nochgpasswd.diff Modified: crux-2.2/ports/core/shadow/.footprint crux-2.2/ports/core/shadow/.md5sum crux-2.2/ports/core/shadow/Pkgfile Log: shadow (2.2): fix chgpasswd to work with --disable-shadowgrp Modified: crux-2.2/ports/core/shadow/.footprint =================================================================== --- crux-2.2/ports/core/shadow/.footprint 2006-03-23 07:51:21 UTC (rev 995) +++ crux-2.2/ports/core/shadow/.footprint 2006-03-23 11:18:04 UTC (rev 996) @@ -55,6 +55,7 @@ -rw-r--r-- root/root usr/man/man8/vigr.8.gz -rw-r--r-- root/root usr/man/man8/vipw.8.gz drwxr-xr-x root/root usr/sbin/ +-rwxr-xr-x root/root usr/sbin/chgpasswd -rwxr-xr-x root/root usr/sbin/groupadd -rwxr-xr-x root/root usr/sbin/groupdel -rwxr-xr-x root/root usr/sbin/groupmod Modified: crux-2.2/ports/core/shadow/.md5sum =================================================================== --- crux-2.2/ports/core/shadow/.md5sum 2006-03-23 07:51:21 UTC (rev 995) +++ crux-2.2/ports/core/shadow/.md5sum 2006-03-23 11:18:04 UTC (rev 996) @@ -1,4 +1,4 @@ d52af1b47b7a382bff9d0be6865f05ea login.defs be8f69c2701118093af3d7f3bc02af16 pwck -29b6b4f6083d841ea01f68b6f1a9137c shadow-4.0.15-nochgpasswd.diff +01bab2b152b8f2ae0056a467fa365797 shadow-4.0.15-noshadowgrp.diff a0452fa989f8ba45023cc5a08136568e shadow-4.0.15.tar.bz2 Modified: crux-2.2/ports/core/shadow/Pkgfile =================================================================== --- crux-2.2/ports/core/shadow/Pkgfile 2006-03-23 07:51:21 UTC (rev 995) +++ crux-2.2/ports/core/shadow/Pkgfile 2006-03-23 11:18:04 UTC (rev 996) @@ -6,17 +6,18 @@ version=4.0.15 release=1 source=(ftp://ftp.pld.org.pl/software/shadow/$name-$version.tar.bz2 \ - pwck login.defs shadow-4.0.15-nochgpasswd.diff) + pwck login.defs shadow-4.0.15-noshadowgrp.diff) build() { cd $name-$version + patch -p1 < $SRC/shadow-4.0.15-noshadowgrp.diff + ./configure --prefix=/usr \ --mandir=/usr/man \ --disable-shared \ --disable-shadowgrp \ --disable-nls \ --without-selinux - patch src/Makefile $SRC/shadow-4.0.15-nochgpasswd.diff make make DESTDIR=$PKG install mkdir -p $PKG/etc/cron/daily $PKG/var/log Deleted: crux-2.2/ports/core/shadow/shadow-4.0.15-nochgpasswd.diff =================================================================== --- crux-2.2/ports/core/shadow/shadow-4.0.15-nochgpasswd.diff 2006-03-23 07:51:21 UTC (rev 995) +++ crux-2.2/ports/core/shadow/shadow-4.0.15-nochgpasswd.diff 2006-03-23 11:18:04 UTC (rev 996) @@ -1,64 +0,0 @@ ---- Makefile.orig 2006-03-23 00:28:27.083554080 +0100 -+++ Makefile 2006-03-23 00:29:04.600850584 +0100 -@@ -40,7 +40,7 @@ - ubin_PROGRAMS = faillog$(EXEEXT) lastlog$(EXEEXT) chage$(EXEEXT) \ - chfn$(EXEEXT) chsh$(EXEEXT) expiry$(EXEEXT) gpasswd$(EXEEXT) \ - newgrp$(EXEEXT) passwd$(EXEEXT) --usbin_PROGRAMS = chgpasswd$(EXEEXT) chpasswd$(EXEEXT) \ -+usbin_PROGRAMS = chpasswd$(EXEEXT) \ - groupadd$(EXEEXT) groupdel$(EXEEXT) groupmod$(EXEEXT) \ - grpck$(EXEEXT) grpconv$(EXEEXT) grpunconv$(EXEEXT) \ - logoutd$(EXEEXT) newusers$(EXEEXT) nologin$(EXEEXT) \ -@@ -76,10 +76,6 @@ - chfn_OBJECTS = chfn.$(OBJEXT) - chfn_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \ - $(am__DEPENDENCIES_2) --chgpasswd_SOURCES = chgpasswd.c --chgpasswd_OBJECTS = chgpasswd.$(OBJEXT) --chgpasswd_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \ -- $(am__DEPENDENCIES_2) - chpasswd_SOURCES = chpasswd.c - chpasswd_OBJECTS = chpasswd.$(OBJEXT) - chpasswd_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \ -@@ -206,13 +202,13 @@ - CCLD = $(CC) - LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ --SOURCES = chage.c chfn.c chgpasswd.c chpasswd.c chsh.c expiry.c \ -+SOURCES = chage.c chfn.c chpasswd.c chsh.c expiry.c \ - faillog.c gpasswd.c groupadd.c groupdel.c groupmod.c groups.c \ - grpck.c grpconv.c grpunconv.c id.c lastlog.c $(login_SOURCES) \ - logoutd.c newgrp.c newusers.c nologin.c passwd.c pwck.c \ - pwconv.c pwunconv.c $(su_SOURCES) sulogin.c useradd.c \ - userdel.c usermod.c vipw.c --DIST_SOURCES = chage.c chfn.c chgpasswd.c chpasswd.c chsh.c expiry.c \ -+DIST_SOURCES = chage.c chfn.c chpasswd.c chsh.c expiry.c \ - faillog.c gpasswd.c groupadd.c groupdel.c groupmod.c groups.c \ - grpck.c grpconv.c grpunconv.c id.c lastlog.c $(login_SOURCES) \ - logoutd.c newgrp.c newusers.c nologin.c passwd.c pwck.c \ -@@ -366,7 +362,6 @@ - AM_CPPFLAGS = -DLOCALEDIR=\"$(datadir)/locale\" - chage_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) - chfn_LDADD = $(LDADD) $(LIBPAM) $(LIBSELINUX) --chgpasswd_LDADD = $(LDADD) $(LIBPAM) $(LIBSELINUX) - chsh_LDADD = $(LDADD) $(LIBPAM) $(LIBSELINUX) - chpasswd_LDADD = $(LDADD) $(LIBPAM) $(LIBSELINUX) - gpasswd_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) -@@ -527,9 +522,6 @@ - chfn$(EXEEXT): $(chfn_OBJECTS) $(chfn_DEPENDENCIES) - @rm -f chfn$(EXEEXT) - $(LINK) $(chfn_LDFLAGS) $(chfn_OBJECTS) $(chfn_LDADD) $(LIBS) --chgpasswd$(EXEEXT): $(chgpasswd_OBJECTS) $(chgpasswd_DEPENDENCIES) -- @rm -f chgpasswd$(EXEEXT) -- $(LINK) $(chgpasswd_LDFLAGS) $(chgpasswd_OBJECTS) $(chgpasswd_LDADD) $(LIBS) - chpasswd$(EXEEXT): $(chpasswd_OBJECTS) $(chpasswd_DEPENDENCIES) - @rm -f chpasswd$(EXEEXT) - $(LINK) $(chpasswd_LDFLAGS) $(chpasswd_OBJECTS) $(chpasswd_LDADD) $(LIBS) -@@ -626,7 +618,6 @@ - - include ./$(DEPDIR)/chage.Po - include ./$(DEPDIR)/chfn.Po --include ./$(DEPDIR)/chgpasswd.Po - include ./$(DEPDIR)/chpasswd.Po - include ./$(DEPDIR)/chsh.Po - include ./$(DEPDIR)/expiry.Po Added: crux-2.2/ports/core/shadow/shadow-4.0.15-noshadowgrp.diff =================================================================== --- crux-2.2/ports/core/shadow/shadow-4.0.15-noshadowgrp.diff (rev 0) +++ crux-2.2/ports/core/shadow/shadow-4.0.15-noshadowgrp.diff 2006-03-23 11:18:04 UTC (rev 996) @@ -0,0 +1,127 @@ +--- shadow-4.0.15.orig/src/chgpasswd.c 2006-03-23 11:10:24.000000000 +0100 ++++ shadow-4.0.15/src/chgpasswd.c 2006-03-23 11:55:18.000000000 +0100 +@@ -43,7 +43,9 @@ + #include "nscd.h" + #include "prototypes.h" + #include "groupio.h" ++#ifdef SHADOWGRP + #include "sgroupio.h" ++#endif + /* + * Global variables + */ +@@ -51,7 +53,9 @@ + static int eflg = 0; + static int md5flg = 0; + +-static int is_shadow_pwd; ++#ifdef SHADOWGRP ++static int is_shadow_grp; ++#endif + + /* local function prototypes */ + static void usage (void); +@@ -78,8 +82,10 @@ + char *newpwd; + char *cp; + ++#ifdef SHADOWGRP + const struct sgrp *sg; + struct sgrp newsg; ++#endif + + const struct group *gr; + struct group newgr; +@@ -179,8 +185,9 @@ + exit (1); + } + +- is_shadow_pwd = sgr_file_present (); +- if (is_shadow_pwd) { ++#ifdef SHADOWGRP ++ is_shadow_grp = sgr_file_present (); ++ if (is_shadow_grp) { + if (!sgr_lock ()) { + fprintf (stderr, _("%s: can't lock gshadow file\n"), + Prog); +@@ -195,6 +202,7 @@ + exit (1); + } + } ++#endif + + /* + * Read each line, separating the group name from the password. The +@@ -254,33 +262,33 @@ + errors++; + continue; + } +- if (is_shadow_pwd) +- sg = sgr_locate (name); +- else +- sg = NULL; ++#ifdef SHADOWGRP ++ sg = sgr_locate (name); ++#endif + + /* + * The freshly encrypted new password is merged into the + * user's password file entry and the last password change + * date is set to the current date. + */ +- if (sg) { +- newsg = *sg; +- newsg.sg_passwd = cp; +- } else { +- newgr = *gr; +- newgr.gr_passwd = cp; +- } ++#ifdef SHADOWGRP ++ newsg = *sg; ++ newsg.sg_passwd = cp; ++#else ++ newgr = *gr; ++ newgr.gr_passwd = cp; ++#endif + + /* + * The updated password file entry is then put back and will + * be written to the password file later, after all the + * other entries have been updated as well. + */ +- if (sg) ++#ifdef SHADOWGRP + ok = sgr_update (&newsg); +- else ++#else + ok = gr_update (&newgr); ++#endif + + if (!ok) { + fprintf (stderr, +@@ -302,12 +310,15 @@ + if (errors) { + fprintf (stderr, + _("%s: error detected, changes ignored\n"), Prog); +- if (is_shadow_pwd) ++#ifdef SHADOWGRP ++ if (is_shadow_grp) + sgr_unlock (); ++#endif + gr_unlock (); + exit (1); + } +- if (is_shadow_pwd) { ++#ifdef SHADOWGRP ++ if (is_shadow_grp) { + if (!sgr_close ()) { + fprintf (stderr, + _("%s: error updating shadow file\n"), Prog); +@@ -316,6 +327,7 @@ + } + sgr_unlock (); + } ++#endif + if (!gr_close ()) { + fprintf (stderr, _("%s: error updating password file\n"), Prog); + exit (1);
participants (1)
-
crux@crux.nu