Hello, Here's a patch to enable --help on /hurd/init. Now users can run /hurd/init --help and actually get information on what this translator is supposed to do.
Instead of the user seeing: $ /hurd/init --help /hurd/init: can only be run by bootstrap filesystem The user now sees: $ /hurd/init --help Usage: init [OPTION...] Start and maintain hurd core servers and system run state -d, --debug -f, --fake-boot This hurd hasn't been booted on the raw machine -H, --crash-debug On system crash, go to kernel debugger -n, --init-name -q, --query Ask for the names of servers to start -s, --single-user Startup system in single-user mode -?, --help Give this help list --usage Give a short usage message -V, --version Print program version Report bugs to <bug-hurd@gnu.org>. Please commit the attached patch! Ben * init.c (main): Only pass ARGP_NO_ERRS to argp_parse when invoked by the bootstrap filesystem. (flags): New variable. diff -u -N -r -p hurd.orig/init/init.c hurd/init/init.c --- hurd.orig/init/init.c 2005-02-23 04:43:40.000000000 -0500 +++ hurd/init/init.c 2005-02-23 09:44:36.000000000 -0500 @@ -529,13 +529,18 @@ main (int argc, char **argv, char **envp { volatile int err; int i; + int flags; mach_port_t consdev; struct argp argp = { options, parse_opt, 0, doc }; + flags = ARGP_IN_ORDER; + if (getpid () == 0) + flags |= ARGP_NO_ERRS; + /* Parse the arguments. We don't want the vector reordered, we should pass on to our child the exact arguments we got and just ignore any arguments that aren't flags for us. */ - argp_parse (&argp, argc, argv, ARGP_NO_ERRS|ARGP_IN_ORDER, 0, 0); + argp_parse (&argp, argc, argv, flags, 0, 0); if (getpid () > 0) error (2, 0, "can only be run by bootstrap filesystem"); _______________________________________________ Bug-hurd mailing list Bug-hurd@gnu.org http://lists.gnu.org/mailman/listinfo/bug-hurd