r1844 - crux-2.2/ports/core/shadow
Author: jw Date: 2006-09-08 17:15:18 +0200 (Fri, 08 Sep 2006) New Revision: 1844 Added: crux-2.2/ports/core/shadow/shadow-4.0.16-fix-useradd-usergroups.patch Removed: crux-2.2/ports/core/shadow/shadow-4.0.15-nflg-conflict.diff crux-2.2/ports/core/shadow/shadow-fix-useradd-usergroups.patch crux-2.2/ports/core/shadow/useradd-usergroup.diff Modified: crux-2.2/ports/core/shadow/.md5sum crux-2.2/ports/core/shadow/Pkgfile Log: shadow: merge patches Modified: crux-2.2/ports/core/shadow/.md5sum =================================================================== --- crux-2.2/ports/core/shadow/.md5sum 2006-09-08 15:14:35 UTC (rev 1843) +++ crux-2.2/ports/core/shadow/.md5sum 2006-09-08 15:15:18 UTC (rev 1844) @@ -1,7 +1,5 @@ 2b8c303d972cf6fb2a4545dd17262f27 login.defs be8f69c2701118093af3d7f3bc02af16 pwck -9e2f566e29068dc98e42ea94ac788200 shadow-4.0.15-nflg-conflict.diff +d58a29c9fa227f18545d8c43997dbb7d shadow-4.0.16-fix-useradd-usergroups.patch aa1259020b925cd3088cb7a36fbe7753 shadow-4.0.18.1-useradd-usermod.diff e7751d46ecf219c07ae0b028ab3335c6 shadow-4.0.18.1.tar.bz2 -a588e277ff49988f0e3787c5b327d10c shadow-fix-useradd-usergroups.patch -75161be083592e2e4e7f9cdcb7369bab useradd-usergroup.diff Modified: crux-2.2/ports/core/shadow/Pkgfile =================================================================== --- crux-2.2/ports/core/shadow/Pkgfile 2006-09-08 15:14:35 UTC (rev 1843) +++ crux-2.2/ports/core/shadow/Pkgfile 2006-09-08 15:15:18 UTC (rev 1844) @@ -5,20 +5,15 @@ name=shadow version=4.0.18.1 -release=3 +release=4 source=(ftp://ftp.pld.org.pl/software/shadow/$name-$version.tar.bz2 pwck login.defs - shadow-fix-useradd-usergroups.patch - shadow-4.0.15-nflg-conflict.diff - useradd-usergroup.diff + shadow-4.0.16-fix-useradd-usergroups.patch shadow-4.0.18.1-useradd-usermod.diff) build() { cd $name-$version - patch src/useradd.c $SRC/shadow-fix-useradd-usergroups.patch - patch src/useradd.c $SRC/shadow-4.0.15-nflg-conflict.diff - patch src/useradd.c $SRC/useradd-usergroup.diff - + patch -p0 < $SRC/shadow-4.0.16-fix-useradd-usergroups.patch patch -p1 < $SRC/shadow-4.0.18.1-useradd-usermod.diff ./configure --prefix=/usr \ Deleted: crux-2.2/ports/core/shadow/shadow-4.0.15-nflg-conflict.diff =================================================================== --- crux-2.2/ports/core/shadow/shadow-4.0.15-nflg-conflict.diff 2006-09-08 15:14:35 UTC (rev 1843) +++ crux-2.2/ports/core/shadow/shadow-4.0.15-nflg-conflict.diff 2006-09-08 15:15:18 UTC (rev 1844) @@ -1,28 +0,0 @@ ---- useradd.c.orig 2006-04-08 10:47:03.016040384 +0200 -+++ useradd.c 2006-04-08 11:17:09.218455880 +0200 -@@ -1214,6 +1214,16 @@ - usage (); - - /* -+ * Using -g and -n doesn't make sense -+ */ -+ if (nflg && gflg) { -+ fprintf(stderr, -+ _("%s: options -n and -g conflict and can't be used together\n"), -+ Prog); -+ exit (E_BAD_ARG); -+ } -+ -+ /* - * Either -D or username is required. Defaults can be set with -D - * for the -b, -e, -f, -g, -s options only. - */ -@@ -1778,7 +1788,7 @@ - - /* do we have to add a group for that user? This is why we need to - * open the group files in the open_files() function --gafton */ -- if (nflg && !gflg) { -+ if (nflg) { - find_new_gid (); - grp_add (); - } Added: crux-2.2/ports/core/shadow/shadow-4.0.16-fix-useradd-usergroups.patch =================================================================== --- crux-2.2/ports/core/shadow/shadow-4.0.16-fix-useradd-usergroups.patch (rev 0) +++ crux-2.2/ports/core/shadow/shadow-4.0.16-fix-useradd-usergroups.patch 2006-09-08 15:15:18 UTC (rev 1844) @@ -0,0 +1,108 @@ +Taken from + http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-apps/shadow/files/shadow-4.0.18.1-useradd-usermod.patch?rev=1.1&view=markup + +http://bugs.gentoo.org/128715 + +exact implementation details are still in discussion upstream, but this fixes +the behavior to not suck like current code + +Index: src/useradd.c +=================================================================== +RCS file: /cvsroot/shadow/src/useradd.c,v +retrieving revision 1.96 +diff -u -p -r1.96 useradd.c +--- src/useradd.c 30 May 2006 18:28:45 -0000 1.96 ++++ src/useradd.c 10 Jun 2006 22:13:32 -0000 +@@ -114,7 +114,7 @@ static int do_grp_update = 0; /* group f + static char *Prog; + + static int +- bflg = 0, /* new default root of home directory */ ++ bflg = 0, /* new default root of home directory */ + cflg = 0, /* comment (GECOS) field for new account */ + dflg = 0, /* home directory for new account */ + Dflg = 0, /* set/show new user default values */ +@@ -253,6 +253,12 @@ static void get_defaults (void) + const struct group *grp; + + /* ++ * Pull relevant settings from login.defs first. ++ */ ++ if (getdef_bool ("USERGROUPS_ENAB")) ++ nflg = -1; ++ ++ /* + * Open the defaults file for reading. + */ + +@@ -628,6 +634,8 @@ static void usage (void) + " -K, --key KEY=VALUE overrides /etc/login.defs defaults\n" + " -m, --create-home create home directory for the new user\n" + " account\n" ++ " -n, --user-group create a new group with the same name as the\n" ++ " new user\n" + " -o, --non-unique allow create user with duplicate\n" + " (non-unique) UID\n" + " -p, --password PASSWORD use encrypted password for the new user\n" +@@ -1009,6 +1017,7 @@ static void process_flags (int argc, cha + {"skel", required_argument, NULL, 'k'}, + {"key", required_argument, NULL, 'K'}, + {"create-home", no_argument, NULL, 'm'}, ++ {"user-group", no_argument, NULL, 'n'}, + {"non-unique", no_argument, NULL, 'o'}, + {"password", required_argument, NULL, 'p'}, + {"shell", required_argument, NULL, 's'}, +@@ -1016,7 +1025,7 @@ static void process_flags (int argc, cha + {NULL, 0, NULL, '\0'} + }; + while ((c = +- getopt_long (argc, argv, "b:c:d:De:f:g:G:k:K:mMop:s:u:", ++ getopt_long (argc, argv, "b:c:d:De:f:g:G:k:K:mMnop:s:u:", + long_options, NULL)) != -1) { + switch (c) { + case 'b': +@@ -1156,6 +1165,9 @@ static void process_flags (int argc, cha + case 'm': + mflg++; + break; ++ case 'n': ++ nflg = 1; ++ break; + case 'o': + oflg++; + break; +@@ -1203,6 +1215,16 @@ static void process_flags (int argc, cha + usage (); + + /* ++ * Using --gid and --user-group doesn't make sense. ++ */ ++ if (nflg == -1 && gflg) ++ nflg = 0; ++ if (nflg && gflg) { ++ fprintf (stderr, _("%s: options -g and -n conflict\n"), Prog); ++ exit (E_BAD_ARG); ++ } ++ ++ /* + * Either -D or username is required. Defaults can be set with -D + * for the -b, -e, -f, -g, -s options only. + */ +@@ -1725,7 +1747,7 @@ int main (int argc, char **argv) + * to that group, use useradd -g username username. + * --bero + */ +- if (!gflg) { ++ if (nflg) { + if (getgrnam (user_name)) { + fprintf (stderr, + _ +@@ -1759,7 +1781,7 @@ int main (int argc, char **argv) + + /* do we have to add a group for that user? This is why we need to + * open the group files in the open_files() function --gafton */ +- if (!(nflg || gflg)) { ++ if (nflg) { + find_new_gid (); + grp_add (); + } Deleted: crux-2.2/ports/core/shadow/shadow-fix-useradd-usergroups.patch =================================================================== --- crux-2.2/ports/core/shadow/shadow-fix-useradd-usergroups.patch 2006-09-08 15:14:35 UTC (rev 1843) +++ crux-2.2/ports/core/shadow/shadow-fix-useradd-usergroups.patch 2006-09-08 15:15:18 UTC (rev 1844) @@ -1,73 +0,0 @@ -2006-04-07 Mike Frysinger <vapier@gentoo.org> - - * src/useradd.c: Actually utilize the nflg by adding an -n option for the - user and by setting to USERGROUPS_ENAB from login.defs. Also fix the logic - for when the user group actually needs to be added. - ---- src/useradd.c -+++ src/useradd.c -@@ -114,7 +114,7 @@ static int do_grp_update = 0; /* group f - static char *Prog; - - static int -- bflg = 0, /* new default root of home directory */ -+ bflg = 0, /* new default root of home directory */ - cflg = 0, /* comment (GECOS) field for new account */ - dflg = 0, /* home directory for new account */ - Dflg = 0, /* set/show new user default values */ -@@ -253,6 +253,10 @@ static void get_defaults (void) - const struct group *grp; - - /* -+ * Pull relevant settings from login.defs first. -+ */ -+ nflg = getdef_bool ("USERGROUPS_ENAB"); -+ /* - * Open the defaults file for reading. - */ - -@@ -628,6 +633,8 @@ static void usage (void) - " -K, --key KEY=VALUE overrides /etc/login.defs defaults\n" - " -m, --create-home create home directory for the new user\n" - " account\n" -+ " -n, --user-group create a new group with the same name as the\n" -+ " new user\n" - " -o, --non-unique allow create user with duplicate\n" - " (non-unique) UID\n" - " -p, --password PASSWORD use encrypted password for the new user\n" -@@ -1009,6 +1016,7 @@ static void process_flags (int argc, cha - {"skel", required_argument, NULL, 'k'}, - {"key", required_argument, NULL, 'K'}, - {"create-home", no_argument, NULL, 'm'}, -+ {"user-group", no_argument, NULL, 'n'}, - {"non-unique", no_argument, NULL, 'o'}, - {"password", required_argument, NULL, 'p'}, - {"shell", required_argument, NULL, 's'}, -@@ -1016,7 +1024,7 @@ static void process_flags (int argc, cha - {NULL, 0, NULL, '\0'} - }; - while ((c = -- getopt_long (argc, argv, "b:c:d:De:f:g:G:k:K:mMop:s:u:", -+ getopt_long (argc, argv, "b:c:d:De:f:g:G:k:K:mMnop:s:u:", - long_options, NULL)) != -1) { - switch (c) { - case 'b': -@@ -1156,6 +1164,9 @@ static void process_flags (int argc, cha - case 'm': - mflg++; - break; -+ case 'n': -+ nflg++; -+ break; - case 'o': - oflg++; - break; -@@ -1767,7 +1778,7 @@ int main (int argc, char **argv) - - /* do we have to add a group for that user? This is why we need to - * open the group files in the open_files() function --gafton */ -- if (!(nflg || gflg)) { -+ if (nflg && !gflg) { - find_new_gid (); - grp_add (); - } Deleted: crux-2.2/ports/core/shadow/useradd-usergroup.diff =================================================================== --- crux-2.2/ports/core/shadow/useradd-usergroup.diff 2006-09-08 15:14:35 UTC (rev 1843) +++ crux-2.2/ports/core/shadow/useradd-usergroup.diff 2006-09-08 15:15:18 UTC (rev 1844) @@ -1,11 +0,0 @@ ---- useradd.c-r1.92 2006-04-12 10:58:55.000000000 +0200 -+++ useradd.c 2006-04-12 11:05:03.000000000 +0200 -@@ -1733,7 +1733,7 @@ - * to that group, use useradd -g username username. - * --bero - */ -- if (!gflg) { -+ if (nflg) { - if (getgrnam (user_name)) { - fprintf (stderr, - _
participants (1)
-
crux@crux.nu