Ports 104877 causing big problems

Ade Lovett ade at FreeBSD.org
Sat Mar 10 07:49:04 UTC 2007


On Mar 09, 2007, at 22:47 , Doug Barton wrote:
> On it's face I find the idea of bumping PORTREVISION for every port  
> that uses libtool in any form a sort of silly proposition. The  
> change in behavior was introduced in Mk/*, I think it's reasonable  
> to expect that the fix happen there too.

Ok.  Let's take this opportunity right here to take a step back and  
look at the rather larger picture.

Prior to bsd.autotools.mk, we had a situation where, by default, .la  
files were not installed - this made FreeBSD substantially different  
from both Linux and, somewhat more importantly, pkgsrc.

At the same time, there have been an ever-increasing number of ports  
that *required* .la files to be installed (KDE being a good example  
here), in the cases of dynamically loading plugins into an  
application framework.

So the decision was made, with plenty of opportunities for  
discussion, to install .la files by default (along with a whole ton  
of other infra-structural changes, ie: the migration to  
USE_AUTOTOOLS, and the introduction of bsd.autotools.mk where the  
magick happens).

End result, FreeBSD is now considerably more "in-line" with Linux and  
pkgsrc with respect to autotools handling.  It's by no means perfect,  
but it's *a lot* better than it was.  Current future plans involve  
suitable wrapper ports (very similar to Gentoo, given that it's the  
closest Linux to FreeBSD in terms of its ability to build most  
everything from source).

Anything that touches autotools has far-reaching consequences.   
Killing off libtool-1.3.x took something like 5 full -exp runs to  
iron out all the edge cases and even after that, there was still some  
fallout which had to be addressed.  A *lot* of time and effort had to  
be spent in order to make this happen.

So, seemingly innocuous changes like changing the semantics of what a  
well-established port variable like GNU_CONFIGURE has potentially far- 
reaching consequences.  The armchair generals are more than welcome  
to debate to their hearts content the idyllic solution, but there are  
real-world constraints that prevent such nirvana.

As autotools maintainer, I have laid out a potential course of action  
to this (as yet unproven) problem - it's not related to +REQUIRED_BY,  
as already pointed out.  Braino on my part, this is compile and run- 
time issues, not a ports dependency issue.  My apologies.

I'm certainly willing to listen to other options, however they must  
be at least as non-intrusive as the suggested course of action -  
hint: changing the semantics of GNU_CONFIGURE, or otherwise touching  
bsd.port.mk, is considerably more intrusive.

I don't for one minute pretend to be the absolute authority on  
autotools, however I believe that I happen to know a reasonable  
amount, resulting from my shepherding of them over the past few  
years.  Of course, if someone else wants to step up to the plate and  
continue the good fight, that's fine by me.  Send me your freefall  
login, and the ports and infrastructure will be handed over in a  
heartbeat.

-aDe



More information about the freebsd-ports mailing list