Skip to content

Commit e4b8f91

Browse files
authored
Merge pull request #2427 from larsewi/erase-stale-cfbuild-packages
Fixed cleanup of stale cfbuild packages on build hosts
2 parents 5e79e37 + 6149ed2 commit e4b8f91

1 file changed

Lines changed: 7 additions & 4 deletions

File tree

‎ci/setup-cfengine-build-host.sh‎

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -151,14 +151,15 @@ if [ -f /etc/os-release ]; then
151151
elif grep -q suse /etc/os-release; then
152152
zypper -n update
153153
alias software='zypper install -y'
154-
alias erase-packages='zypper uninstall -y'
154+
alias erase-packages='zypper remove -y'
155155
else
156156
echo "Unknown platform ID $ID. Need this information in order to update/upgrade distribution packages."
157157
exit 1
158158
fi
159159
elif [ -f /etc/redhat-release ]; then
160160
yum update --assumeyes
161161
alias software='yum install --assumeyes'
162+
alias erase-packages='yum erase --assumeyes'
162163
else
163164
echo "No /etc/os-release or /etc/redhat-release so cant determine platform."
164165
exit 1
@@ -173,6 +174,11 @@ else
173174
exit 1
174175
fi
175176

177+
# Must run before any cfengine-nova install below. The cfbuild-* packages own
178+
# files under /var/cfengine, so leftovers make the agent install fail on file
179+
# conflicts.
180+
erase-packages cfbuild-* || true # in case a dirty build was left on a long-living build host
181+
176182
if grep -q 6.10 /etc/issue 2>/dev/null; then
177183
# special case of centos-6, cf-remote depends on urllib3 which depends on openssl 1.1.1+ that is not available
178184
# generally we rely on cf-remote to install cfengine-nova and download masterfiles so here we must provide for both of those
@@ -284,9 +290,6 @@ if ! /var/cfengine/bin/cf-agent -V 2>/dev/null; then
284290
mv "$HOME"/.cfengine/cf-remote/* "$HOME"/.config/cfengine/cf-remote/
285291
fi
286292

287-
288-
erase-packages cfbuild-* || true # in case a dirty build was left on a long-living build host
289-
290293
# We are passing a two-token string and need it to stay two tokens for proper argument parsing in $_VERSION
291294
# shellcheck disable=SC2086
292295
cf-remote --log-level info $_VERSION install --clients localhost || true

0 commit comments

Comments
 (0)