diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2008-03-18 12:54:21 +0000 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2008-03-18 12:54:21 +0000 |
commit | fd2a77eeb0c033593c06739c7f0395236fcc9e65 (patch) | |
tree | 8109944aa38e80bddc277e77736508d98b57752e /pkgs/build-support | |
parent | 113fafd7780bc1208925d3087725978abb7370c6 (diff) | |
download | nixlib-fd2a77eeb0c033593c06739c7f0395236fcc9e65.tar nixlib-fd2a77eeb0c033593c06739c7f0395236fcc9e65.tar.gz nixlib-fd2a77eeb0c033593c06739c7f0395236fcc9e65.tar.bz2 nixlib-fd2a77eeb0c033593c06739c7f0395236fcc9e65.tar.lz nixlib-fd2a77eeb0c033593c06739c7f0395236fcc9e65.tar.xz nixlib-fd2a77eeb0c033593c06739c7f0395236fcc9e65.tar.zst nixlib-fd2a77eeb0c033593c06739c7f0395236fcc9e65.zip |
* Put all the RPM/Debian images in an attribute set `diskImage'.
svn path=/nixpkgs/trunk/; revision=11181
Diffstat (limited to 'pkgs/build-support')
-rw-r--r-- | pkgs/build-support/vm/default.nix | 71 | ||||
-rw-r--r-- | pkgs/build-support/vm/rpm/fedora-2-i386.list (renamed from pkgs/build-support/vm/rpm/fedora-2-packages.list) | 0 | ||||
-rw-r--r-- | pkgs/build-support/vm/rpm/fedora-2-i386.nix (renamed from pkgs/build-support/vm/rpm/fedora-2-packages.nix) | 0 | ||||
-rw-r--r-- | pkgs/build-support/vm/rpm/fedora-3-i386.list (renamed from pkgs/build-support/vm/rpm/fedora-3-packages.list) | 0 | ||||
-rw-r--r-- | pkgs/build-support/vm/rpm/fedora-3-i386.nix (renamed from pkgs/build-support/vm/rpm/fedora-3-packages.nix) | 0 | ||||
-rw-r--r-- | pkgs/build-support/vm/rpm/fedora-5-i386.list (renamed from pkgs/build-support/vm/rpm/fedora-5-packages.list) | 0 | ||||
-rw-r--r-- | pkgs/build-support/vm/rpm/fedora-5-i386.nix (renamed from pkgs/build-support/vm/rpm/fedora-5-packages.nix) | 0 | ||||
-rw-r--r-- | pkgs/build-support/vm/rpm/redhat-9-i386.list (renamed from pkgs/build-support/vm/rpm/redhat-9-packages.list) | 0 | ||||
-rw-r--r-- | pkgs/build-support/vm/rpm/redhat-9-i386.nix (renamed from pkgs/build-support/vm/rpm/redhat-9-packages.nix) | 0 | ||||
-rw-r--r-- | pkgs/build-support/vm/rpm/rpm.nix | 60 | ||||
-rw-r--r-- | pkgs/build-support/vm/rpm/suse-9-i386.list (renamed from pkgs/build-support/vm/rpm/suse-9-packages.list) | 0 | ||||
-rw-r--r-- | pkgs/build-support/vm/rpm/suse-9-i386.nix (renamed from pkgs/build-support/vm/rpm/suse-9-packages.nix) | 0 | ||||
-rw-r--r-- | pkgs/build-support/vm/test.nix | 32 |
13 files changed, 72 insertions, 91 deletions
diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 7d334f045409..efc76c2cf49e 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -210,7 +210,7 @@ rec { qemu-img create -f qcow $diskImage "${toString size}M" mkdir $out/nix-support - echo ${fullName} > $out/nix-support/full-name + echo "${fullName}" > $out/nix-support/full-name ''; @@ -368,18 +368,28 @@ rec { ''; buildPhase = '' + eval "$preBuild" + # Hacky: RPM looks for <basename>.spec inside the tarball, so # strip off the hash. stripHash "$src" srcName="$strippedName" - ln -s "$src" "$srcName" + cp "$src" "$srcName" # `ln' doesn't work always work: RPM requires that the file is owned by root + + rpmbuild -vv -ta "$srcName" || fail - rpmbuild -vv -ta "$srcName" + eval "$postBuild" ''; installPhase = '' ensureDir $out/rpms find /usr/src -name "*.rpm" -exec cp {} $out/rpms \; + + for i in $out/rpms/*.rpm; do + header "Generated RPM/SRPM: $i" + rpm -qip $i + stopNest + done ''; })); @@ -462,4 +472,59 @@ rec { }); + /* A bunch of disk images. */ + + diskImages = { + + redhat9i386 = fillDiskWithRPMs { + name = "redhat-9-i386-image"; + fullName = "Red Hat Linux 9 (i386)"; + size = 768; + rpms = import ./rpm/redhat-9-i386.nix {inherit fetchurl;}; + }; + + suse90i386 = fillDiskWithRPMs { + name = "suse-9.0-i386-image"; + fullName = "SUSE Linux 9.0 (i386)"; + size = 768; + rpms = import ./rpm/suse-9-i386.nix {inherit fetchurl;}; + }; + + fedora2i386 = fillDiskWithRPMs { + name = "fedora-core-2-i386-image"; + fullName = "Fedora Core 2 (i386)"; + size = 768; + rpms = import ./rpm/fedora-2-i386.nix {inherit fetchurl;}; + }; + + fedora3i386 = fillDiskWithRPMs { + name = "fedora-core-3-i386-image"; + fullName = "Fedora Core 3 (i386)"; + size = 768; + rpms = import ./rpm/fedora-3-i386.nix {inherit fetchurl;}; + }; + + fedora5i386 = fillDiskWithRPMs { + name = "fedora-core-5-i386-image"; + fullName = "Fedora Core 5 (i386)"; + size = 768; + rpms = import ./rpm/fedora-5-i386.nix {inherit fetchurl;}; + }; + + ubuntu710i386 = fillDiskWithDebs { + name = "ubuntu-7.10-gutsy-i386-image"; + fullName = "Ubuntu 7.10 Gutsy (i386)"; + size = 512; + debs = import ./deb/ubuntu-7.10-gutsy-i386.nix {inherit fetchurl;}; + }; + + debian40r3i386 = fillDiskWithDebs { + name = "debian-4.0r3-etch-i386-image"; + fullName = "Debian 4.0r3 Etch (i386)"; + size = 512; + debs = import ./deb/debian-4.0r3-etch-i386.nix {inherit fetchurl;}; + }; + + }; + } diff --git a/pkgs/build-support/vm/rpm/fedora-2-packages.list b/pkgs/build-support/vm/rpm/fedora-2-i386.list index e4e52cdd05be..e4e52cdd05be 100644 --- a/pkgs/build-support/vm/rpm/fedora-2-packages.list +++ b/pkgs/build-support/vm/rpm/fedora-2-i386.list diff --git a/pkgs/build-support/vm/rpm/fedora-2-packages.nix b/pkgs/build-support/vm/rpm/fedora-2-i386.nix index 7be643535b19..7be643535b19 100644 --- a/pkgs/build-support/vm/rpm/fedora-2-packages.nix +++ b/pkgs/build-support/vm/rpm/fedora-2-i386.nix diff --git a/pkgs/build-support/vm/rpm/fedora-3-packages.list b/pkgs/build-support/vm/rpm/fedora-3-i386.list index 37fc2657f341..37fc2657f341 100644 --- a/pkgs/build-support/vm/rpm/fedora-3-packages.list +++ b/pkgs/build-support/vm/rpm/fedora-3-i386.list diff --git a/pkgs/build-support/vm/rpm/fedora-3-packages.nix b/pkgs/build-support/vm/rpm/fedora-3-i386.nix index 3e8e8cb817c4..3e8e8cb817c4 100644 --- a/pkgs/build-support/vm/rpm/fedora-3-packages.nix +++ b/pkgs/build-support/vm/rpm/fedora-3-i386.nix diff --git a/pkgs/build-support/vm/rpm/fedora-5-packages.list b/pkgs/build-support/vm/rpm/fedora-5-i386.list index abdf154011f8..abdf154011f8 100644 --- a/pkgs/build-support/vm/rpm/fedora-5-packages.list +++ b/pkgs/build-support/vm/rpm/fedora-5-i386.list diff --git a/pkgs/build-support/vm/rpm/fedora-5-packages.nix b/pkgs/build-support/vm/rpm/fedora-5-i386.nix index e5ee2972b7e8..e5ee2972b7e8 100644 --- a/pkgs/build-support/vm/rpm/fedora-5-packages.nix +++ b/pkgs/build-support/vm/rpm/fedora-5-i386.nix diff --git a/pkgs/build-support/vm/rpm/redhat-9-packages.list b/pkgs/build-support/vm/rpm/redhat-9-i386.list index ac8e24e61af8..ac8e24e61af8 100644 --- a/pkgs/build-support/vm/rpm/redhat-9-packages.list +++ b/pkgs/build-support/vm/rpm/redhat-9-i386.list diff --git a/pkgs/build-support/vm/rpm/redhat-9-packages.nix b/pkgs/build-support/vm/rpm/redhat-9-i386.nix index 8454f617374b..8454f617374b 100644 --- a/pkgs/build-support/vm/rpm/redhat-9-packages.nix +++ b/pkgs/build-support/vm/rpm/redhat-9-i386.nix diff --git a/pkgs/build-support/vm/rpm/rpm.nix b/pkgs/build-support/vm/rpm/rpm.nix deleted file mode 100644 index 624e3b387a5f..000000000000 --- a/pkgs/build-support/vm/rpm/rpm.nix +++ /dev/null @@ -1,60 +0,0 @@ -pkgs: - -rec { - - stdenv = pkgs.stdenv; - - - fillDiskWithRPMs = {size ? 1024, rpms, name, fullName, postInstall ? null}: - stdenv.mkDerivation { - builder = ./fill-disk-with-rpms.sh; - worker = ./fill-disk-worker.sh; - buildInputs = [pkgs.uml pkgs.utillinux]; - inherit (pkgs) sysvinit e2fsprogs rpm; - inherit rpms size name fullName postInstall; - }; - - - runInUML = args: stdenv.mkDerivation (args // { - inherit (args) name image; - builder = ./run-in-uml.sh; - actualBuilder = args.builder; - boot = ./run-in-uml-boot.sh; - buildInputs = [pkgs.uml pkgs.utillinux]; - inherit (pkgs) sysvinit utillinux; - }); - - - redhat90Image = fillDiskWithRPMs { - rpms = (import ./redhat-9-packages.nix) {inherit (pkgs) fetchurl;}; - name = "redhat-9.0"; - fullName = "Red Hat 9.0"; - postInstall = ./redhat-postinstall.sh; - }; - - suse90Image = fillDiskWithRPMs { - rpms = (import ./suse-9-packages.nix) {inherit (pkgs) fetchurl;}; - name = "suse-9.0"; - fullName = "SuSE 9.0"; - }; - - fedora2Image = fillDiskWithRPMs { - rpms = (import ./fedora-2-packages.nix) {inherit (pkgs) fetchurl;}; - name = "fedora-core-2"; - fullName = "Fedora Core 2"; - postInstall = ./fedora-postinstall.sh; - }; - - fedora3Image = fillDiskWithRPMs { - rpms = (import ./fedora-3-packages.nix) {inherit (pkgs) fetchurl;}; - name = "fedora-core-3"; - fullName = "Fedora Core 3"; - postInstall = ./fedora-postinstall.sh; - }; - - fedora5Image = fillDiskWithRPMs { - rpms = (import ./fedora-5-packages.nix) {inherit (pkgs) fetchurl;}; - name = "fedora-core-5"; - fullName = "Fedora Core 5"; - }; -} diff --git a/pkgs/build-support/vm/rpm/suse-9-packages.list b/pkgs/build-support/vm/rpm/suse-9-i386.list index edd42986ad97..edd42986ad97 100644 --- a/pkgs/build-support/vm/rpm/suse-9-packages.list +++ b/pkgs/build-support/vm/rpm/suse-9-i386.list diff --git a/pkgs/build-support/vm/rpm/suse-9-packages.nix b/pkgs/build-support/vm/rpm/suse-9-i386.nix index 08463684e8b2..08463684e8b2 100644 --- a/pkgs/build-support/vm/rpm/suse-9-packages.nix +++ b/pkgs/build-support/vm/rpm/suse-9-i386.nix diff --git a/pkgs/build-support/vm/test.nix b/pkgs/build-support/vm/test.nix index 6c25667a222b..bef100625a7f 100644 --- a/pkgs/build-support/vm/test.nix +++ b/pkgs/build-support/vm/test.nix @@ -8,47 +8,23 @@ rec { buildPatchelfInVM = runInLinuxVM patchelf; - rpmImage = fillDiskWithRPMs { - name = "fedora-image"; - fullName = "Fedora Core 3"; - size = 1024; - rpms = import ./rpm/fedora-3-packages.nix {inherit fetchurl;}; - }; - - - testRPMImage = makeImageTestScript rpmImage; + testRPMImage = makeImageTestScript diskImages.fedora5i386; buildPatchelfRPM = buildRPM { name = "patchelf-rpm"; src = patchelf.src; - diskImage = rpmImage; + diskImage = diskImages.fedora5i386; }; - ubuntuImage = fillDiskWithDebs { - name = "ubuntu-image"; - fullName = "Ubuntu 7.10 Gutsy"; - size = 256; - debs = import ./deb/ubuntu-7.10-gutsy-i386.nix {inherit fetchurl;}; - }; - - - debianImage = fillDiskWithDebs { - name = "debian-image"; - fullName = "Debian 4.0r3 Etch"; - size = 256; - debs = import ./deb/debian-4.0r3-etch-i386.nix {inherit fetchurl;}; - }; - - - testUbuntuImage = makeImageTestScript ubuntuImage; + testUbuntuImage = makeImageTestScript diskImages.ubuntu710i386; buildInDebian = runInLinuxImage (stdenv.mkDerivation { name = "deb-compile"; src = nixUnstable.src; - diskImage = debianImage; + diskImage = diskImages.debian40r3i386; memSize = 512; phases = "sysInfoPhase unpackPhase patchPhase configurePhase buildPhase checkPhase installPhase fixupPhase distPhase"; sysInfoPhase = '' |