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