From: | YONETANI Tomokazu <qhwt+dragonfly-bugs@xxxxxxxxxx> |
Date: | Wed, 14 Jul 2004 11:40:57 +0900 |
Hi. On Fri, Jul 09, 2004 at 11:20:17PM +0000, Marco Righele wrote: > Greetings, > If i try to use portupgrade with a package from dfports, I get the following: > > #portupgrade qmake > [Updating the pkgdb <format:bdb1_btree> in /var/db/pkg ... > - 253 packages found (-0 +2) .. done] > > ** Invalid package name: devel/qmake: : Not in due form: <name>-<version> > ** Listing the failed packages (*:skipped / !:failed) > ! devel/qmake (qmake-3.3.1) (invalid package name) > ---> Packages processed: 0 done, 0 ignored, 0 skipped and 1 failed Please try the tentative patch attached to this message to get it work. > Given that this happened with every dfport I tried, my guess is that > the bug lies in a common file, like a .mk file. Yes, this happens only if the port has dfport override, in which case some make variables are not defined. The variables are supposed to be defined in ${PORTSDIR}/Mk/bsd.port.mk, but you can't include this file when we have an override, because if you do so, you end up building the port in FreeBSD ports tree rather than in dfports tree. Grepping through files in portupgrade port, there are two instances where they look at variables: - by issuing `make -V SOME VARIABLES`: list of variables are; CATEGORIES SUBDIR PKGNAME IGNORE NO_IGNORE and the only variable that needs to be defined in *.mk is PKGNAME. Other variables are usually set in the Makefile(s) in each portdir. - calling make_var method(and make -V is issued in that method): in this case, make -V is issued after chdir'ing to ${PORTSDIR} in most cases, so this should not be a problem. So I think making PKGNAME defined in overridden case is enough to fix the portupgrade program.
Attachment:
fix-portupgrade.diff.gz
Description: application/gunzip