Project

General

Profile

« Previous | Next » 

Revision 78aee67a

Added by Renato Botelho over 9 years ago

Make sure repo metadata is updated before any other package when repo conf changes. Fixes #6052

View differences:

src/usr/local/sbin/pfSense-upgrade
292 292
			pkg_update force
293 293
		fi
294 294

  
295
		if is_pkg_installed ${product}-repo-devel; then
296
			local _repo_pkg="${product}-repo-devel"
297
		else
298
			local _repo_pkg="${product}-repo"
299
		fi
300

  
301
		if [ "$(compare_pkg_version ${_repo_pkg})" = "<" ]; then
302
			cp /usr/local/etc/pkg/repos/${product}.conf \
303
				/tmp/${product}.conf.copy
304
			_exec "pkg upgrade ${_repo_pkg}" "Upgrading ${_repo_pkg}" mute
305
			# If conf differs, for an update
306
			if ! cmp -s /usr/local/etc/pkg/repos/${product}.conf /tmp/${product}.conf.copy; then
307
				pkg_update force
308

  
309
				# New repo may contain newer pkg
310
				if [ "$(compare_pkg_version pkg)" = "<" ]; then
311
					_exec "pkg upgrade pkg" "Upgrading pkg" mute
312
					pkg_update force
313
				fi
314
			fi
315
			rm -f /tmp/${product}.conf.copy
316
		fi
317

  
295 318
		if [ $(pkg upgrade -nq | wc -l) -le 1 ]; then
296 319
			_echo "Your packages are up to date"
297 320
			_exit 0

Also available in: Unified diff