site-packages upgrades (was: portmaster comments)

Matthias Andree mandree at
Tue Mar 15 11:56:51 UTC 2011

Am 14.03.2011 14:19, schrieb Wesley Shields:
>> This doesn't have any effect for,
>> /usr/ports/lang/python/Makefile:31:.if defined(USE_PORTMASTER)
>> Does it ?
> It has an effect on how the upgrade-site-packages target works. I wrote
> it specifically because I didn't want to have to install portupgrade
> just to get the upgrade-site-packages target to work.

Oh, if I may add a shameless plug here, I'd like to advertise 
ports-mgmt/pkgs_which that I've written partially out of the same 
motivation (get upgrade-site-packages targets working without 
portupgrade or pkg_which) and efficiently.  Basically you can do

pkgs_which -qo /usr/local/lib/python2.6

to get a list of packages that need upgrading (takes < 10 s for a 
dual-core energy-efficient 2 GHz-class computer with somewhat slow disks 
and UFS) or

portmaster -d $(pkgs_which -qo /usr/local/lib/python2.6)

to upgrade them all.

Yeah, this code should've been written much sooner, and I've been having 
this idea for a while, but now it's there.

> I think you might be confusing two different issues. The USE_PORTMASTER
> knob was put in place specifically for the upgrade-site-packages target,
> which is not something called during the normal build process by any
> upgrading tool. I'm not sure how using UPGRADE_TOOL will help this at
> all.

Possibly not at all -- it would possibly be more useful to standardize 
these "post-upgrade" jobs.  One "post-install" for the regular stuff, 
and one "post-nontrivial-upgrade" (for want of a better name) for the 
2.6->2.7 or Perl 5.10->5.12 migration pains.

Matthias Andree
ports committer

More information about the freebsd-ports mailing list