From bacd3a6cfa3af1879ef01e693178c74839d66f70 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 15 Mar 2005 12:03:15 +0000 Subject: [PATCH] * Purify all corepkgs builders. --- configure.ac | 7 +++++++ corepkgs/channels/unpack.sh.in | 12 +++++------- corepkgs/fetchurl/builder.sh.in | 4 +--- corepkgs/nar/nar.sh.in | 7 ++----- substitute.mk | 2 ++ 5 files changed, 17 insertions(+), 15 deletions(-) diff --git a/configure.ac b/configure.ac index 103e3e37a..77f76e122 100644 --- a/configure.ac +++ b/configure.ac @@ -81,6 +81,13 @@ AC_PATH_PROG(xsltproc, xsltproc, false) AC_PATH_PROG(flex, flex, false) AC_PATH_PROG(bison, bison, false) NEED_PROG(perl, perl) +NEED_PROG(tar, tar) + +AC_PATH_PROG(mkdir, mkdir, false) +AC_ARG_WITH(coreutils-bin, AC_HELP_STRING([--with-coreutils-bin=PATH], + [path of mkdir, etc.]), + coreutils=$withval, coreutils=$(dirname $mkdir)) +AC_SUBST(coreutils) AC_ARG_WITH(docbook-catalog, AC_HELP_STRING([--with-docbook-catalog=PATH], [path of the DocBook XML DTD]), diff --git a/corepkgs/channels/unpack.sh.in b/corepkgs/channels/unpack.sh.in index f349f3da3..332877b9e 100644 --- a/corepkgs/channels/unpack.sh.in +++ b/corepkgs/channels/unpack.sh.in @@ -1,9 +1,7 @@ #! @shell@ -e -export PATH=/bin:/usr/bin # !!! impure - -mkdir $out -mkdir $out/tmp +@coreutils@/mkdir $out +@coreutils@/mkdir $out/tmp cd $out/tmp expr=$out/default.nix @@ -12,8 +10,8 @@ echo '[' > $expr nr=0 for i in $inputs; do echo "unpacking $i" - @bunzip2@ < $i | tar xvf - - mv * ../$nr # !!! hacky + @bunzip2@ < $i | @tar@ xvf - + @coreutils@/mv * ../$nr # !!! hacky echo "(import ./$nr)" >> $expr nr=$(($nr + 1)) done @@ -21,4 +19,4 @@ done echo ']' >> $expr cd .. -rmdir tmp \ No newline at end of file +@coreutils@/rmdir tmp diff --git a/corepkgs/fetchurl/builder.sh.in b/corepkgs/fetchurl/builder.sh.in index aaba65d6d..92b874652 100644 --- a/corepkgs/fetchurl/builder.sh.in +++ b/corepkgs/fetchurl/builder.sh.in @@ -1,13 +1,11 @@ #! @shell@ -e -export PATH=/bin:/usr/bin - echo "downloading $url into $out" prefetch=@storedir@/nix-prefetch-url-$outputHash if test -f "$prefetch"; then echo "using prefetched $prefetch"; - mv $prefetch $out + @coreutils@/mv $prefetch $out else @curl@ --fail --location --max-redirs 20 "$url" > "$out" fi diff --git a/corepkgs/nar/nar.sh.in b/corepkgs/nar/nar.sh.in index 1a7c33ab2..caa960877 100644 --- a/corepkgs/nar/nar.sh.in +++ b/corepkgs/nar/nar.sh.in @@ -1,10 +1,7 @@ #! @shell@ -e -# !!! impure; fix this -export PATH=/bin:/usr/bin - echo "packing $path into $out..." -mkdir $out +@coreutils@/mkdir $out dst=$out/tmp.nar.bz2 @bindir@/nix-store --dump "$path" > tmp @@ -14,4 +11,4 @@ dst=$out/tmp.nar.bz2 @bindir@/nix-hash --flat --type $hashAlgo --base32 $dst > $out/narbz2-hash -mv $out/tmp.nar.bz2 $out/$(cat $out/narbz2-hash).nar.bz2 +@coreutils@/mv $out/tmp.nar.bz2 $out/$(@coreutils@/cat $out/narbz2-hash).nar.bz2 diff --git a/substitute.mk b/substitute.mk index 7d3f6d863..5f9204929 100644 --- a/substitute.mk +++ b/substitute.mk @@ -14,6 +14,8 @@ -e "s^@bzip2\@^$(bzip2)^g" \ -e "s^@bunzip2\@^$(bunzip2)^g" \ -e "s^@perl\@^$(perl)^g" \ + -e "s^@coreutils\@^$(coreutils)^g" \ + -e "s^@tar\@^$(tar)^g" \ -e "s^@version\@^$(VERSION)^g" \ < $< > $@ || rm $@ if test -x $<; then chmod +x $@; fi