Keeping selected ports to a previous version

Riccardo Mottola riccardo.mottola at libero.it
Tue Jul 3 11:43:53 UTC 2018


Hi Ken,

On 2018-07-02 20:07:06 +0200 Ken Cunningham 
<ken.cunningham.webuse at gmail.com> wrote:

> The full description is here 
> <https://guide.macports.org/chunked/development.local-repositories.html>, 
> but 
> there is a crucial concept to get.

I got the grucial concept before asking, but it was still shadowy to 
me how to make things work reliably.

> Each repository needs to have the proper structure -- a main folder, 
> with 
> subfolders that match MacPorts' repo structure, and then ports in 
> there.

We could somehow then offer an "official" tree containing the sum of 
all single packages kept to an older version, I fear that despite the 
efforts older architectures will need to be remain back. Even though 
the fantastic effort of you and friends to five us oupdated compilers 
and such, the Foundation and AppKit remains fixed.

> After modifying a given repo, you need to run "portindex" at the head 
> folder 
> of that repository to update the index.

That is all clear. Part of my issue is how to get a certain version.
Right now I solved my case this way

1) create local repository
2) create gimp and gimp2 ports by manually downloading the files from 
the macports repository at the "point" it transitioned from 2.8 to 
2.10

This is of course a bit tedious, it was manageable for a couple of 
patch files, but will need manual work to cherrpyick eventual 
upgrades.

> You turn these repos on and off by commenting out the line in 
> sources.conf 
> that specifies them.
> 
> When MacPorts gets and instruction that involves a port, e.g. "sudo 
> port 
> install gimp" it searches those repos in order 1, 2, 3, 4 and uses 
> the FIRST 
> one it finds.
> 
> So the main macports repo is ALWAYS available as the fallback. The 
> other 
> repos are only used if you have overridden (or "shadowed") a port.

Yeah clear, it is a priority list. Since macports doesn't have really 
versions (except if two distinct packages exist) it works, but can of 
course caouse incompatible dependencies, causing then the need to go 
up the tree with releases.

> 
> It's a powerful system, but you must keep your wits about you. It 
> would be 
> somewhat embarrassing to see tickets that turn out to be caused by 
> one's own 
> shenanigans doing this.


I will, up to know I only have one port and it worked too! But I bet 
it will grow and perhaps I shall offer it to github.

Riccardo



More information about the macports-users mailing list