diff --git a/generators/__init__.py b/generators/__init__.py index a5a9480..39cc300 100644 --- a/generators/__init__.py +++ b/generators/__init__.py @@ -137,14 +137,27 @@ die() {{ echo "${{LOG_PREFIX}} ERROR: $*" >&2 ; exit 1 ; }} DISTRO_ID="${{ID:-unknown}}" DISTRO_LIKE="${{ID_LIKE:-}}" case "$DISTRO_ID" in - ubuntu|debian) PKG="apt-get"; PKG_INSTALL="DEBIAN_FRONTEND=noninteractive apt-get install -y" ;; - centos|rhel|rocky|almalinux|ol) PKG="yum"; PKG_INSTALL="yum install -y" ;; - fedora) PKG="dnf"; PKG_INSTALL="dnf install -y" ;; + ubuntu|debian) + PKG="apt-get" + export DEBIAN_FRONTEND=noninteractive + PKG_INSTALL() {{ DEBIAN_FRONTEND=noninteractive apt-get install -y "$@"; }} + ;; + centos|rhel|rocky|almalinux|ol) + PKG="yum" + PKG_INSTALL() {{ yum install -y "$@"; }} + ;; + fedora) + PKG="dnf" + PKG_INSTALL() {{ dnf install -y "$@"; }} + ;; *) if echo "$DISTRO_LIKE" | grep -qiE "rhel|centos|fedora"; then - PKG="yum"; PKG_INSTALL="yum install -y" + PKG="yum" + PKG_INSTALL() {{ yum install -y "$@"; }} elif echo "$DISTRO_LIKE" | grep -qi "debian"; then - PKG="apt-get"; PKG_INSTALL="DEBIAN_FRONTEND=noninteractive apt-get install -y" + PKG="apt-get" + export DEBIAN_FRONTEND=noninteractive + PKG_INSTALL() {{ DEBIAN_FRONTEND=noninteractive apt-get install -y "$@"; }} else die "Unsupported distribution: $DISTRO_ID" fi