cvs commit: ports UPDATING

Stephen Montgomery-Smith stephen at missouri.edu
Fri Jul 1 15:45:02 UTC 2011


Matthias Andree wrote:
> Am 01.07.2011 05:22, schrieb Doug Barton:
>> On 06/30/2011 14:03, Stephen Montgomery-Smith wrote:
>>> stephen     2011-06-30 21:03:43 UTC
>>>
>>>     FreeBSD ports repository
>>>
>>>     Modified files:
>>>       .                    UPDATING
>>>     Log:
>>>     - Tell octave-forge* users to completely remove old ports before
>>> reinstalling.
>>
>> This is not the first time this issue (ports doing the wrong thing if
>> you try to build them while they are installed) has come up, and I've
>> been thinking ... do we need something like a NO_REINSTALL flag that can
>> be added to a port's Makefile to indicate the problem? I realize that in
>> many cases the problem is better solved by fixing the real problem.
>> However I think that there are likely situations like this where there
>> is a legitimate problem that can only be overcome by removing the
>> installed ports first.
>>
>> Is this idea worth pursuing? I have some ideas about how it should be
>> implemented but I'm curious what others think about the concept first.
>
> I don't think it's useful.  IMO Ports failing to build if their ancestor
> is installed are buggy (usually they set wrong CPPFLAGS and LDFLAGS and
> pick up system-wide before local #includes) and should be fixed.  I am
> concerned that such a flag would only be abused as a sort of "I don't
> mean to fix the port" marker.
>
> Stephen has (according to his replies here in this thread) done the
> right thing and fixed them.
>

My problem was slightly different.  I had a case where A depended upon 
B, and then if the user did "pkg_delete -f B" and then reinstalled B, 
then A would not work.  Because of the particulars of my situation, it 
was not trivial to fix this.

(The situation was a bit like B=print/teTeX-texmf and A=print/latex-pgf. 
  In this situation, there is a script called mktexlsr which solves the 
problem.  I had to create a similar script to mktexlsr, only in this 
case the script was a bit more complicated.)

Also, I never use tools like portmaster.  When I update, I do something 
like "pkg_delete -r B" and then reinstall A, knowing it will pick up B 
as a prerequisite.  So I only became aware that my ports were 
problematic when I was contacted by a user who told me they weren't 
working with portmaster.

I had always assumed that the "-f" option to pkg_delete was something to 
be avoided.  But tools like portmaster use it as a matter of course, and 
my assumption was proved incorrect.

Stephen


More information about the freebsd-ports mailing list