![Eelco Dolstra](/assets/img/avatar_default.png)
parallel as possible (similar to GNU Make's `-j' switch). This is useful on SMP systems, but it is especially useful for doing builds on multiple machines. The idea is that a large derivation is initiated on one master machine, which then distributes sub-derivations to any number of slave machines. This should not happen synchronously or in lock-step, so the master must be capable of dealing with multiple parallel build jobs. We now have the infrastructure to support this. TODO: substitutes are currently broken.
18 lines
382 B
Bash
18 lines
382 B
Bash
storeExpr=$($TOP/src/nix-instantiate/nix-instantiate locking.nix)
|
|
|
|
echo "store expr is $storeExpr"
|
|
|
|
for i in $(seq 1 5); do
|
|
echo "WORKER $i"
|
|
$TOP/src/nix-store/nix-store -rvvvvvB "$storeExpr" &
|
|
done
|
|
|
|
sleep 5
|
|
|
|
outPath=$($TOP/src/nix-store/nix-store -qnfvvvvv "$storeExpr")
|
|
|
|
echo "output path is $outPath"
|
|
|
|
text=$(cat "$outPath")
|
|
if test "$text" != "aabcade"; then exit 1; fi
|