ports/90046: portupgrade doesn't honor PACKAGES variable when "packaging a port as dependency"
Karol Kwiatkowski <firstname.lastname@example.org>
freebsd at orchid.homeunix.org
Tue Dec 6 20:30:07 UTC 2005
>Synopsis: portupgrade doesn't honor PACKAGES variable when "packaging a port as dependency"
>Arrival-Date: Tue Dec 06 20:30:04 GMT 2005
>Originator: Karol Kwiatkowski <freebsd at orchid.homeunix.org>
>Release: FreeBSD 6.0-STABLE i386
FreeBSD blackacidevil.orchid.homeunix.org 6.0-STABLE FreeBSD 6.0-STABLE #1: Sun Dec 4 18:44:11 CET 2005 root at blackacidevil.orchid.homeunix.org:/mnt/big/FreeBSD/obj/usr/src/sys/BLACKACIDEVIL i386
PORTSDIR not set
portupgrade rev.1049 (2004-12-26) [port: portupgrade-20051204]
Port sysutils/portupgrade doesn't honor PACKAGES variable in specific
situation: when it is packaging installed ports which depend on an previously
upgraded port (using -pr options) and which doesn't need to be upgraded.
It creates them in default location (probably $PORTSDIR/packages/All):
# nice portupgrade -rp portupgrade
---> Upgrading 'portupgrade-20051200' to 'portupgrade-20051204' (sysutils/portupgrade)
---> Building '/usr/ports/sysutils/portupgrade'
===> Registering installation for portupgrade-20051204
===> Building package for portupgrade-20051204
Creating package /mnt/big/FreeBSD/packages/All/portupgrade-20051204.tbz
Registering depends: perl-5.8.7 ruby18-bdb1-0.2.2 ruby-1.8.2_5,1.
Creating bzip'd tar ball in '/mnt/big/FreeBSD/packages/All/portupgrade-20051204.tbz'
===> Cleaning for portupgrade-20051204
---> Cleaning out obsolete shared libraries
[Updating the pkgdb <format:bdb1_btree> in /var/db/pkg ... - 588 packages found (-0 +1) . done]
---> Packaging 'pkg_cutleaves-20040517' as dependency
Creating package /usr/ports/packages/All/pkg_cutleaves-20040517.tbz
Creating bzip'd tar ball in '/usr/ports/packages/All/pkg_cutleaves-20040517.tbz'
Note pkg_cutleaves is not upgraded (it's already up to date)
only package is created. When forcing upgrade (portupgrade -fpr)
PACKAGES variable _is_ used.
[P.S. There's no portupgrade-20051200. I modified my ports database by hand
to make portupgrade upgrade itself and demonstrate the problem.
It's portupgrade-20051204 that's running.]
Set PACKAGES in /etc/make.conf to location other then default.
Run portupgrade -rp on a port that needs to be upgraded
and there are ports which depend on it and doesn't need to
Workaround (sort of): when creating packages recursively with portupgrade
either force recursive upgrading (-f) or move newly created
packages to desired location by hand.
More information about the freebsd-ports-bugs