diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2009-05-28 13:17:56 +0000 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2009-05-28 13:17:56 +0000 |
commit | 3c84d56273ff6a5eb07d83448a3b046cb6c5ebc7 (patch) | |
tree | 4ed77f7bab5772a0b423f87d855d02bce869b17f /modules/system/etc/make-etc.sh | |
parent | 14f1c81822d3eb855ea47abf9d53bc4b06659385 (diff) | |
download | nixpkgs-3c84d56273ff6a5eb07d83448a3b046cb6c5ebc7.tar nixpkgs-3c84d56273ff6a5eb07d83448a3b046cb6c5ebc7.tar.gz nixpkgs-3c84d56273ff6a5eb07d83448a3b046cb6c5ebc7.tar.bz2 nixpkgs-3c84d56273ff6a5eb07d83448a3b046cb6c5ebc7.tar.lz nixpkgs-3c84d56273ff6a5eb07d83448a3b046cb6c5ebc7.tar.xz nixpkgs-3c84d56273ff6a5eb07d83448a3b046cb6c5ebc7.tar.zst nixpkgs-3c84d56273ff6a5eb07d83448a3b046cb6c5ebc7.zip |
* Move the /etc generation to modules/system/etc.
svn path=/nixos/branches/modular-nixos/; revision=15767
Diffstat (limited to 'modules/system/etc/make-etc.sh')
-rw-r--r-- | modules/system/etc/make-etc.sh | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/modules/system/etc/make-etc.sh b/modules/system/etc/make-etc.sh new file mode 100644 index 00000000000..4b7bb68be4b --- /dev/null +++ b/modules/system/etc/make-etc.sh @@ -0,0 +1,22 @@ +source $stdenv/setup + +ensureDir $out/etc + +sources_=($sources) +targets_=($targets) +modes_=($modes) +for ((i = 0; i < ${#targets_[@]}; i++)); do + ensureDir $out/etc/$(dirname ${targets_[$i]}) + if ! test -e $out/etc/${targets_[$i]}; then + ln -s ${sources_[$i]} $out/etc/${targets_[$i]}; + else + echo Duplicate entry "${targets_[$i]} -> ${sources_[$i]}" + if test "$(readlink "$targets_[$i]")" -ne "$sources_[$i]"; then + echo Mismatched duplicate entry "$(readlink "$targets_[$i]") "'<>'" $sources_[$i]" + exit 1 + fi + fi; + if test "${modes_[$i]}" != symlink; then + echo "${modes_[$i]}" > $out/etc/${targets_[$i]}.mode + fi +done |