diff options
author | Robert Hensing <roberth@users.noreply.github.com> | 2022-10-13 21:45:10 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-13 21:45:10 +0100 |
commit | 8fca2fd4bf050db9b56363fb308227025601fc35 (patch) | |
tree | 401477bc8500523a6a57f4952a7a1f09df792eb4 /pkgs/build-support/docker | |
parent | e31262c3eef88eee80d950f0fd604f4ecaa634bb (diff) | |
parent | 2f5fcda329757f9a3d58dca4842e075c7f14ee2d (diff) |
Merge pull request #141050 from koenw/dockertools_too_many_arguments
build-support: Fix error when building images with many layers
Diffstat (limited to 'pkgs/build-support/docker')
-rw-r--r-- | pkgs/build-support/docker/default.nix | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix index e5b39cdd9dcee..a3145e504f23e 100644 --- a/pkgs/build-support/docker/default.nix +++ b/pkgs/build-support/docker/default.nix @@ -984,33 +984,34 @@ rec { # following lines, double-check that your code behaves properly # when the number of layers equals: # maxLayers-1, maxLayers, and maxLayers+1, 0 - store_layers="$( - paths | - jq -sR ' - rtrimstr("\n") | split("\n") - | (.[:$maxLayers-1] | map([.])) + [ .[$maxLayers-1:] ] - | map(select(length > 0)) + paths | + jq -sR ' + rtrimstr("\n") | split("\n") + | (.[:$maxLayers-1] | map([.])) + [ .[$maxLayers-1:] ] + | map(select(length > 0)) ' \ - --argjson maxLayers "$availableLayers" - )" + --argjson maxLayers "$availableLayers" > store_layers.json + # The index on $store_layers is necessary because the --slurpfile + # automatically reads the file as an array. cat ${baseJson} | jq ' . + { "store_dir": $store_dir, "from_image": $from_image, - "store_layers": $store_layers, + "store_layers": $store_layers[0], "customisation_layer", $customisation_layer, "repo_tag": $repo_tag, "created": $created } ' --arg store_dir "${storeDir}" \ --argjson from_image ${if fromImage == null then "null" else "'\"${fromImage}\"'"} \ - --argjson store_layers "$store_layers" \ + --slurpfile store_layers store_layers.json \ --arg customisation_layer ${customisationLayer} \ --arg repo_tag "$imageName:$imageTag" \ --arg created "$created" | tee $out ''; + result = runCommand "stream-${baseName}" { inherit (conf) imageName; |