--- /dev/null
+--- sysvinit-2.78/src/md5.h.foo Thu Jun 8 15:58:56 2000
++++ sysvinit-2.78/src/md5.h Thu Jun 8 16:00:01 2000
+@@ -2,11 +2,11 @@
+ #define MD5_H
+
+ #include <features.h>
+-#if defined(__GLIBC__) && __GLIBC__ > 1
++#if defined(__GLIBC__) && __GLIBC__ > 1 && __GLIBC_MINOR__ > 0
+ # include <stdint.h>
+ typedef uint32_t uint32;
+ #else
+-# ifdef __alpha
++# if defined(__alpha__) || defined(__ia64__)
+ typedef unsigned int uint32;
+ # else
+ typedef unsigned long uint32;
+--- sysvinit-2.78/src/Makefile.foo Thu Jun 8 16:04:18 2000
++++ sysvinit-2.78/src/Makefile Thu Jun 8 16:04:38 2000
+@@ -25,6 +25,7 @@
+ BIN_GROUP = root
+ BIN_COMBO = $(BIN_OWNER).$(BIN_GROUP)
+ INSTALL = install -o $(BIN_OWNER) -g $(BIN_GROUP)
++MANDIR = /usr/share/man
+
+ # Additional libs for Gnu Libc
+ ifneq ($(wildcard /usr/lib/libcrypt.a),)
+@@ -104,13 +105,13 @@
+ cd $(ROOT)/bin; ln -sf ../sbin/killall5 pidof; chown $(BIN_COMBO) pidof
+ cd $(ROOT)/usr/bin; ln -sf last lastb; chown $(BIN_COMBO) lastb
+ $(INSTALL) -m 644 initreq.h $(ROOT)/usr/include
+- $(INSTALL) -m 644 ../man/*.8 $(ROOT)/usr/share/man/man8
+- $(INSTALL) -m 644 ../man/*.5 $(ROOT)/usr/share/man/man5
++ $(INSTALL) -m 644 ../man/*.8 $(ROOT)$(MANDIR)/man8
++ $(INSTALL) -m 644 ../man/*.5 $(ROOT)$(MANDIR)/man5
+ ifeq ($(DEBIAN),)
+- $(INSTALL) -m 644 ../man/wall.1 $(ROOT)/usr/share/man/man1
++ $(INSTALL) -m 644 ../man/wall.1 $(ROOT)$(MANDIR)/man1
+ endif
+ $(INSTALL) -m 644 ../man/last.1 ../man/lastb.1 ../man/mesg.1 \
+- $(ROOT)/usr/share/man/man1
++ $(ROOT)$(MANDIR)/man1
+ #
+ # This part is skipped on debian systems, the
+ # debian.preinst script takes care of it.
--- /dev/null
+--- sysvinit-2.78/src/halt.c.halt Wed Apr 19 15:48:23 2000
++++ sysvinit-2.78/src/halt.c Wed Apr 19 15:55:03 2000
+@@ -218,8 +218,19 @@
+ * See if we are in runlevel 0 or 6.
+ */
+ c = get_runlevel();
+- if (c != '0' && c != '6')
++ if (c != '0' && c != '6') {
++ char *file;
++
++ if (do_poweroff) {
++ file = strdup("/poweroff");
++ } else {
++ file = strdup("/halt");
++ }
++ close(open(file, O_CREAT|O_RDWR, 0644));
++ free(file);
++
+ do_shutdown(do_reboot ? "-r" : "-h", tm);
++ }
+ }
+
+ /*
--- /dev/null
+--- sysvinit-2.78/src/sulogin.c.sigint Wed Apr 19 12:25:18 2000
++++ sysvinit-2.78/src/sulogin.c Wed Apr 19 12:26:25 2000
+@@ -312,6 +312,8 @@
+ * Try to execute a shell.
+ */
+ setenv("SHELL", sushell, 1);
++ signal(SIGINT, SIG_DFL);
++ signal(SIGTSTP, SIG_DFL);
+ execl(sushell, shell, NULL);
+ perror(sushell);
+
+@@ -358,6 +360,8 @@
+ /*
+ * See if we need to open an other tty device.
+ */
++ signal(SIGINT, SIG_IGN);
++ signal(SIGTSTP, SIG_IGN);
+ if (optind < argc) tty = argv[optind];
+ if (tty) {
+ if ((fd = open(tty, O_RDWR)) >= 0) {