I'm going to play devil's advocate on this and another post (with competing 
positions, so don't feel bad).

MacPorts knows the library dependencies of a port. While it does not now 
(AFAIK) record the specific versions of each used to build an installed port, 
in principle, it could; at which point it could (also in principle) determine 
whether any of them had changed, thus requiring a rebuild of the port that 
depended on them, even if its version hadn't changed.

That's NOT a feature request, or probably even a practical idea. But IMO, it 
does indicate that there are solutions such that the library ports would NOT 
have to be aware of what used them.

> On Dec 6, 2020, at 15:46, Ryan Schmidt <[email protected]> wrote:
> 
> 
> 
> On Dec 6, 2020, at 09:31, Riccardo Mottola wrote:
> 
>> I can think of two scenarios:
>> 
>> - building "always safe" binaries which can be used at system level, e.g. 
>> login shells, tools, things put in launchd. That is things you want to 
>> always work, even if you are during a MacPorts upgrade. NetBSD offers two 
>> packages for the same thing, e.g. bash and bash-static, IIRC. perhaps in 
>> MacPorts it could be a "variant"?
> 
> No, we should not offer a variant of any port to do a static build. Static 
> build means all of the libraries that a program depends on are copied into 
> the program executable. That means if we later update one of those libraries 
> to a newer version, the statically-built program will not benefit from those 
> fixes, unless its revision is increased to rebuild it, but whoever updated 
> the library would not know that that needs to be done. We should not 
> introduce more situations into MacPorts where developers updating library 
> ports need to know about increasing the revisions of ports that use the 
> library. Instead we should do the opposite, identifying those ports that only 
> build a static library and fixing them so that they also or instead build a 
> dynamic library so that ports that link with them can benefit from new 
> versions without needing to be rebuilt.
> 
> 

Reply via email to