From d9e85efd7c7146b83152ce662cafeae9a6718159 Mon Sep 17 00:00:00 2001 From: Logan V Date: Thu, 4 Jul 2019 16:54:45 -0500 Subject: [PATCH] Allow configurable gzip binary name Add a new environment variable $DIB_GZIP_BIN allowing builders to specify a different gzip (such as pigz) to be used when compressing tgz images. Change-Id: Ifb617568140a149e2fda241e07ff8a59429e6697 --- diskimage_builder/lib/disk-image-create | 1 + diskimage_builder/lib/img-functions | 2 +- doc/source/user_guide/building_an_image.rst | 3 +++ releasenotes/notes/gzip-env-variable-94e61e0c043f4f1f.yaml | 5 +++++ 4 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 releasenotes/notes/gzip-env-variable-94e61e0c043f4f1f.yaml diff --git a/diskimage_builder/lib/disk-image-create b/diskimage_builder/lib/disk-image-create index 7dd039092..f1c913f1f 100644 --- a/diskimage_builder/lib/disk-image-create +++ b/diskimage_builder/lib/disk-image-create @@ -123,6 +123,7 @@ DIB_DEBUG_TRACE=${DIB_DEBUG_TRACE:-0} INSTALL_PACKAGES="" IMAGE_TYPES=("qcow2") COMPRESS_IMAGE="true" +DIB_GZIP_BIN=${DIB_GZIP_BIN:-"gzip"} ROOT_LABEL="" DIB_DEFAULT_INSTALLTYPE=${DIB_DEFAULT_INSTALLTYPE:-"source"} MKFS_OPTS="" diff --git a/diskimage_builder/lib/img-functions b/diskimage_builder/lib/img-functions index f158ee95d..fa75d7c92 100644 --- a/diskimage_builder/lib/img-functions +++ b/diskimage_builder/lib/img-functions @@ -144,7 +144,7 @@ function compress_and_save_image () { if [ "$IMAGE_TYPE" = "raw" ]; then mv $TMP_IMAGE_PATH $1-new elif [ "$IMAGE_TYPE" == "tgz" ]; then - gzip -9 < $IMAGE_NAME.tar > $1-new + $DIB_GZIP_BIN -9 < $IMAGE_NAME.tar > $1-new rm $IMAGE_NAME.tar elif [ "$IMAGE_TYPE" == "vhd" ]; then cp $TMP_IMAGE_PATH $1-intermediate diff --git a/doc/source/user_guide/building_an_image.rst b/doc/source/user_guide/building_an_image.rst index 14aaee9ed..67de29efc 100644 --- a/doc/source/user_guide/building_an_image.rst +++ b/doc/source/user_guide/building_an_image.rst @@ -57,6 +57,9 @@ formats are: * docker * raw +When building a tgz image, note that the `DIB_GZIP_BIN` environment variable +can be used to set the path of the gzip executable. + Disk Image Layout ----------------- diff --git a/releasenotes/notes/gzip-env-variable-94e61e0c043f4f1f.yaml b/releasenotes/notes/gzip-env-variable-94e61e0c043f4f1f.yaml new file mode 100644 index 000000000..97e0c653d --- /dev/null +++ b/releasenotes/notes/gzip-env-variable-94e61e0c043f4f1f.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + The `DIB_GZIP_BIN` environment variable enables builders to change the + path to `gzip`, such as when an alternate gzip is to be used (ie. pigz).