This patch makes it so that configure time settings (like --libexecdir,
--bindir, etc).

In the default configuration the only difference is that includedir =
$(exec_prefix)/include becomes ${prefix}/include

2004-01-26  Jeff Bailey  <[EMAIL PROTECTED]>

        * Makeconf (CPPFLAGS): Add -DLIBEXECDIR

        * config.make.in (hurddir): Use ${exec_prefix} instead of
        $(exec_prefix)
        (bootdir): Likewise
        (libdir): Get definition from autoconf
        (bindir): Likewise
        (sbindir): Likewise
        (includedir): Likewise
        (libexecdir): Likewise
        (infodir): Likewise
        (sysconfdir): Likewise
        (localstatedir): Likewise
        (sharedstatedir): Likewise

        daemons/Makefile: Generate runsystem.sh from runsystem.in
        (runsystem.sh): sed in libexecdir.
        daemons/runsystem.sh: Renamed to ...
        daemons/runsystem.sh.in: ... this.  Replace "/libexec" with
        @libexecdir@

        init/init.c: Replace "/libexec" with LIBEXECDIR.


? daemons/runsystem.sh.in
Index: Makeconf
===================================================================
RCS file: /cvsroot/hurd/hurd/Makeconf,v
retrieving revision 1.206
diff -u -p -r1.206 Makeconf
--- Makeconf    10 Oct 2003 10:04:05 -0000      1.206
+++ Makeconf    26 Jan 2004 22:59:55 -0000
@@ -63,6 +63,7 @@ INCLUDES += -I.. $(top_srcdirinc)
 endif
 INCLUDES += -I$(..)include -I$(top_srcdir)/include
 CPPFLAGS += $(INCLUDES) \
+             -DLIBEXECDIR=\"${libexecdir}\" \
             -D_GNU_SOURCE -D_IO_MTSAFE_IO -D_FILE_OFFSET_BITS=64 \
            $($*-CPPFLAGS)
 CFLAGS += -std=gnu99 -Wall -g -O3
Index: config.make.in
===================================================================
RCS file: /cvsroot/hurd/hurd/config.make.in,v
retrieving revision 1.16
diff -u -p -r1.16 config.make.in
--- config.make.in      22 Aug 2002 21:25:03 -0000      1.16
+++ config.make.in      26 Jan 2004 22:59:55 -0000
@@ -15,17 +15,17 @@ prefix = @prefix@
 exec_prefix = @exec_prefix@
 
 # Directories where things get installed.
-hurddir = $(exec_prefix)/hurd
-libdir = $(exec_prefix)/lib
-bindir = $(exec_prefix)/bin
-sbindir = $(exec_prefix)/sbin
-includedir = $(exec_prefix)/include
-libexecdir = $(exec_prefix)/libexec
-bootdir = $(exec_prefix)/boot
-infodir = $(prefix)/info
-sysconfdir = $(prefix)/etc
-localstatedir = $(prefix)/var
-sharedstatedir = $(prefix)/com
+hurddir = ${exec_prefix}/hurd
+libdir = @libdir@
+bindir = @bindir@
+sbindir = @sbindir@
+includedir = @includedir@
+libexecdir = @libexecdir@
+bootdir = ${exec_prefix}/boot
+infodir = @infodir@
+sysconfdir = @sysconfdir@
+localstatedir = @localstatedir@
+sharedstatedir = @sharedstatedir@
 
 # All of those directories together:
 installationdirlist = $(hurddir) $(libdir) $(bindir) $(sbindir) \
Index: daemons/Makefile
===================================================================
RCS file: /cvsroot/hurd/hurd/daemons/Makefile,v
retrieving revision 1.11
diff -u -p -r1.11 Makefile
--- daemons/Makefile    18 Jun 1999 22:04:43 -0000      1.11
+++ daemons/Makefile    26 Jan 2004 22:59:55 -0000
@@ -42,3 +42,6 @@ runttys: runttys.o
 runttys-LDLIBS = -lutil
 
 runsystem: runsystem.sh
+
+runsystem.sh: runsystem.sh.in
+       sed -e '[EMAIL PROTECTED]@#${libexecdir}#g' $< >$@
Index: init/init.c
===================================================================
RCS file: /cvsroot/hurd/hurd/init/init.c,v
retrieving revision 1.129
diff -u -p -r1.129 init.c
--- init/init.c 8 May 2002 09:20:38 -0000       1.129
+++ init/init.c 26 Jan 2004 22:59:55 -0000
@@ -1010,7 +1010,7 @@ start_child (const char *prog, char **pr
 
   if (progargs == 0)
     {
-      const char *argv[] = { "/libexec/console-run", prog, 0 };
+      const char *argv[] = { LIBEXECDIR "/console-run", prog, 0 };
       err = argz_create ((char **) argv, &args, &arglen);
     }
   else
@@ -1020,7 +1020,7 @@ start_child (const char *prog, char **pr
        ++argc;
       {
        const char *argv[2 + argc + 1];
-       argv[0] = "/libexec/console-run";
+       argv[0] = LIBEXECDIR "/console-run";
        argv[1] = prog;
        argv[2 + argc] = 0;
        while (argc-- > 0)
@@ -1079,7 +1079,7 @@ launch_something (const char *why)
   static unsigned int try;
   static const char *const tries[] =
   {
-    "/libexec/runsystem",
+    LIBEXECDIR "/runsystem",
     _PATH_BSHELL,
     "/bin/shd",                        /* XXX */
   };
--- /dev/null   1969-12-31 19:00:00.000000000 -0500
+++ runsystem.sh.in     2004-01-26 17:27:07.000000000 -0500
@@ -0,0 +1,140 @@
+#!/bin/bash
+#
+# This program is run by /hurd/init at boot time after the essential
+# servers are up, and is responsible for running the "userland" parts of a
+# normal system.  This includes running the single-user shell as well as a
+# multi-user system.  This program is expected never to exit.
+#
+
+
+###
+### Where to find programs, etc.
+###
+
+PATH=/bin:/sbin
+export PATH
+
+# If we lose badly, try to exec each of these in turn.
+fallback_shells='/bin/sh /bin/bash /bin/csh /bin/ash /bin/shd'
+
+# Shell used for normal single-user startup.
+SHELL=/bin/sh
+
+# Programs that do multi-user startup.
[EMAIL PROTECTED]@/rc
[EMAIL PROTECTED]@/runttys
+# Signals that we should pass down to runttys.
+runttys_sigs='TERM INT HUP TSTP'
+
+###
+
+
+# If we get a SIGLOST, attempt to reopen the console in case
+# our console ports were revoked.  This lets us print messages.
+function reopen_console ()
+{
+  exec 1>/dev/console 2>&1 || exit 3
+}
+trap 'reopen_console' SIGLOST
+
+
+# Call this when we are losing badly enough that we want to punt normal
+# startup entirely.  We exec a single-user shell, so we will not come back
+# here.  The only way to get to multi-user from that shell will be
+# explicitly exec this script or something like that.
+function singleuser ()
+{
+  test $# -eq 0 || echo "$0: $*"
+  for try in ${fallback_shells}; do
+    SHELL=${try}
+    exec ${SHELL}
+  done
+  exit 127
+}
+
+
+# We expect to be started by console-run, which gives us no arguments and
+# puts FALLBACK_CONSOLE=file-name in the environment if our console is
+# other than a normal /dev/console.
+
+if [ "${FALLBACK_CONSOLE+set}" = set ]; then
+  singleuser "Running on fallback console ${FALLBACK_CONSOLE}"
+fi
+
+
+###
+### Normal startup procedures
+###
+
+# Parse the multiboot command line.  We only pay attention to -s and -f.
+# The first argument is the kernel file name; skip that.
+shift
+flags=
+while [ $# -gt 0 ]; do
+  arg="$1"
+  shift
+  case "$arg" in
+  --*) ;;
+  *=*) ;;
+  -*)
+    flags="${flags}${arg#-}"
+    ;;
+  'single'|'emergency') # Linux compat
+    flags="${flags}s"
+    ;;
+  'fastboot')
+    flags="${flags}f"
+    ;;
+  esac
+done
+
+# Check boot flags.
+case "$flags" in
+*s*)
+  rc=false                     # force single-user
+  ;;
+*f*)
+  rc="${RUNCOM}"               # fastboot
+  ;;
+*)
+  rc="${RUNCOM} autoboot"      # multi-user default
+  ;;
+esac
+
+# Large infinite loop.  If this script ever exits, init considers that
+# a serious bogosity and punts to a fallback single-user shell.
+# We handle here the normal transitions between single-user and multi-user.
+while : ; do
+
+  # Run the rc script.  As long as it exits nonzero, punt to single-user.
+  # After the single-user shell exits, we will start over attempting to
+  # run rc; but later invocations strip the `autoboot' argument.
+  until $rc; do
+    rc=${RUNCOM}
+
+    # Run single-user shell and repeat as long as it dies with a signal.
+    until ${SHELL} || test $? -lt 128; do
+      :
+    done
+  done
+
+  # Now we are officially ready for normal multi-user operation.
+
+  # Trap certain signals and send them on to runttys.  For this to work, we
+  # must run it asynchronously and wait for it with the `wait' built-in.
+  runttys_pid=0
+  for sig in $runttys_sigs; do
+    trap "kill -$sig \${runttys_pid}" $sig
+  done
+
+  # This program reads /etc/ttys and starts the programs it says to.
+  ${RUNTTYS} &
+  runttys_pid=$!
+
+  # Wait for runttys to die, meanwhile handling trapped signals.
+  wait
+
+  # Go back to the top of the infinite loop, as if booting single-user.
+  rc=false
+
+done
--- runsystem.sh.in     2004-01-26 17:27:07.000000000 -0500
+++ /dev/null   1969-12-31 19:00:00.000000000 -0500
@@ -1,140 +0,0 @@
-#!/bin/bash
-#
-# This program is run by /hurd/init at boot time after the essential
-# servers are up, and is responsible for running the "userland" parts of a
-# normal system.  This includes running the single-user shell as well as a
-# multi-user system.  This program is expected never to exit.
-#
-
-
-###
-### Where to find programs, etc.
-###
-
-PATH=/bin:/sbin
-export PATH
-
-# If we lose badly, try to exec each of these in turn.
-fallback_shells='/bin/sh /bin/bash /bin/csh /bin/ash /bin/shd'
-
-# Shell used for normal single-user startup.
-SHELL=/bin/sh
-
-# Programs that do multi-user startup.
[EMAIL PROTECTED]@/rc
[EMAIL PROTECTED]@/runttys
-# Signals that we should pass down to runttys.
-runttys_sigs='TERM INT HUP TSTP'
-
-###
-
-
-# If we get a SIGLOST, attempt to reopen the console in case
-# our console ports were revoked.  This lets us print messages.
-function reopen_console ()
-{
-  exec 1>/dev/console 2>&1 || exit 3
-}
-trap 'reopen_console' SIGLOST
-
-
-# Call this when we are losing badly enough that we want to punt normal
-# startup entirely.  We exec a single-user shell, so we will not come back
-# here.  The only way to get to multi-user from that shell will be
-# explicitly exec this script or something like that.
-function singleuser ()
-{
-  test $# -eq 0 || echo "$0: $*"
-  for try in ${fallback_shells}; do
-    SHELL=${try}
-    exec ${SHELL}
-  done
-  exit 127
-}
-
-
-# We expect to be started by console-run, which gives us no arguments and
-# puts FALLBACK_CONSOLE=file-name in the environment if our console is
-# other than a normal /dev/console.
-
-if [ "${FALLBACK_CONSOLE+set}" = set ]; then
-  singleuser "Running on fallback console ${FALLBACK_CONSOLE}"
-fi
-
-
-###
-### Normal startup procedures
-###
-
-# Parse the multiboot command line.  We only pay attention to -s and -f.
-# The first argument is the kernel file name; skip that.
-shift
-flags=
-while [ $# -gt 0 ]; do
-  arg="$1"
-  shift
-  case "$arg" in
-  --*) ;;
-  *=*) ;;
-  -*)
-    flags="${flags}${arg#-}"
-    ;;
-  'single'|'emergency') # Linux compat
-    flags="${flags}s"
-    ;;
-  'fastboot')
-    flags="${flags}f"
-    ;;
-  esac
-done
-
-# Check boot flags.
-case "$flags" in
-*s*)
-  rc=false                     # force single-user
-  ;;
-*f*)
-  rc="${RUNCOM}"               # fastboot
-  ;;
-*)
-  rc="${RUNCOM} autoboot"      # multi-user default
-  ;;
-esac
-
-# Large infinite loop.  If this script ever exits, init considers that
-# a serious bogosity and punts to a fallback single-user shell.
-# We handle here the normal transitions between single-user and multi-user.
-while : ; do
-
-  # Run the rc script.  As long as it exits nonzero, punt to single-user.
-  # After the single-user shell exits, we will start over attempting to
-  # run rc; but later invocations strip the `autoboot' argument.
-  until $rc; do
-    rc=${RUNCOM}
-
-    # Run single-user shell and repeat as long as it dies with a signal.
-    until ${SHELL} || test $? -lt 128; do
-      :
-    done
-  done
-
-  # Now we are officially ready for normal multi-user operation.
-
-  # Trap certain signals and send them on to runttys.  For this to work, we
-  # must run it asynchronously and wait for it with the `wait' built-in.
-  runttys_pid=0
-  for sig in $runttys_sigs; do
-    trap "kill -$sig \${runttys_pid}" $sig
-  done
-
-  # This program reads /etc/ttys and starts the programs it says to.
-  ${RUNTTYS} &
-  runttys_pid=$!
-
-  # Wait for runttys to die, meanwhile handling trapped signals.
-  wait
-
-  # Go back to the top of the infinite loop, as if booting single-user.
-  rc=false
-
-done
_______________________________________________
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd

Reply via email to