On 2020-10-4 16:36 , Ryan Schmidt wrote:
> On Oct 3, 2020, at 23:40, Jason Liu wrote:
> 
>>> Just looking at your idea to distribute all portfile versions, let's start 
>>> with the fact that portfile syntax has evolved over time.
>>
>> This is where portfile syntax itself can, and probably should, be versioned. 
>> Maybe by incrementing PortSystem? i.e. PortSystem 1.3, 1.4, 2.0, etc. 
>> Similar to how the HTML standard specification's version number has changed 
>> over time, from HTML 2 all the way to the current HTML 5.
> 
> Yes, we could do that starting now, but since we haven't up to now, the 
> problem exists. The portsystem version concept was part of the original 
> MacPorts design, predating the involvement of everyone here, so we would have 
> to figure out how it works, whether it was ever fully implemented, what the 
> implications would be of increasing the version, etc.

It is implemented to the extent that "PortSystem $version" is a proc
call that runs "package require port $version". Keeping support for old
Portfiles would require keeping around old versions of the port package
and the other packages it requires, with the old code that the old
Portfiles rely upon (including problematic code; this would need to be
"bug for bug" compatibility.)

Linux distros don't support building their old packages from source in
arbitrary newer environments, they just let you install the package.
Given compatible versions of all the dependencies, that usually works,
because they are an entire OS and so they're targeting the Linux kernel
ABI which is quite stable.

- Josh

Reply via email to