Author: eelco
Date: Mon Sep 13 18:19:15 2010
New Revision: 23770
URL: https://svn.nixos.org/websvn/nix/?rev=23770&sc=1
Log:
* In the activation script, don't require the path to the "system"
derivation on the command line.
Modified:
nixos/trunk/modules/system/activation/activation-script.nix
nixos/trunk/modules/system/activation/top-level.nix
nixos/trunk/modules/system/boot/stage-2-init.sh
nixos/trunk/modules/system/boot/stage-2.nix
nixos/trunk/modules/system/etc/etc.nix
nixos/trunk/modules/testing/test-instrumentation.nix
Modified: nixos/trunk/modules/system/activation/activation-script.nix
==============================================================================
--- nixos/trunk/modules/system/activation/activation-script.nix Mon Sep 13
17:36:01 2010 (r23769)
+++ nixos/trunk/modules/system/activation/activation-script.nix Mon Sep 13
18:19:15 2010 (r23770)
@@ -51,15 +51,17 @@
merge = mergeTypedOption "script" builtins.isAttrs (fold mergeAttrs {});
apply = set: {
- script = pkgs.writeScript "nixos-activation-script"
+ script =
''
#! ${pkgs.stdenv.shell}
+ systemconf...@out@
+
export PATH=/empty
for i in ${toString path}; do
PATH=$PATH:$i/bin:$i/sbin;
done
-
+
${
let
set' = mapAttrs (n: v: if builtins.isString v then noDepEntry
v else v) set;
@@ -87,14 +89,6 @@
config = {
- system.activationScripts.systemConfig =
- ''
- systemConfig="$1"
- if test -z "$systemConfig"; then
- systemConfig="/system" # for the installation CD
- fi
- '';
-
system.activationScripts.stdio =
''
# Needed by some programs.
Modified: nixos/trunk/modules/system/activation/top-level.nix
==============================================================================
--- nixos/trunk/modules/system/activation/top-level.nix Mon Sep 13 17:36:01
2010 (r23769)
+++ nixos/trunk/modules/system/activation/top-level.nix Mon Sep 13 18:19:15
2010 (r23770)
@@ -102,9 +102,15 @@
if [ -n "$grub" ]; then
ln -s $grub $out/grub
fi
+
ln -s ${config.system.build.bootStage2} $out/init
ln -s ${config.system.build.initialRamdisk}/initrd $out/initrd
- ln -s ${config.system.activationScripts.script} $out/activate
+
+ echo "$activationScript" > $out/activate
+ substituteInPlace $out/activate --subst-var out
+ chmod u+x $out/activate
+ unset activationScript
+
ln -s ${config.system.build.etc}/etc $out/etc
ln -s ${config.system.path} $out/sw
ln -s ${config.system.build.upstart} $out/upstart
@@ -116,7 +122,7 @@
mkdir $out/fine-tune
childCount=0;
- for i in $children; do
+ for i in $children; do
childCount=$(( childCount + 1 ));
ln -s $i $out/fine-tune/child-$childCount;
done
@@ -142,6 +148,7 @@
config.boot.kernelParams ++ config.boot.extraKernelParams;
menuBuilder = config.system.build.menuBuilder;
initScriptBuilder = config.system.build.initScriptBuilder;
+ activationScript = config.system.activationScripts.script;
# Most of these are needed by grub-install.
path = [
pkgs.coreutils
Modified: nixos/trunk/modules/system/boot/stage-2-init.sh
==============================================================================
--- nixos/trunk/modules/system/boot/stage-2-init.sh Mon Sep 13 17:36:01
2010 (r23769)
+++ nixos/trunk/modules/system/boot/stage-2-init.sh Mon Sep 13 18:19:15
2010 (r23770)
@@ -153,7 +153,7 @@
# Run the script that performs all configuration activation that does
# not have to be done at boot time.
echo "running activation script..."
-...@activateconfiguration@ "$systemConfig"
+"$systemConfig"/activate
# Record the boot configuration.
Modified: nixos/trunk/modules/system/boot/stage-2.nix
==============================================================================
--- nixos/trunk/modules/system/boot/stage-2.nix Mon Sep 13 17:36:01 2010
(r23769)
+++ nixos/trunk/modules/system/boot/stage-2.nix Mon Sep 13 18:19:15 2010
(r23770)
@@ -43,7 +43,7 @@
bootStage2 = substituteAll {
src = ./stage-2-init.sh;
isExecutable = true;
- inherit kernel activateConfiguration;
+ inherit kernel;
inherit (config.boot) devShmSize;
ttyGid = config.ids.gids.tty;
upstart = config.system.build.upstart;
Modified: nixos/trunk/modules/system/etc/etc.nix
==============================================================================
--- nixos/trunk/modules/system/etc/etc.nix Mon Sep 13 17:36:01 2010
(r23769)
+++ nixos/trunk/modules/system/etc/etc.nix Mon Sep 13 18:19:15 2010
(r23770)
@@ -55,7 +55,7 @@
system.build.etc = etc;
- system.activationScripts.etc = stringAfter [ "systemConfig" "stdio" ]
+ system.activationScripts.etc = stringAfter [ "stdio" ]
''
# Set up the statically computed bits of /etc.
echo "setting up /etc..."
Modified: nixos/trunk/modules/testing/test-instrumentation.nix
==============================================================================
--- nixos/trunk/modules/testing/test-instrumentation.nix Mon Sep 13
17:36:01 2010 (r23769)
+++ nixos/trunk/modules/testing/test-instrumentation.nix Mon Sep 13
18:19:15 2010 (r23770)
@@ -82,8 +82,8 @@
jobs.klogd.preStart = "dmesg -c > /dev/null";
# Prevent tests from accessing the Internet.
- networking.defaultGateway = mkOverrideTemplate 150 {} "";
- networking.nameservers = mkOverrideTemplate 150 {} [ ];
+ networking.defaultGateway = mkOverride 150 "";
+ networking.nameservers = mkOverride 150 [ ];
# Require a patch to the kernel to increase the 15s CIFS timeout.
assertions =
_______________________________________________
nix-commits mailing list
[email protected]
http://mail.cs.uu.nl/mailman/listinfo/nix-commits