On 25/06/2012 08:53, Dan Mahoney, System Admin wrote: > I'm presently in the process of trying to do a portupgrade from rt-3.8.8 > to 3.8.13. By all estimations, this is a minor bump. > > Already, I've encountered several annoyances due to ABI changes, such as > the libtool2.4 fun. With normal portupgrade, this forces you to go fix > the dependent port. > > Finally, I just applied -r, which should update all dependent packages, > but it seems to upgrade them unconditionally. > > Ergo, I've since built a new version of perl, a new verion of python, > rebuilt every perl module on the system, am presently rebuilding > apache22, and I'm sure the system will turn around and require me to > rebuild postgres real soon. > > You would think there's an option to portupgrade that says "don't > upgrade every single package I've got, but if somewhere in the > dependency chain I need a newer version of a thing, then do it." > > Am I just missing it in the manpages, or does such a thing really not > exist?
It has been many years since I used portupgrade with any regularity, and many of those neurones have been recycled. However, I do recall that: portupgrade -a should update all out-of-date ports on your system. portupgrade -r pkgname should update pkgname (if out of date) and all packages that depend on pkgname. portupgrade -R pkgname should update everything that pkgname depends on plus pkgname (if out of date). 'portupgrade -R' sounds like what you want. I believe that the meaning of the -r and -R flags in portupgrade is reversed from pkg_info(1) which is annoyingly inconsistent. Nowadays I usually use portmaster, where: portmaster pkgname works equivalently to 'portupgrade -R pkgname' except that portmaster /always/ reinstalls pkgname even if it is up to date. ie. the standard default action of portmaster is to do exactly what you want. Cheers, Matthew -- Dr Matthew J Seaman MA, D.Phil. PGP: http://www.infracaninophile.co.uk/pgpkey
signature.asc
Description: OpenPGP digital signature