Catch duplicate entries

svn path=/nixos/trunk/; revision=15580
This commit is contained in:
Michael Raskin 2009-05-13 06:10:21 +00:00
parent 52889b2323
commit 60060261a0
2 changed files with 16 additions and 4 deletions

View file

@ -7,7 +7,15 @@ targets_=($targets)
modes_=($modes)
for ((i = 0; i < ${#targets_[@]}; i++)); do
ensureDir $out/etc/$(dirname ${targets_[$i]})
ln -s ${sources_[$i]} $out/etc/${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

View file

@ -6,8 +6,12 @@ runCommand "upstart-jobs" {inherit jobs;}
"
ensureDir $out/etc/event.d
for i in $jobs; do
if test -d $i; then
ln -s $i/etc/event.d/* $out/etc/event.d/
fi
if ln -s $i . ; then
if test -d $i; then
ln -s $i/etc/event.d/* $out/etc/event.d/
fi
else
echo Duplicate entry: $i;
fi;
done
"