My tool pkg_upgrade (sysutils/bsdadminscripts) is aimed at maintaining packages without a local copy of the ports tree. It gathers all information (apart from conflicts) from the INDEX file provided by pointyhead, which is an accurate list of the available packages.
However there is information missing that would allow pkg_upgrade to handle some cases more gracefully. The MOVED file and UPDATING. UPDATING could be used to prompt warnings to a user. Most UPDATING entries are not interesting for users using binary packages, but e.g. the entry 20090516:print/cups-base is:
It might even make sense to have binary package specific entries in UPDATING. But that, of course, depends on the number of people using this method (which is rather low, I assume).
The MOVED file would allow pkg_upgrade to gracefully upgrade moved packages. Internally category/portname is used as a unique identifier and hence a moved package is a case that's simply not handled at all. The old package would probably get installed as the dependency of something without the old one getting removed. The only way to handle such a case at the moment is by the user, with the -o parameter (as known from portupgrade or portmaster).
I've been asked why I do not take them from the ports tree. The answer is rather simple, pointyhead (or your own tinderbox) normally is not in sync with the current ports tree. And I need the files as they were served with the ports tree the packages were built from.
The remaining text is not about the problem (so you can skip it), but about my motivation:
Using binary packages is not really supported at the moment. It is only usable to add new packages or during a fresh system install. Keeping packages up to date using binary packages was a nightmare before pkg_upgrade.
The only other tool I know for this is portupgrade and it requires a ports tree, which poses the problem that the ports tree is not in sync with the one that the packages were built from. Plus, it has the problem of depending on perl. And I, as well as many others, prefer the philosophy of portmaster. To depend only on base system functionality, with such a critical task as package maintenance.
Prior to the first release I have received support from administrators running large numbers of FreeBSD machines, because pkg_upgrade is exactly what they need and keeping FreeBSD machines up to date has been a problem for a long time. The need was so great that I was provided with servers to test it on and that they performed their own testing as well. I have been assured that I would be provided similar support in the future, should I ask for it. And a keen interest is taken in the future development of pkg_upgrade.
So the demand for binary upgrading does exist and I think I wouldn't be the only one who'd be glad about it working even better.
Maybe portmgr is the right group to ask this for.
Patch to the cluster code currently being tested, which
copies these two files in the packages root folder next
to the INDEX file on the ftp mirrors.
Great to read! Thanks!
Committed to the cluster scripts, the files will be uploaded
in all future updates.
erwin 2009-08-11 07:51:37 UTC
FreeBSD ports repository
- Upload MOVED and UPDATING to the packages directory to make it
available on the ftp mirrors alongside the packages 
- While I'm here, remove a NOOP check for FreeBSD 4.x -exp
PR: 135024 
Requested by: Dominic Fandrey <email@example.com>
Revision Changes Path
1.50 +10 -10 ports/Tools/portbuild/scripts/dopackages
firstname.lastname@example.org mailing list
To unsubscribe, send any mail to "email@example.com"