Hi Ken,

On 2018-07-02 20:07:06 +0200 Ken Cunningham <[email protected]> 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

Reply via email to