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

Reply via email to