From 3c7bc8cac3737796ef2ee1ce0ba6dd601f5f080b Mon Sep 17 00:00:00 2001 From: Eli Schwartz Date: Fri, 9 Feb 2024 16:13:18 -0500 Subject: [PATCH] CI image builder: fix profile loading for gentoo We need to load various environment variables from /etc/profile. We cannot unconditionally load it, because opensuse sources env_vars and their /etc/profile has a fatal bug in it that causes it to return nonzero and abort under `set -e` (which is *amazing* as a thing to have in /etc/profile specifically -- just saying). Alas, even /etc/profile.env is not enough since Java support depends on profile.d logic. Re-conditionalize this check to only be added to env_vars.sh for the image named "gentoo". --- .github/workflows/images.yml | 1 - ci/ciimage/build.py | 9 +++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/images.yml b/.github/workflows/images.yml index c43a1cf62..dd91898ef 100644 --- a/.github/workflows/images.yml +++ b/.github/workflows/images.yml @@ -7,7 +7,6 @@ concurrency: on: push: branches: - - master paths: - 'ci/ciimage/**' - '.github/workflows/images.yml' diff --git a/ci/ciimage/build.py b/ci/ciimage/build.py index 10fd09905..b355c47a7 100755 --- a/ci/ciimage/build.py +++ b/ci/ciimage/build.py @@ -78,12 +78,13 @@ class Builder(BuilderBase): if [ -f "$HOME/.cargo/env" ]; then source "$HOME/.cargo/env" fi - - if [ -f /etc/profile.env ]; then - source /etc/profile.env - fi ''' + if self.data_dir.name == 'gentoo': + out_data += ''' + source /etc/profile + ''' + out_file.write_text(out_data, encoding='utf-8') # make it executable