[macports-base] branch master updated: Honour startupitem.install at activation time

Rainer Müller raimue at macports.org
Mon Apr 9 00:20:11 UTC 2018


On 2018-04-09 01:20, Joshua Root wrote:
> On 2018-4-9 08:43 , Rainer Müller wrote:
>> This handles ports that create .plist files via startupitem.* or the new
>> startupitems. However, there are also ports that install custom .plist
>> file to ${destroot}/Library/Launch*. Some ports even do that
>> unconditionally.
> 
> Ports that do this should set 'startupitem.create no' and
> 'startupitem.type launchd', plus whatever other variables like
> startupitem.name are needed based on what they called their plist.

I found no port in or ports tree that does it that way.

There are only exactly two ports that use 'startupitem.create no':
mpstats and certsync.

But these do not set startupitem.type either. And even they create the
symlink in /Library/Launch* manually...

Other ports just install a .plist to
${prefix}/etc/Launch*/org.macports.${name}/*.plist and creates the
symlink at /Library/Launch*/*.plist without setting any startupitem.*
option. For example, mysql*-server (and the percona and mariadb forks).

As far as I can see, 'startupitem.create no' is not required right now
and not used. I do not think Portfile authors will understand why it
would be necessary. We should find a solution without it.

> I've been wondering if we should also have an option called something
> like startupitem.file that could be set to a path, e.g.
> ${filespath}/my_job.plist, and then base would install it to the right
> place.

This could work, except for ports where the upstream build system
already installs the .plist. For example, xinit.

https://github.com/macports/macports-ports/blob/master/x11/xinit/Portfile#L53

Rainer


More information about the macports-dev mailing list