On 16/11/2014 08:25, Kurt Jaeger wrote: > Now that 10.1 is released, I re-built all the ports relevant to me via > > poudriere bulk -f ~/pkg/all -j 10x > > and then had a nice new repo to pkg update. > > But: If I upgrade a 10.0 box to 10.1 and then ask them to use the > new repo, how can I enforce a complete reinstall of all packages > built on 10.1 instead of having a mix of old and new pkgs ?
For a 10.0 to 10.1 upgrade, reinstalling everything is not generally required. However I assume you have your own reasons to want to do so. You can force a re-install of all installed packages by: # pkg upgrade -f If you want to selectively update just the packages installed from a particular repo, or installed before a specific date, there isn't a handy built-in way to do that. You'll have to generate a list of appropriate packages and feed it to pkg install -f using xargs(1) -- eg. # pkg query "%n-%v %An %Av" | grep "repository $reponame" \ | cut -d' ' -f 1 | xargs pkg install -f # date=$( date -j -f "%Y-%m-%d %H:%M:%S" "2014-10-16 00:00:00" +%s ) # pkg query "%n-%v %t" | awk "{ if (\$2 < $date ) print \$1; }" \ | xargs pkg install -f The business with 'date -j -f ...' is to convert a date specified in the usual way (year, month, day, hour, minutes, seconds) into the unix epoch time, which can then be compared as an integer to the timestamp pkg(8) produces. Cheers, Matthew -- Dr Matthew J Seaman MA, D.Phil. PGP: http://www.infracaninophile.co.uk/pgpkey
signature.asc
Description: OpenPGP digital signature