summary refs log tree commit diff
diff options
context:
space:
mode:
authorArmijn Hemel <armijn@gpl-violations.org>2006-01-16 17:12:42 +0000
committerArmijn Hemel <armijn@gpl-violations.org>2006-01-16 17:12:42 +0000
commit488dc364284084f138d00eeb5dca462aa6bda2e9 (patch)
treec066cc3f273614840f22c61550676e321a43babb
parent43a679bab72a9fa7d4e591b457e4828a034c2f6f (diff)
downloadnixpkgs-488dc364284084f138d00eeb5dca462aa6bda2e9.tar
nixpkgs-488dc364284084f138d00eeb5dca462aa6bda2e9.tar.gz
nixpkgs-488dc364284084f138d00eeb5dca462aa6bda2e9.tar.bz2
nixpkgs-488dc364284084f138d00eeb5dca462aa6bda2e9.tar.lz
nixpkgs-488dc364284084f138d00eeb5dca462aa6bda2e9.tar.xz
nixpkgs-488dc364284084f138d00eeb5dca462aa6bda2e9.tar.zst
nixpkgs-488dc364284084f138d00eeb5dca462aa6bda2e9.zip
move kernelscripts to nixpkgs
svn path=/nixpkgs/trunk/; revision=4564
-rwxr-xr-xpkgs/os-specific/linux/kernelscripts/builder.sh15
-rw-r--r--pkgs/os-specific/linux/kernelscripts/default.nix9
-rw-r--r--pkgs/os-specific/linux/kernelscripts/kernel.nix6
-rwxr-xr-xpkgs/os-specific/linux/kernelscripts/make-kernel.sh49
4 files changed, 79 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/kernelscripts/builder.sh b/pkgs/os-specific/linux/kernelscripts/builder.sh
new file mode 100755
index 00000000000..54106d65b85
--- /dev/null
+++ b/pkgs/os-specific/linux/kernelscripts/builder.sh
@@ -0,0 +1,15 @@
+#! /bin/sh -e
+
+. $stdenv/setup
+
+mkdir $out
+mkdir $out/bin
+
+for i in $createModules; do
+    dst=$out/bin/$(basename $i | cut -c34-)
+    sed \
+        -e "s^@coreutils\@^$coreutils^g" \
+        -e "s^@nix\@^$nix^g" \
+        < $i > $dst
+    chmod +x $dst
+done
diff --git a/pkgs/os-specific/linux/kernelscripts/default.nix b/pkgs/os-specific/linux/kernelscripts/default.nix
new file mode 100644
index 00000000000..69d9f4e56de
--- /dev/null
+++ b/pkgs/os-specific/linux/kernelscripts/default.nix
@@ -0,0 +1,9 @@
+{ stdenv, coreutils, nix}:
+
+derivation {
+  name = "kernelscripts";
+  system = stdenv.system;
+  builder = ./builder.sh;
+  createModules = ./create-modules.sh;
+  inherit stdenv coreutils nix;
+}
diff --git a/pkgs/os-specific/linux/kernelscripts/kernel.nix b/pkgs/os-specific/linux/kernelscripts/kernel.nix
new file mode 100644
index 00000000000..3a799a5ea4d
--- /dev/null
+++ b/pkgs/os-specific/linux/kernelscripts/kernel.nix
@@ -0,0 +1,6 @@
+rec {
+  inherit (import /nixpkgs/trunk/pkgs/system/i686-linux.nix)
+    stdenv kernel ov511;
+
+  everything = [kernel ov511];
+}
diff --git a/pkgs/os-specific/linux/kernelscripts/make-kernel.sh b/pkgs/os-specific/linux/kernelscripts/make-kernel.sh
new file mode 100755
index 00000000000..14f006a0553
--- /dev/null
+++ b/pkgs/os-specific/linux/kernelscripts/make-kernel.sh
@@ -0,0 +1,49 @@
+#! /bin/sh -e
+
+archivesDir=$(mktemp -d)
+manifest=${archivesDir}/MANIFEST
+nixpkgs=/nixpkgs/trunk/pkgs
+fill_disk=$archivesDir/scripts/fill-disk.sh
+ramdisk_login=$archivesDir/scripts/ramdisk-login.sh
+storePaths=$archivesDir/mystorepaths
+validatePaths=$archivesDir/validatepaths
+bootiso=/tmp/nixos.iso
+initrd=/tmp/initram.img
+initdir=${archivesDir}/initdir
+initscript=$archivesDir/scripts/init.sh
+
+NIX_CMD_PATH=$(dirname $(which nix-store))
+cpwd=`pwd`
+
+storeExpr=$($NIX_CMD_PATH/nix-store -qR $($NIX_CMD_PATH/nix-store -r $(echo '(import ./kernel.nix).everything' | $NIX_CMD_PATH/nix-instantiate -)))
+
+kernel=$($NIX_CMD_PATH/nix-store -r $(echo '(import ./kernel.nix).kernel' | $NIX_CMD_PATH/nix-instantiate -))
+
+ov511=$($NIX_CMD_PATH/nix-store -r $(echo '(import ./kernel.nix).ov511' | $NIX_CMD_PATH/nix-instantiate -))
+
+echo $kernel
+echo $ov511
+
+echo making kernel stuff
+
+kernelVersion=$(cd $kernel/lib/modules/; ls -d *)
+mkdir -p $archivesDir/lib/modules/$kernelVersion
+
+echo $kernelVersion
+
+cd $kernel
+
+# make directories
+
+find . -not -path "./lib/modules/$kernelVersion/build*" -type d | xargs -n 1 -i% mkdir -p $archivesDir/%
+
+# link all files
+find . -not -path "./lib/modules/$kernelVersion/build*" -type f | xargs -n 1 -i% ln -s $kernel/% $archivesDir/%
+
+# make directories
+
+cd $ov511
+find . -not -path "./lib/modules/$kernelVersion/build*" -type d | xargs -n 1 -i% mkdir -p $archivesDir/%
+
+# link all files
+find . -not -path "./lib/modules/$kernelVersion/build*" -type f | xargs -n 1 -i% ln -s $ov511/% $archivesDir/%