nixpkgs/nix-dist/build+upload.sh
Eelco Dolstra 91aafbcae4 * Automatically build and upload RPMs. Building an RPM is not a pure Nix action, but
we use Nix to do it anyway.

svn path=/nixpkgs/trunk/; revision=610
2004-01-02 16:39:35 +00:00

35 lines
1.1 KiB
Bash
Executable File

#! /bin/sh
url="https://svn.cs.uu.nl:12443/repos/trace/nix/trunk/"
if ! rev=$(curl --silent -k https://svn.cs.uu.nl:12443/repos/trace/nix/trunk/ \
| grep '<h2>Revision' \
| sed 's/.*Revision \(.*\):.*/\1/'); \
then exit 1; fi
echo "building revision $rev of $url"
echo $rev > head-revision.nix
if ! storeexprs=($(nix-instantiate -vvv do-it.nix)); then exit 1; fi
srcexpr=${storeexprs[0]}
testexpr=${storeexprs[1]}
rpmexpr=${storeexprs[2]}
if ! nix-store -vvvv -r "$srcexpr" > /dev/null; then exit 1; fi
if ! outpath=$(nix-store -qn "$srcexpr"); then exit 1; fi
uploader="http://losser.st-lab.cs.uu.nl/~eelco/cgi-bin/upload.pl/"
curl --silent -T "$outpath/manual.html" "$uploader" || exit 1
curl --silent -T "$outpath/style.css" "$uploader" || exit 1
curl --silent -T "$outpath"/nix-*.tar.bz2 "$uploader" || exit 1
#if ! nix-store -vvvv -r "$testexpr" > /dev/null; then exit 1; fi
if ! nix-store -vvvv -r "$rpmexpr" > /dev/null; then exit 1; fi
if ! rpmpath=$(nix-store -qn "$rpmexpr"); then exit 1; fi
curl --silent -T "$rpmpath"/nix-*.rpm "$uploader" || exit 1