cvs commit: ports UPDATING
Matthias Andree
mandree at FreeBSD.org
Fri Jul 1 09:04:33 UTC 2011
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.
However, a simple NO_REINSTALL = yes with the meaning of "deinstall port
ancestor before attempting a build" doesn't help:
- if files have moved between ports.
The former could only be fixed with a REINSTALL_PORTS_GROUP=
origin1/port1 origin2/port2 ... or similar (not sure if pkgng would be a
good starting point for that)
- and/or if deinstall scripts break the system.
In contrast to RPM-based systems, this is hardly ever a problem in
FreeBSD, as the pkg* stuff doesn't install two versions in parallel if
you update with rpm -U.
And even if we had NO_REINSTALL, we'd at least need to be able to state
a version range, because ports like this can usually remain installed if
you just bump PORTREVISION to add a security patch or fix pkg-plist.
Or have I misunderstood your proposal now?
More information about the freebsd-ports
mailing list