diff options
Diffstat (limited to 'release.nix')
-rw-r--r-- | release.nix | 96 |
1 files changed, 50 insertions, 46 deletions
diff --git a/release.nix b/release.nix index e84f49634051..a08cf7a96c81 100644 --- a/release.nix +++ b/release.nix @@ -24,12 +24,11 @@ let buildInputs = [ curl bison flex perl libxml2 libxslt bzip2 - tetex dblatex nukeReferences pkgconfig sqlite git - ]; + tetex dblatex nukeReferences pkgconfig sqlite + docbook5 docbook5_xsl + ] ++ lib.optional (!lib.inNixShell) git; configureFlags = '' - --with-docbook-rng=${docbook5}/xml/rng/docbook - --with-docbook-xsl=${docbook5_xsl}/xml/xsl/docbook --with-dbi=${perlPackages.DBI}/${perl.libPrefix} --with-dbd-sqlite=${perlPackages.DBDSQLite}/${perl.libPrefix} --with-www-curl=${perlPackages.WWWCurl}/${perl.libPrefix} @@ -123,15 +122,16 @@ let in runCommand "nix-binary-tarball-${version}" - { exportReferencesGraph = [ "closure" toplevel ]; + { exportReferencesGraph = [ "closure1" toplevel "closure2" cacert ]; buildInputs = [ perl ]; meta.description = "Distribution-independent Nix bootstrap binaries for ${system}"; } '' - storePaths=$(perl ${pathsFromGraph} ./closure) - printRegistration=1 perl ${pathsFromGraph} ./closure > $TMPDIR/reginfo + storePaths=$(perl ${pathsFromGraph} ./closure1 ./closure2) + printRegistration=1 perl ${pathsFromGraph} ./closure1 ./closure2 > $TMPDIR/reginfo substitute ${./scripts/install-nix-from-closure.sh} $TMPDIR/install \ - --subst-var-by nix ${toplevel} + --subst-var-by nix ${toplevel} \ + --subst-var-by cacert ${cacert} chmod +x $TMPDIR/install dir=nix-${version}-${system} fn=$out/$dir.tar.bz2 @@ -181,44 +181,51 @@ let }; - rpm_fedora16i386 = makeRPM_i686 (diskImageFuns: diskImageFuns.fedora16i386) 50; - rpm_fedora16x86_64 = makeRPM_x86_64 (diskImageFunsFun: diskImageFunsFun.fedora16x86_64) 50; - rpm_fedora18i386 = makeRPM_i686 (diskImageFuns: diskImageFuns.fedora18i386) 60; - rpm_fedora18x86_64 = makeRPM_x86_64 (diskImageFunsFun: diskImageFunsFun.fedora18x86_64) 60; - rpm_fedora19i386 = makeRPM_i686 (diskImageFuns: diskImageFuns.fedora19i386) 70; - rpm_fedora19x86_64 = makeRPM_x86_64 (diskImageFunsFun: diskImageFunsFun.fedora19x86_64) 70; - rpm_fedora20i386 = makeRPM_i686 (diskImageFuns: diskImageFuns.fedora20i386) 70; - rpm_fedora20x86_64 = makeRPM_x86_64 (diskImageFunsFun: diskImageFunsFun.fedora20x86_64) 70; + rpm_fedora20i386 = makeRPM_i686 (diskImageFuns: diskImageFuns.fedora20i386); + rpm_fedora20x86_64 = makeRPM_x86_64 (diskImageFunsFun: diskImageFunsFun.fedora20x86_64); - #deb_debian60i386 = makeDeb_i686 (diskImageFuns: diskImageFuns.debian60i386) 50; - #deb_debian60x86_64 = makeDeb_x86_64 (diskImageFunsFun: diskImageFunsFun.debian60x86_64) 50; - deb_debian7i386 = makeDeb_i686 (diskImageFuns: diskImageFuns.debian7i386) 60; - deb_debian7x86_64 = makeDeb_x86_64 (diskImageFunsFun: diskImageFunsFun.debian7x86_64) 60; + deb_debian7i386 = makeDeb_i686 (diskImageFuns: diskImageFuns.debian7i386); + deb_debian7x86_64 = makeDeb_x86_64 (diskImageFunsFun: diskImageFunsFun.debian7x86_64); - deb_ubuntu1110i386 = makeDeb_i686 (diskImageFuns: diskImageFuns.ubuntu1110i386) 60; - deb_ubuntu1110x86_64 = makeDeb_x86_64 (diskImageFuns: diskImageFuns.ubuntu1110x86_64) 60; - deb_ubuntu1204i386 = makeDeb_i686 (diskImageFuns: diskImageFuns.ubuntu1204i386) 60; - deb_ubuntu1204x86_64 = makeDeb_x86_64 (diskImageFuns: diskImageFuns.ubuntu1204x86_64) 60; - deb_ubuntu1210i386 = makeDeb_i686 (diskImageFuns: diskImageFuns.ubuntu1210i386) 70; - deb_ubuntu1210x86_64 = makeDeb_x86_64 (diskImageFuns: diskImageFuns.ubuntu1210x86_64) 70; - deb_ubuntu1304i386 = makeDeb_i686 (diskImageFuns: diskImageFuns.ubuntu1304i386) 80; - deb_ubuntu1304x86_64 = makeDeb_x86_64 (diskImageFuns: diskImageFuns.ubuntu1304x86_64) 80; - deb_ubuntu1310i386 = makeDeb_i686 (diskImageFuns: diskImageFuns.ubuntu1310i386) 90; - deb_ubuntu1310x86_64 = makeDeb_x86_64 (diskImageFuns: diskImageFuns.ubuntu1310x86_64) 90; - deb_ubuntu1404i386 = makeDeb_i686 (diskImageFuns: diskImageFuns.ubuntu1404i386) 90; - deb_ubuntu1404x86_64 = makeDeb_x86_64 (diskImageFuns: diskImageFuns.ubuntu1404x86_64) 90; + deb_ubuntu1210i386 = makeDeb_i686 (diskImageFuns: diskImageFuns.ubuntu1210i386); + deb_ubuntu1210x86_64 = makeDeb_x86_64 (diskImageFuns: diskImageFuns.ubuntu1210x86_64); + deb_ubuntu1304i386 = makeDeb_i686 (diskImageFuns: diskImageFuns.ubuntu1304i386); + deb_ubuntu1304x86_64 = makeDeb_x86_64 (diskImageFuns: diskImageFuns.ubuntu1304x86_64); + deb_ubuntu1310i386 = makeDeb_i686 (diskImageFuns: diskImageFuns.ubuntu1310i386); + deb_ubuntu1310x86_64 = makeDeb_x86_64 (diskImageFuns: diskImageFuns.ubuntu1310x86_64); + deb_ubuntu1404i386 = makeDeb_i686 (diskImageFuns: diskImageFuns.ubuntu1404i386); + deb_ubuntu1404x86_64 = makeDeb_x86_64 (diskImageFuns: diskImageFuns.ubuntu1404x86_64); + deb_ubuntu1410i386 = makeDeb_i686 (diskImageFuns: diskImageFuns.ubuntu1410i386); + deb_ubuntu1410x86_64 = makeDeb_x86_64 (diskImageFuns: diskImageFuns.ubuntu1410x86_64); # System tests. - tests.remote_builds = (import ./tests/remote-builds.nix rec { + tests.remoteBuilds = (import ./tests/remote-builds.nix rec { nix = build.x86_64-linux; system = "x86_64-linux"; }); - tests.nix_copy_closure = (import ./tests/nix-copy-closure.nix rec { + tests.nix-copy-closure = (import ./tests/nix-copy-closure.nix rec { nix = build.x86_64-linux; system = "x86_64-linux"; }); + tests.binaryTarball = + with import <nixpkgs> { system = "x86_64-linux"; }; + vmTools.runInLinuxImage (runCommand "nix-binary-tarball-test" + { diskImage = vmTools.diskImages.ubuntu1204x86_64; + } + '' + useradd -m alice + su - alice -c 'tar xf ${binaryTarball.x86_64-linux}/*.tar.*' + mount -t tmpfs none /nix # Provide a writable /nix. + chown alice /nix + su - alice -c '_NIX_INSTALLER_TEST=1 ./nix-*/install' + su - alice -c 'nix-store --verify' + su - alice -c 'nix-store -qR ${build.x86_64-linux}' + mkdir -p $out/nix-support + touch $out/nix-support/hydra-build-products + ''); # */ + # Aggregate job containing the release-critical jobs. release = pkgs.releaseTools.aggregate { @@ -238,18 +245,15 @@ let binaryTarball.x86_64-linux deb_debian7i386 deb_debian7x86_64 - deb_ubuntu1304i386 - deb_ubuntu1304x86_64 - deb_ubuntu1310i386 - deb_ubuntu1310x86_64 deb_ubuntu1404i386 deb_ubuntu1404x86_64 - rpm_fedora19i386 - rpm_fedora19x86_64 + deb_ubuntu1410i386 + deb_ubuntu1410x86_64 rpm_fedora20i386 rpm_fedora20x86_64 - tests.remote_builds - tests.nix_copy_closure + tests.remoteBuilds + tests.nix-copy-closure + tests.binaryTarball ]; }; @@ -260,7 +264,7 @@ let makeRPM_x86_64 = makeRPM "x86_64-linux"; makeRPM = - system: diskImageFun: prio: + system: diskImageFun: with import <nixpkgs> { inherit system; }; @@ -270,7 +274,7 @@ let diskImage = (diskImageFun vmTools.diskImageFuns) { extraPackages = [ "perl-DBD-SQLite" "perl-devel" "sqlite" "sqlite-devel" "bzip2-devel" "emacs" "perl-WWW-Curl" ]; }; memSize = 1024; - meta.schedulingPriority = prio; + meta.schedulingPriority = 50; postRPMInstall = "cd /tmp/rpmout/BUILD/nix-* && make installcheck"; }; @@ -279,7 +283,7 @@ let makeDeb_x86_64 = makeDeb "x86_64-linux"; makeDeb = - system: diskImageFun: prio: + system: diskImageFun: with import <nixpkgs> { inherit system; }; @@ -289,7 +293,7 @@ let diskImage = (diskImageFun vmTools.diskImageFuns) { extraPackages = [ "libdbd-sqlite3-perl" "libsqlite3-dev" "libbz2-dev" "libwww-curl-perl" ]; }; memSize = 1024; - meta.schedulingPriority = prio; + meta.schedulingPriority = 50; configureFlags = "--sysconfdir=/etc"; debRequires = [ "curl" "libdbd-sqlite3-perl" "libsqlite3-0" "libbz2-1.0" "bzip2" "xz-utils" "libwww-curl-perl" ]; debMaintainer = "Eelco Dolstra <eelco.dolstra@logicblox.com>"; |