Well, perhaps not 5000 errors, but quite a lot of errors.
A recent change to Mk/bsd.perl.mk has caused all sorts of grief on two of the FreshPorts servers. The problem occurs when specifying PORTDIR. Here is an example:
#!/bin/sh
make -V BUILD_DEPENDS -V FORBIDDEN \
-f /usr/home/dan/ports/databases/p5-DBIx-Class/Makefile DISTDIR=/usr/ports/distfiles PORTSDIR=/usr/home/dan/portsmake -V BUILD_DEPENDS -V FORBIDDEN \
-f /usr/home/dan/ports/databases/p5-DBIx-Class/Makefile DISTDIR=/usr/ports/distfiles
The difference in the output for perl.
/usr/local/bin/perl5.8.9:/usr/home/dan/ports/lang/ /usr/local/bin/perl5.8.9:/usr/ports/lang/perl5.8
That is the problem. There is no port called lang. Thus, when FreshPorts tries to add the dependencies, it errors.
The system which works is using revision 1.22 of perl.mk. The system which fails is using revision 1.23.
The diff is:
diff bsd.perl.mk ~dan/ports/Mk/bsd.perl.mk | less 4c4 < # $FreeBSD: ports/Mk/bsd.perl.mk,v 1.23 2012/03/08 18:37:53 pgollucci Exp $ --- > # $FreeBSD: ports/Mk/bsd.perl.mk,v 1.22 2011/08/15 06:50:00 sunpoet Exp $ 70a71,74 > .elif ${PERL_LEVEL} >= 501000 > PERL_PORT?= perl5.10 > .else # ${PERL_LEVEL} < 501000 > PERL_PORT?= perl5.8
Before you ask, this is the setting on all systems, regardless of success or failure:
$ grep PERL_VERSION /etc/make.conf PERL_VERSION=5.8.9
The fix is as follows:
$ diff ~dan/ports/Mk/bsd.perl.mk ~dan/ports/Mk/bsd.perl.mk~ 71,72d70 < .else < PERL_PORT?= perl5.8
Thanks to aDe and melflynn for helping me track this down and come up with a fix to stop the errors.
Hopefully this will be fixed in Mk/ soon.
The change which triggered this problem has been reverted.
I have a few ports to clean up.
And here is how I think we can fix it:
The ports in question are:
Let’s see if this works.