<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/23a2cfb86269528885eaabe2bf3b6606aac67d4b">https://github.com/macports/macports-ports/commit/23a2cfb86269528885eaabe2bf3b6606aac67d4b</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new 23a2cfb dbus: use base support for multiple startupitems
</span>23a2cfb is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 23a2cfb86269528885eaabe2bf3b6606aac67d4b
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Tue Jun 12 17:15:41 2018 +1000
<span style='display:block; white-space:pre;color:#404040;'> dbus: use base support for multiple startupitems
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> The plists are now installed to the standard startupitem locations, so
</span><span style='display:block; white-space:pre;color:#404040;'> users can use 'port load'.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Also removes the no_root and underscore variants. Both root- and
</span><span style='display:block; white-space:pre;color:#404040;'> non-root-owned installations should work correctly without users having to
</span><span style='display:block; white-space:pre;color:#404040;'> choose a variant, and the username can be selected consistently based on the
</span><span style='display:block; white-space:pre;color:#404040;'> OS version and root privileges.
</span>---
devel/dbus/Portfile | 95 +++++++++++++++++------------------------------------
1 file changed, 30 insertions(+), 65 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/dbus/Portfile b/devel/dbus/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index cba4d80..1558021 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/dbus/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/dbus/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,7 +5,7 @@ PortGroup muniversal 1.0
</span>
name dbus
version 1.12.8
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 2
</span> maintainers {mcalhoun @MarcusCalhoun-Lopez} openmaintainer
categories devel
platforms darwin
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -39,11 +39,11 @@ if {$macosx_deployment_target eq "10.4"} {
</span> depends_build \
port:pkgconfig
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if { [variant_isset no_root] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[getuid] != 0} {
</span> set dbus_user ${install.user}
set dbus_group ${install.group}
} else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if { [variant_isset underscore] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${os.platform} eq "darwin" && ${os.major} >= 9} {
</span> set dbus_user _messagebus
} else {
set dbus_user messagebus
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -51,6 +51,19 @@ if { [variant_isset no_root] } {
</span> set dbus_group ${dbus_user}
add_users ${dbus_user} group=${dbus_group} realname=Message\ Bus
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+set daemon_uniquename org.freedesktop.dbus-system
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set agent_uniquename org.freedesktop.dbus-session
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+startupitem.type launchd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+startupitem.create no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+startupitems name dbus-system \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ location LaunchDaemons \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ uniquename ${daemon_uniquename} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ plist ${daemon_uniquename}.plist \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ name dbus-session \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ location LaunchAgents \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ uniquename ${agent_uniquename} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ plist ${agent_uniquename}.plist
</span>
depends_lib port:expat
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -59,16 +72,14 @@ configure.args --disable-doxygen-docs \
</span> --disable-ducktype-docs \
--without-x \
--enable-launchd \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- --with-launchd-agent-dir=${prefix}/Library/LaunchAgents \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --with-launchd-agent-dir=${prefix}/etc/LaunchAgents/${agent_uniquename} \
</span> --with-dbus-user=${dbus_user} \
--disable-tests
post-patch {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${startupitem.install} && ![variant_isset no_root]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Disable if installed into startup directory.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace "s|</array>|</array>\\\n\\\n\\\t<key>Disabled</key>\\\n\\\t<true/>|" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${worksrcpath}/bus/org.freedesktop.dbus-session.plist.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Make agent initially disabled.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s|</array>|</array>\\\n\\\n\\\t<key>Disabled</key>\\\n\\\t<true/>|" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${worksrcpath}/bus/org.freedesktop.dbus-session.plist.in
</span> }
use_parallel_build yes
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -102,8 +113,8 @@ pre-destroot {
</span> post-destroot {
# Simplify startup script over startupitem.install.
# See #15081
<span style='display:block; white-space:pre;background:#ffe0e0;'>- xinstall -d -m 0755 ${destroot}${prefix}/Library/LaunchDaemons
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set plist [open "${destroot}${prefix}/Library/LaunchDaemons/org.freedesktop.dbus-system.plist" w 0644]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -d -m 0755 ${destroot}${prefix}/etc/LaunchDaemons/${daemon_uniquename}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set plist [open "${destroot}${prefix}/etc/LaunchDaemons/${daemon_uniquename}/${daemon_uniquename}.plist" w 0644]
</span>
puts ${plist} "<?xml version='1.0' encoding='UTF-8'?>"
puts ${plist} "<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\""
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -111,7 +122,7 @@ post-destroot {
</span> puts ${plist} "<plist version='1.0'>"
puts ${plist} "<dict>"
<span style='display:block; white-space:pre;background:#ffe0e0;'>- puts ${plist} "<key>Label</key><string>org.freedesktop.dbus-system</string>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ puts ${plist} "<key>Label</key><string>${daemon_uniquename}</string>"
</span>
puts ${plist} "<key>ProgramArguments</key>"
puts ${plist} "<array>"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -125,20 +136,21 @@ post-destroot {
</span> puts ${plist} "<key>KeepAlive</key><true/>"
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${startupitem.install} && ![variant_isset no_root]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts ${plist} "<key>Disabled</key><true/>"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ puts ${plist} "<key>Disabled</key><true/>"
</span>
puts ${plist} "</dict>"
puts ${plist} "</plist>"
close ${plist}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${startupitem.install} && ![variant_isset no_root]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${startupitem.install} && [geteuid] == 0} {
</span> xinstall -d -m 0755 ${destroot}/Library/LaunchDaemons
xinstall -d -m 0755 ${destroot}/Library/LaunchAgents
<span style='display:block; white-space:pre;background:#ffe0e0;'>- ln -s ${prefix}/Library/LaunchDaemons/org.freedesktop.dbus-system.plist ${destroot}/Library/LaunchDaemons
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ln -s ${prefix}/Library/LaunchAgents/org.freedesktop.dbus-session.plist ${destroot}/Library/LaunchAgents
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ln -s ${prefix}/etc/LaunchDaemons/${daemon_uniquename}/${daemon_uniquename}.plist ${destroot}/Library/LaunchDaemons
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ln -s ${prefix}/etc/LaunchAgents/${agent_uniquename}/${agent_uniquename}.plist ${destroot}/Library/LaunchAgents
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ln -sf ${prefix}/etc/LaunchDaemons/${daemon_uniquename}/${daemon_uniquename}.plist ${destroot}${prefix}/etc/LaunchDaemons
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ln -sf ${prefix}/etc/LaunchAgents/${agent_uniquename}/${agent_uniquename}.plist ${destroot}${prefix}/etc/LaunchAgents
</span> }
system "env DYLD_LIBRARY_PATH=${destroot}${prefix}/lib ${destroot}${prefix}/bin/dbus-uuidgen --ensure=${destroot}${prefix}/var/lib/dbus/machine-id"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -147,20 +159,8 @@ post-destroot {
</span> post-activate {
file attributes ${prefix}/var/run/dbus -group ${dbus_group} -owner ${dbus_user}
file attributes ${prefix}/libexec/dbus-daemon-launch-helper -group ${dbus_group}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${startupitem.install} && ![variant_isset no_root]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- file attributes ${prefix}/Library/LaunchAgents/org.freedesktop.dbus-session.plist -owner root -group wheel
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- file attributes ${prefix}/Library/LaunchDaemons/org.freedesktop.dbus-system.plist -owner root -group wheel
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-#pre-deactivate {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# if {${startupitem.install} && ![variant_isset no_root]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# catch {system "launchctl unload /Library/LaunchDaemons/org.freedesktop.dbus-system.plist"}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# catch {system "launchctl unload /Library/LaunchAgents/org.freedesktop.dbus-session.plist"}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> # XXX Building with tests enabled causes dbus to link with dbus-glib,
# which it shouldn't do because that port depends on this one: see #30088
variant test description {enable tests (Only Works if dbus is Already Installed)} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -173,41 +173,6 @@ variant test description {enable tests (Only Works if dbus is Already Installed)
</span> configure.python ${prefix}/bin/python2.7
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${startupitem.install} && ![variant_isset no_root]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- notes "############################################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Startup items have been generated that will aid in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# starting ${name} with launchd. They are disabled
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# by default. Execute the following commands to start them,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# and to cause them to launch at startup:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# sudo launchctl load -w /Library/LaunchDaemons/org.freedesktop.dbus-system.plist
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# launchctl load -w /Library/LaunchAgents/org.freedesktop.dbus-session.plist
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-############################################################################"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- notes "############################################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Startup items were not installed for ${name}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Some programs which depend on ${name} might not function properly.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# To load ${name} manually, run
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# launchctl load -w ${prefix}/Library/LaunchDaemons/org.freedesktop.dbus-system.plist
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# launchctl load -w ${prefix}/Library/LaunchAgents/org.freedesktop.dbus-session.plist
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-############################################################################"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-variant no_root conflicts underscore description {Run the DBUS daemon as MacPorts install user} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pre-fetch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${install.user} eq "root" || ${install.group} eq "wheel"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_error "The DBUS daemon should not be run as root."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- error "Please do not use this variant with your MacPorts configuration."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-variant underscore conflicts no_root description {Put underscore in front of DBUS daemon user} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # For darwin ${os.major} > 8, daemon users have an underscore in front of the usernames and groups.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # This variant allows the user to follow that convention.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> set cross_opts "ac_cv_have_abstract_sockets=no"
if {${os.arch} eq "i386"} {
if { ${os.major} >= 10 } {
</pre><pre style='margin:0'>
</pre>