summary refs log tree commit diff
path: root/pkgs/os-specific/linux/sysvinit
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/os-specific/linux/sysvinit')
-rw-r--r--pkgs/os-specific/linux/sysvinit/default.nix5
-rw-r--r--pkgs/os-specific/linux/sysvinit/sysvinit-2.85-exec.patch22
2 files changed, 4 insertions, 23 deletions
diff --git a/pkgs/os-specific/linux/sysvinit/default.nix b/pkgs/os-specific/linux/sysvinit/default.nix
index 4fa2a55367a..494098ec1d5 100644
--- a/pkgs/os-specific/linux/sysvinit/default.nix
+++ b/pkgs/os-specific/linux/sysvinit/default.nix
@@ -10,7 +10,10 @@ stdenv.mkDerivation {
     sha256 = "068mvzaz808a673zigyaqb63xc8bndh2klk16zi5c83rw70wifv0";
   };
   
-  patches = [ ./sysvinit-2.85-exec.patch ];
+  prePatch = ''
+    # Patch some minimal hard references, so halt/shutdown work
+    sed -i -e 's,/sbin/,$out/sbin/,' src/halt.c src/init.c src/paths.h
+  '';
 
   makeFlags = "SULOGINLIBS=-lcrypt ROOT=$(out) MANDIR=/share/man";
 
diff --git a/pkgs/os-specific/linux/sysvinit/sysvinit-2.85-exec.patch b/pkgs/os-specific/linux/sysvinit/sysvinit-2.85-exec.patch
deleted file mode 100644
index ef3d0f66b2f..00000000000
--- a/pkgs/os-specific/linux/sysvinit/sysvinit-2.85-exec.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -ruN sysvinit-2.85/src/halt.c sysvinit-2.85.new/src/halt.c
---- sysvinit-2.85/src/halt.c	2001-11-27 13:12:03.000000000 +0100
-+++ sysvinit-2.85.new/src/halt.c	2005-10-18 20:09:47.000000000 +0200
-@@ -53,6 +53,10 @@
- #define KERNEL_MONITOR	1 /* If halt() puts you into the kernel monitor. */
- #define RUNLVL_PICKY	0 /* Be picky about the runlevel */
- 
-+#ifndef EXEC_PATH
-+  #define EXEC_PATH "/sbin/shutdown"
-+#endif
-+
- extern int ifdown(void);
- extern int hddown(void);
- extern void write_wtmp(char *user, char *id, int pid, int type, char *line);
-@@ -139,7 +143,7 @@
- 	args[i++] = "now";
- 	args[i++] = NULL;
- 
--	execv("/sbin/shutdown", args);
-+	execv(EXEC_PATH, args);
- 	execv("/etc/shutdown", args);
- 	execv("/bin/shutdown", args);