> On Nov 8, 2021, at 04:00, FritzS GMX wrote:
>
> Which users (and their groups) are created by MacPorts and how can they be
> created during a new installation so that they get a UID (also GroupID)
> previously defined by me.
> Is there possibly a script suggestion that could be used before the MacPorts
> installation?
>
> I want to achieve UID's & GroupID's starting from 530.
>
> I want to install MacPorts on my new M1 MacMini with Monterey.
>
> From my old Mac with ElCapitan
> # _messagebus 512
> # avahi 511
> # ldap 500
> # macports 506
> # messagebus 508
> # named 509
> # pulse 510
MacPorts provides no method for you to influence which UIDs and GIDs it chooses
when it creates new users and groups. It picks the next free number starting at
501. If you want to change that, you can modify the source.
If the user/group MacPorts wants to create already exists, MacPorts doesn't do
anything, so one solution is for you to pre-create the users/groups you need
with the desired IDs.
When you install MacPorts, it creates the "macports" user. If you use the pkg
installer, the code that does this is here:
https://github.com/macports/macports-base/blob/v2.7.1/portmgr/dmg/postflight.in#L164-L169
If you build from source, the code that does this is here:
https://github.com/macports/macports-base/blob/v2.7.1/Makefile.in#L53-L58
You can change NEXTUID from 501 to something else if you want it to search for
an unused ID starting at a different number.
Individual ports that you install may create their own users/groups. To find
the ones that do, grep the Portfile for the commands "adduser", "addgroup" (the
old commands) and "add_users" (the new command).
The code that creates these users/groups is here:
https://github.com/macports/macports-base/blob/v2.7.1/src/pextlib1.0/Pextlib.c#L270-L304
The constants MIN_USABLE_UID and MIN_USABLE_GID are defined here:
https://github.com/macports/macports-base/blob/v2.7.1/configure.ac#L277-L280
You can change MIN_USABLE_UID and MIN_USABLE_GID from 501 to something else if
you want it to search for an unused ID starting at a different number. If you
update MacPorts to a new version using selfupdate or our pkg installer these
changes would be lost, so if you want to preserve this modification make sure
you only update MacPorts base by building from your modified sources in the
future.