From 14c651ca44a8701dc1ba16df72796d9cf661b5bd Mon Sep 17 00:00:00 2001
From: Steve Baker <sbaker@redhat.com>
Date: Mon, 2 Sep 2024 14:43:00 +1200
Subject: [PATCH] Add DIB_SKIP_BASE_PACKAGE_INSTALL to base element

Along with DIB_AVOID_PACKAGES_UPDATE it is now possible to invoke the
base element without invoking any package management. This is useful
when using a dib created image as the base image.

Change-Id: Ic6da340627bd55d4d34b1669ebf3a494131f72a6
---
 diskimage_builder/elements/base/README.rst                    | 4 ++++
 .../elements/base/environment.d/10-base-defaults              | 3 ++-
 .../elements/base/install.d/00-baseline-environment           | 4 +++-
 3 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/diskimage_builder/elements/base/README.rst b/diskimage_builder/elements/base/README.rst
index f105048fd..c7943cd15 100644
--- a/diskimage_builder/elements/base/README.rst
+++ b/diskimage_builder/elements/base/README.rst
@@ -28,6 +28,10 @@ update.
 
  * set 'DIB_AVOID_PACKAGES_UPDATE' to '1' to avoid updating all packages.
 
+
+The 'DIB_SKIP_BASE_PACKAGE_INSTALL' environment variable can be used to
+avoid installing base packages, set to '1' to skip.
+
 Notes:
 
  * If you are getting warnings during the build about your locale
diff --git a/diskimage_builder/elements/base/environment.d/10-base-defaults b/diskimage_builder/elements/base/environment.d/10-base-defaults
index b555a2628..e53da62b2 100644
--- a/diskimage_builder/elements/base/environment.d/10-base-defaults
+++ b/diskimage_builder/elements/base/environment.d/10-base-defaults
@@ -1 +1,2 @@
-export DIB_AVOID_PACKAGES_UPDATE=${DIB_AVOID_PACKAGES_UPDATE:-0}
\ No newline at end of file
+export DIB_AVOID_PACKAGES_UPDATE=${DIB_AVOID_PACKAGES_UPDATE:-0}
+export DIB_SKIP_BASE_PACKAGE_INSTALL=${DIB_SKIP_BASE_PACKAGE_INSTALL:-0}
\ No newline at end of file
diff --git a/diskimage_builder/elements/base/install.d/00-baseline-environment b/diskimage_builder/elements/base/install.d/00-baseline-environment
index e84c84be0..9aed9260c 100755
--- a/diskimage_builder/elements/base/install.d/00-baseline-environment
+++ b/diskimage_builder/elements/base/install.d/00-baseline-environment
@@ -7,4 +7,6 @@ fi
 set -eu
 set -o pipefail
 
-install-packages -m base iscsi_package
+if [ ${DIB_SKIP_BASE_PACKAGE_INSTALL} -eq 0 ]; then
+    install-packages -m base iscsi_package
+fi