diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2014-10-29 13:34:46 +0100 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2014-10-29 13:43:00 +0100 |
commit | 3b2177b7696c23df8d378c175a2db0ab81062106 (patch) | |
tree | 2f87f8ba0caf81fb8a0edeb4dff3bcb388d2c0a9 | |
parent | 423e923182d966e2315fdd405f1e0efbd1dcb18a (diff) | |
download | nixpkgs-3b2177b7696c23df8d378c175a2db0ab81062106.tar nixpkgs-3b2177b7696c23df8d378c175a2db0ab81062106.tar.gz nixpkgs-3b2177b7696c23df8d378c175a2db0ab81062106.tar.bz2 nixpkgs-3b2177b7696c23df8d378c175a2db0ab81062106.tar.lz nixpkgs-3b2177b7696c23df8d378c175a2db0ab81062106.tar.xz nixpkgs-3b2177b7696c23df8d378c175a2db0ab81062106.tar.zst nixpkgs-3b2177b7696c23df8d378c175a2db0ab81062106.zip |
busybox: Allow running from within the Nix store
This enables running the busybox program directly from the Nix store (i.e. as /nix/store/<hash>-busybox). We need this for the stdenv bootstrap.
-rw-r--r-- | pkgs/os-specific/linux/busybox/busybox-in-store.patch | 16 | ||||
-rw-r--r-- | pkgs/os-specific/linux/busybox/default.nix | 2 |
2 files changed, 18 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/busybox/busybox-in-store.patch b/pkgs/os-specific/linux/busybox/busybox-in-store.patch new file mode 100644 index 00000000000..ea245a49259 --- /dev/null +++ b/pkgs/os-specific/linux/busybox/busybox-in-store.patch @@ -0,0 +1,16 @@ +Allow BusyBox to be invoked as "<something>-busybox". This is +necessary when it's run from the Nix store as <hash>-busybox during +stdenv bootstrap. + +diff -ru -x '*~' busybox-1.22.1-orig/libbb/appletlib.c busybox-1.22.1/libbb/appletlib.c +--- busybox-1.22.1-orig/libbb/appletlib.c 2014-01-09 19:15:44.000000000 +0100 ++++ busybox-1.22.1/libbb/appletlib.c 2014-10-29 09:53:01.232052068 +0100 +@@ -764,7 +764,7 @@ + int applet = find_applet_by_name(name); + if (applet >= 0) + run_applet_no_and_exit(applet, argv); +- if (strncmp(name, "busybox", 7) == 0) ++ if (strstr(name, "busybox") != 0) + exit(busybox_main(argv)); + } + diff --git a/pkgs/os-specific/linux/busybox/default.nix b/pkgs/os-specific/linux/busybox/default.nix index da1d2dc2ed0..6073692c70a 100644 --- a/pkgs/os-specific/linux/busybox/default.nix +++ b/pkgs/os-specific/linux/busybox/default.nix @@ -28,6 +28,8 @@ stdenv.mkDerivation rec { sha256 = "12v7nri79v8gns3inmz4k24q7pcnwi00hybs0wddfkcy1afh42xf"; }; + patches = [ ./busybox-in-store.patch ]; + configurePhase = '' export KCONFIG_NOTIMESTAMP=1 make ${if enableMinimal then "allnoconfig" else "defconfig"} |