diff options
author | Frederik Rietdijk <fridh@fridh.nl> | 2018-04-04 19:36:39 +0200 |
---|---|---|
committer | Frederik Rietdijk <fridh@fridh.nl> | 2018-04-04 19:36:39 +0200 |
commit | 23741692fabcdfee9a8b7f89576236a69d4d4d8a (patch) | |
tree | b3d53e3f97547c93bba340176bee375cb720ebdc /nixos/lib | |
parent | d051989efa7354384271bb21c5f471cfc05c1541 (diff) | |
parent | b9484875bcc1918945d373e0ea46ffff938adb05 (diff) | |
download | nixlib-23741692fabcdfee9a8b7f89576236a69d4d4d8a.tar nixlib-23741692fabcdfee9a8b7f89576236a69d4d4d8a.tar.gz nixlib-23741692fabcdfee9a8b7f89576236a69d4d4d8a.tar.bz2 nixlib-23741692fabcdfee9a8b7f89576236a69d4d4d8a.tar.lz nixlib-23741692fabcdfee9a8b7f89576236a69d4d4d8a.tar.xz nixlib-23741692fabcdfee9a8b7f89576236a69d4d4d8a.tar.zst nixlib-23741692fabcdfee9a8b7f89576236a69d4d4d8a.zip |
Merge master into staging
Diffstat (limited to 'nixos/lib')
-rw-r--r-- | nixos/lib/make-system-tarball.nix | 14 | ||||
-rw-r--r-- | nixos/lib/make-system-tarball.sh | 5 |
2 files changed, 13 insertions, 6 deletions
diff --git a/nixos/lib/make-system-tarball.nix b/nixos/lib/make-system-tarball.nix index a2a0340a6bd3..92539235be75 100644 --- a/nixos/lib/make-system-tarball.nix +++ b/nixos/lib/make-system-tarball.nix @@ -1,4 +1,4 @@ -{ stdenv, perl, xz, pathsFromGraph +{ stdenv, perl, pixz, pathsFromGraph , # The file name of the resulting tarball fileName ? "nixos-system-${stdenv.system}" @@ -21,14 +21,20 @@ # Extra tar arguments , extraArgs ? "" + # Command used for compression +, compressCommand ? "pixz" + # Extension for the compressed tarball +, compressionExtension ? ".xz" + # extra inputs, like the compressor to use +, extraInputs ? [ pixz ] }: stdenv.mkDerivation { name = "tarball"; builder = ./make-system-tarball.sh; - buildInputs = [perl xz]; + buildInputs = [ perl ] ++ extraInputs; - inherit fileName pathsFromGraph extraArgs extraCommands; + inherit fileName pathsFromGraph extraArgs extraCommands compressCommand; # !!! should use XML. sources = map (x: x.source) contents; @@ -41,4 +47,6 @@ stdenv.mkDerivation { # For obtaining the closure of `storeContents'. exportReferencesGraph = map (x: [("closure-" + baseNameOf x.object) x.object]) storeContents; + + extension = compressionExtension; } diff --git a/nixos/lib/make-system-tarball.sh b/nixos/lib/make-system-tarball.sh index 73a009d8488a..1a52a284a257 100644 --- a/nixos/lib/make-system-tarball.sh +++ b/nixos/lib/make-system-tarball.sh @@ -1,5 +1,4 @@ source $stdenv/setup -set -x sources_=($sources) targets_=($targets) @@ -54,8 +53,8 @@ mkdir -p $out/tarball rm env-vars -tar --sort=name --mtime='@1' --owner=0 --group=0 --numeric-owner -cvJf $out/tarball/$fileName.tar.xz * $extraArgs +time tar --sort=name --mtime='@1' --owner=0 --group=0 --numeric-owner -c * $extraArgs | $compressCommand > $out/tarball/$fileName.tar${extension} mkdir -p $out/nix-support echo $system > $out/nix-support/system -echo "file system-tarball $out/tarball/$fileName.tar.xz" > $out/nix-support/hydra-build-products +echo "file system-tarball $out/tarball/$fileName.tar${extension}" > $out/nix-support/hydra-build-products |