Opened 9 years ago
Closed 7 years ago
#48045 closed defect (fixed)
dbus "no_root" fails to install
Reported by: | ocroquette (Olivier Croquette) | Owned by: | MarcusCalhoun-Lopez (Marcus Calhoun-Lopez) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.3.3 |
Keywords: | Cc: | ||
Port: | dbus |
Description (last modified by ryandesign (Ryan Carsten Schmidt))
Command: "port install dbus +no_root
", with the target directory in my user directory
The first error is:
error renaming "/Users/user/bin/macports/var/macports/software/dbus/mpextractNk3f1e8H/Library/LaunchAgents/org.freedesktop.dbus-session.plist" to "/Library/LaunchAgents/org.freedesktop.dbus-session.plist": permission denied
A workaround is to set startupitem_install no
in macports.conf
The second error is:
:debug:activate Backtrace: could not set group for file "/Users/user/bin/macports/var/run/dbus": not owner
(at that point however, the port is already activated, so it's possible to install other ports that depend directly or indirectly on dbus)
Change History (5)
comment:1 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | mcalhoun removed |
---|---|
Description: | modified (diff) |
Owner: | changed from macports-tickets@… to mcalhoun@… |
comment:2 Changed 9 years ago by ocroquette (Olivier Croquette)
Thanks for the reply. Can't "startupitem_install" be set set implicitly for the no_root variant?
comment:3 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)
I feel that the "no_root" variant should not exist. Instead, the port should detect if the MacPorts prefix was created with a non-root user, and act accordingly.
As far as I know, the inability of dbus no_root to install a launchd plist is not specific to the dbus port. Any port attempting to install a launchd plist would experience this failure in a non-root MacPorts prefix. Therefore, it is not up to each port to fix this, but rather it is up to the user to configure their MacPorts installation properly. If any change is needed in MacPorts related to this, it would be a change in MacPorts base to either alert the user to their improper configuration and/or for the installation process to automatically disable startupitems if the installation isn't going to use root.
comment:4 Changed 9 years ago by ocroquette (Olivier Croquette)
I tend to agree with that. Some things that might help:
- maintain an official "non-root" howto
- support it in the official installer (AFAIK, currently on has to compile MacPorts him/herself)
- provider helpers/automatism's for Portfile maintainers
comment:5 Changed 7 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Currently, dbus does not attempt to do anything requiring root access if the no_root
variant is selected (see here), so I will mark this ticket as fixed.
Please feel free to reopen if this is not, in fact, the case.
The first error is expected, in that it is known that you cannot install files into root-owned locations like /Library if you are not root, so you should ask MacPorts not to attempt to do so. To do that, you should set
startupitem_install no
in macports.conf as you already discovered. This is not specific to the dbus port.I'm not certain about the second issue.