port upgrade outdated order

Chris Jones jonesc at hep.phy.cam.ac.uk
Wed Mar 4 03:52:06 PST 2015


On 04/03/15 11:29, René J.V. Bertin wrote:
> On Wednesday March 04 2015 10:51:06 Chris Jones wrote:
>
>> Personally, I think what it does is *always* correct.
>
> Aren't you relying on the assumption that all ports register all the files they install?

yes. If they don't that should be regarded as a bug.

  What happens to files installed because of some port C that are used 
by port A while it builds, how are you going to block them if port C is 
not on the dependency list?

If port C is not listed as a dependency of port A, and port A then uses 
files from port C, then that is a bug in port A.

> There were discussions not that long ago that showed that there are classes of files that get installed by ports but not registered for a reason.
>
>> So no, I don't personally think there should be a way for ports to opt
>> in or out.
>
> So to you it's OK if a port fails to build because it pulls in things from an earlier, installed version of itself that were not blocked because the feature was not enabled, and do so without as much as an explanation?

Thats not what I said.

All I am saying is a port build should be *completely* reproducible and 
predictable. What happens during the build of a port should not depend 
on either anything from an older currently installed version of that 
same port, or from any ports which the port in question finds at build 
time and uses, but has not declared a dependency on.

trace mode, which blocks access to files a port should not be using 
(because they have not declared a dependency) is a great tool at 
providing this reproducibility. I do not see any use case for an 
individual port being able to by itself opt in or out of this feature, 
it should be completely up to the user running port to decide, either 
via a command line switch, or via macports.conf. I would not be in 
favour of ports being able to forcibly opt out, as the only reason for 
doing so in my opinion is because they have bugs that should instead be 
fixed.

Chris
>
> I'd be in favour of a more pragmatic approach, and allow opt-in (require it) when the feature is disabled globally (in macports.conf, possibly with a warning), which turns to an error when the feature was disabled on the commandline. That's not unlike how dependencies are handled: nothing is done when they're already installed, they're installed when needed unless the user takes action to prevent that - in which case an error is raised at some point.
>
> R.
>
> _______________________________________________
> macports-dev mailing list
> macports-dev at lists.macosforge.org
> https://lists.macosforge.org/mailman/listinfo/macports-dev
>



More information about the macports-dev mailing list