launchd plist -- userid, home directory

Rainer Müller raimue at macports.org
Thu Feb 4 06:41:23 PST 2016


On 2016-02-04 15:15, Craig Treleaven wrote:
> I was looking at modifying the buildbot / buildbot-slave ports to include a sample launchd plist.  I would like to be able to default the UserName and WorkingDirectory keys for the userid that is installing the port.
> 
> <key>UserName</key>
> <string>@someusername@</string>
> <key>WorkingDirectory</key>
> <string>/Users/@someusername@/buildarea</string>
> 
> For example, if I’m installing the port and my userid is ‘wct’, I’d like to s/@someusername@/wct’/g .  
> 
> Within the portfile, how can I determine the userid that invoked ‘port install …'?

I would advise against doing this. The installed sample files would
change depending on the user that ran the port command. The contents of
all files installed by a port should be reflected by the canonical
identifier of name/version/revision/epoch/variants.

Also this would not help if the user installs the port with a binary
archive from one of our buildbots, they would always get a pre-defined
username.

Wouldn't it make more sense to create a dedicated user to run the
buildbot daemon? See add_users in portfile(7) and grep for examples in
the ports tree. If you use some working directory in ${prefix}/var/ it
could even be used out of the box without further configuration.

Rainer

[1] https://trac.macports.org/wiki/ReproducibleBuilds


More information about the macports-dev mailing list