@@ -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
159159elif [ -f /etc/redhat-release ]; then
160160 yum update --assumeyes
161161 alias software=' yum install --assumeyes'
162+ alias erase-packages=' yum erase --assumeyes'
162163else
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
174175fi
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+
176182if 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