diff --git a/ChangeLog b/ChangeLog index a50308a2..ab59d79c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2011-10-31 Nicolas François + + * NEWS, src/pwck.c, man/pwck.8.xm, src/grpck.c, man/grpck.8.xml: + Add --root option. + 2011-10-31 Nicolas François * man/limits.5.xml, libmisc/limits.c: Sort limit identifiers. diff --git a/NEWS b/NEWS index fd0f1c9c..267196fa 100644 --- a/NEWS +++ b/NEWS @@ -56,6 +56,7 @@ shadow-4.1.4.3 -> shadow-4.1.5 UNRELEASED shadow entry. * Add --root option. - grpck + * Add --root option. * NIS entries were dropped by -s (sort). - grpconv * Add --root option. @@ -79,6 +80,7 @@ shadow-4.1.4.3 -> shadow-4.1.5 UNRELEASED * Add --root option. - pwpck * NIS entries were dropped by -s (sort). + * Add --root option. - pwconv * Add --root option. - pwunconv diff --git a/man/grpck.8.xml b/man/grpck.8.xml index eb6355a3..162d0771 100644 --- a/man/grpck.8.xml +++ b/man/grpck.8.xml @@ -150,6 +150,19 @@ + + + , + CHROOT_DIR + + + + Apply changes in the CHROOT_DIR + directory and use the configuration files from the + CHROOT_DIR directory. + + + , diff --git a/man/pwck.8.xml b/man/pwck.8.xml index bf617674..1fa6808a 100644 --- a/man/pwck.8.xml +++ b/man/pwck.8.xml @@ -186,6 +186,19 @@ + + + , + CHROOT_DIR + + + + Apply changes in the CHROOT_DIR + directory and use the configuration files from the + CHROOT_DIR directory. + + + , diff --git a/src/grpck.c b/src/grpck.c index ee306b47..9d1ed903 100644 --- a/src/grpck.c +++ b/src/grpck.c @@ -155,6 +155,7 @@ static /*@noreturn@*/void usage (int status) (void) fputs (_(" -h, --help display this help message and exit\n"), usageout); (void) fputs (_(" -r, --read-only display errors and warnings\n" " but do not change files\n"), usageout); + (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), usageout); (void) fputs (_(" -s, --sort sort entries by UID\n"), usageout); (void) fputs ("\n", usageout); exit (status); @@ -191,17 +192,18 @@ static void process_flags (int argc, char **argv) { int c; static struct option long_options[] = { - {"help", no_argument, NULL, 'h'}, - {"quiet", no_argument, NULL, 'q'}, - {"read-only", no_argument, NULL, 'r'}, - {"sort", no_argument, NULL, 's'}, + {"help", no_argument, NULL, 'h'}, + {"quiet", no_argument, NULL, 'q'}, + {"read-only", no_argument, NULL, 'r'}, + {"root", required_argument, NULL, 'R'}, + {"sort", no_argument, NULL, 's'}, {NULL, 0, NULL, '\0'} }; /* * Parse the command line arguments */ - while ((c = getopt_long (argc, argv, "hqrs", + while ((c = getopt_long (argc, argv, "hqrR:s", long_options, NULL)) != -1) { switch (c) { case 'h': @@ -213,6 +215,8 @@ static void process_flags (int argc, char **argv) case 'r': read_only = true; break; + case 'R': /* no-op, handled in process_root_flag () */ + break; case 's': sort_mode = true; break; @@ -836,6 +840,8 @@ int main (int argc, char **argv) (void) bindtextdomain (PACKAGE, LOCALEDIR); (void) textdomain (PACKAGE); + process_root_flag ("-R", argc, argv); + OPENLOG ("grpck"); /* Parse the command line arguments */ diff --git a/src/pwck.c b/src/pwck.c index c70edc0a..2caf2ee3 100644 --- a/src/pwck.c +++ b/src/pwck.c @@ -152,6 +152,7 @@ static /*@noreturn@*/void usage (int status) (void) fputs (_(" -q, --quiet report errors only\n"), usageout); (void) fputs (_(" -r, --read-only display errors and warnings\n" " but do not change files\n"), usageout); + (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), usageout); #ifdef WITH_TCB if (!getdef_bool ("USE_TCB")) { #endif /* !WITH_TCB */ @@ -171,17 +172,18 @@ static void process_flags (int argc, char **argv) { int c; static struct option long_options[] = { - {"help", no_argument, NULL, 'h'}, - {"quiet", no_argument, NULL, 'q'}, - {"read-only", no_argument, NULL, 'r'}, - {"sort", no_argument, NULL, 's'}, + {"help", no_argument, NULL, 'h'}, + {"quiet", no_argument, NULL, 'q'}, + {"read-only", no_argument, NULL, 'r'}, + {"root", required_argument, NULL, 'R'}, + {"sort", no_argument, NULL, 's'}, {NULL, 0, NULL, '\0'} }; /* * Parse the command line arguments */ - while ((c = getopt_long (argc, argv, "ehqrs", + while ((c = getopt_long (argc, argv, "ehqrR:s", long_options, NULL)) != -1) { switch (c) { case 'h': @@ -194,6 +196,8 @@ static void process_flags (int argc, char **argv) case 'r': read_only = true; break; + case 'R': /* no-op, handled in process_root_flag () */ + break; case 's': sort_mode = true; break; @@ -835,6 +839,8 @@ int main (int argc, char **argv) (void) bindtextdomain (PACKAGE, LOCALEDIR); (void) textdomain (PACKAGE); + process_root_flag ("-R", argc, argv); + OPENLOG ("pwck"); /* Parse the command line arguments */