[Nix-dev] reimplementation of nukeReferences - when to commit?
Marc Weber
marco-oweber at gmx.de
Fri Nov 14 02:46:09 CET 2008
How much would have to be rebuild when using this reimplementation of
nukeReferences ?
It only replaces hashes beeing 32 characters long. That's why it's more
correct. also using "$@" is better than using $* because it doesn't
depend on IFS.. and $* doesn't handle filepaths containing spaces.
replacement:
nukeReferences = writeTextFile {
name = "nuke-references"; executable = true; destination = "/bin/nuke-refs";
text = ''
#! $SHELL -e
exec sed -i 's|/nix/store/[a-z0-9]\{32\}-|/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-|g' "$@" '';
};
is now:
derivation running this builder.sh
source $stdenv/setup
ensureDir $out/bin
cat > $out/bin/nuke-refs <<EOF
#! $SHELL -e
for i in \$*; do
cat \$i | sed "s|/nix/store/[a-z0-9]*-|/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-|g" > \$i.tmp
if test -x \$i; then chmod +x \$i.tmp; fi
mv \$i.tmp \$i
done
EOF
chmod +x $out/bin/nuke-refs
Marc Weber
More information about the nix-dev
mailing list