diff --git a/pkgs/build-support/vm/vm.nix b/pkgs/build-support/vm/default.nix similarity index 97% rename from pkgs/build-support/vm/vm.nix rename to pkgs/build-support/vm/default.nix index 13b9ed5ea756..7d334f045409 100644 --- a/pkgs/build-support/vm/vm.nix +++ b/pkgs/build-support/vm/default.nix @@ -1,4 +1,6 @@ -with import ../../.. {}; +{pkgs}: + +with pkgs; rec { @@ -279,8 +281,11 @@ rec { postHook = '' PATH=/usr/bin:/bin:/usr/sbin:/sbin SHELL=/bin/sh + eval "$origPostHook" ''; + origPostHook = if attrs ? postHook then attrs.postHook else ""; + /* Don't run Nix-specific build steps like patchelf. */ fixupPhase = "true"; }); @@ -354,8 +359,14 @@ rec { tarball must contain an RPM specfile. */ buildRPM = attrs: runInLinuxImage (stdenv.mkDerivation (attrs // { - phases = "buildPhase installPhase"; + phases = "sysInfoPhase buildPhase installPhase"; + sysInfoPhase = '' + header "base RPMs" + rpm -qa --qf "%{Name}-%{Version}-%{Release} (%{Arch}; %{Distribution}; %{Vendor})\n" + stopNest + ''; + buildPhase = '' # Hacky: RPM looks for .spec inside the tarball, so # strip off the hash. diff --git a/pkgs/build-support/vm/test.nix b/pkgs/build-support/vm/test.nix index e25704612dcc..6c25667a222b 100644 --- a/pkgs/build-support/vm/test.nix +++ b/pkgs/build-support/vm/test.nix @@ -1,5 +1,5 @@ with import ../../.. {}; -with import ./vm.nix; +with vmTools; rec { @@ -50,6 +50,10 @@ rec { src = nixUnstable.src; diskImage = debianImage; memSize = 512; + phases = "sysInfoPhase unpackPhase patchPhase configurePhase buildPhase checkPhase installPhase fixupPhase distPhase"; + sysInfoPhase = '' + dpkg-query --list + ''; }); diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index decc0d0825cd..b10191f17c45 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -29,7 +29,7 @@ }: -rec { +let pkgs = rec { ### Symbolic names. @@ -392,6 +392,10 @@ rec { nukeReferences = import ../build-support/nuke-references/default.nix { inherit stdenv; }; + + vmTools = import ../build-support/vm/default.nix { + inherit pkgs; + }; ### TOOLS @@ -6160,4 +6164,4 @@ rec { #my_env = import ../misc/my_env; -} +}; in pkgs