[109333] trunk/dports/devel/akonadi/Portfile

Bradley Giesbrecht pixilla at macports.org
Thu Aug 15 07:31:54 PDT 2013


On Aug 14, 2013, at 8:32 PM, Joshua Root wrote:

> On 2013-8-15 11:53 , Ryan Schmidt wrote:
>> 
>> On Aug 13, 2013, at 10:01, nicos at macports.org wrote:
>> 
>>> +variant no_root description {Run the akonadi server start as MacPorts install user.} {
>>> +    pre-fetch {
>>> +        if { ${install.user}=="root" || ${install.group}=="wheel" } {
>>> +            ui_error "The akonadi server should not be run as root with no_root variant."
>>> +            error "Please do not use this variant with your MacPorts configuration."
>>> +        }
>>> +    }
>>> +
>>> +    set startup_root  [join [lrange [exec /usr/bin/dscl . -read Users/${install.user} NFSHomeDirectory] 1 end]]
>>> +    # Files are installed into user's startup directory.
>>> +    destroot.violate_mtree  yes
>>> +}
>> 
>> Variant names beginning with "no_" are deprecated; please don't create new ones. Usually you should instead use a positively-named variant and use default_variants to turn it on by default, but in this case that would be weird too since this variant implements a nonstandard function. Is a variant really needed at all? Couldn't the port detect whether the user's MacPorts install is as root or not, and react accordingly? That would seem best.
> 
> Yes it could check [getuid], but since this is affecting where the plist
> is installed, that wouldn't help if the port is built (as root) on a
> different machine than it's installed on (as not-root).
> 
> This whole installing the plist in the user's home dir thing seems odd
> though, as all the ports using base's StartupItem code don't do that for
> non-root installs. The plist is still present in
> ${prefix}/Library/LaunchDaemons even if it's not linked into
> /Library/LaunchDaemons, and presumably you could tell the user to load
> it from there.


Right, doesn't installing anything in the users home potentially break for multiple user systems?


Regards,
Bradley Giesbrecht (pixilla)



More information about the macports-dev mailing list