Ticket #21117 (reopened defect)
use_dmg yes fails to copy from some images sometimes
| Reported by: | ryandesign@… | Owned by: | ryandesign@… |
|---|---|---|---|
| Priority: | Normal | Milestone: | MacPorts Future |
| Component: | base | Version: | 1.8.0 |
| Keywords: | Cc: | blair@…, phosphide@…, trond.kandal@…, nonstop.server@…, mmdonley@…, egall@… | |
| Port: |
Description
"use_dmg yes" doesn't work if you're not root, because it wants to copy everything from the disk image, including things it might not have permission to copy, which includes things that don't need to be copied. Change it to copy only those files we have permission to.
Change History
comment:2 Changed 20 months ago by ryandesign@…
- Cc phosphide@…, trond.kandal@… added
- Milestone set to MacPorts Future
Has duplicate #31430.
comment:5 Changed 4 months ago by blair@…
- Status changed from new to closed
- Resolution set to fixed
Fixed in r101504 by escalating back to root before mounting and copying the contents.
comment:6 Changed 4 months ago by jmr@…
- Cc blair@… added
Is this really fixed for the originally reported case, which was running as non-root to begin with (thus making it impossible to escalate back to root)?
comment:9 Changed 2 months ago by egall@…
I'm still occasionally running into this issue with some DMGs, such as cg-toolkit.
comment:10 Changed 2 months ago by blair@…
Please provide more information on when it doesn't work, such as log output, the command you ran, etc.
comment:11 Changed 2 months ago by egall@…
As root, I ran port -udcp install cg-toolkit (the output is short enough that I can paste it all here):
gl00b05047:~ root# port -udcp install cg-toolkit
DEBUG: Copying /var/root/Library/Preferences/com.apple.dt.Xcode.plist to /opt/local/var/macports/home/Library/Preferences
DEBUG: Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/graphics/cg-toolkit
DEBUG: OS darwin/11.4.2 (Mac OS X 10.7) arch i386
DEBUG: org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided
DEBUG: org.macports.unload registered provides 'unload', a pre-existing procedure. Target override will not be provided
DEBUG: org.macports.distfiles registered provides 'distfiles', a pre-existing procedure. Target override will not be provided
DEBUG: universal_variant is false, so not adding the default universal variant
DEBUG: Requested variant +universal is not provided by port cg-toolkit.
DEBUG: Requested variant +quartz is not provided by port cg-toolkit.
DEBUG: Attempting ln -sf /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_cg-toolkit/cg-toolkit/work /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/graphics/cg-toolkit/work
DEBUG: changing euid/egid - current euid: 0 - current egid: 0
DEBUG: egid changed to: 501
DEBUG: euid changed to: 503
DEBUG: Starting logging for cg-toolkit
DEBUG: cg-toolkit has no conflicts
DEBUG: Executing org.macports.main (cg-toolkit)
DEBUG: changing euid/egid - current euid: 0 - current egid: 0
DEBUG: egid changed to: 501
DEBUG: euid changed to: 503
DEBUG: archivefetch phase started at Wed Mar 13 11:57:09 EDT 2013
---> Fetching archive for cg-toolkit
DEBUG: Executing org.macports.archivefetch (cg-toolkit)
DEBUG: euid/egid changed to: 0/0
DEBUG: chowned /opt/local/var/macports/incoming to macports
DEBUG: euid/egid changed to: 503/501
---> cg-toolkit-3.1.2012.04_1.darwin_11.x86_64.tbz2 doesn't seem to exist in /opt/local/var/macports/incoming/verified
---> Attempting to fetch cg-toolkit-3.1.2012.04_1.darwin_11.x86_64.tbz2 from http://mse.uk.packages.macports.org/sites/packages.macports.org/cg-toolkit
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
DEBUG: Fetching archive failed:: The requested URL returned error: 404
---> Attempting to fetch cg-toolkit-3.1.2012.04_1.darwin_11.x86_64.tbz2 from http://lil.fr.packages.macports.org/cg-toolkit
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
DEBUG: Fetching archive failed:: The requested URL returned error: 404
---> Attempting to fetch cg-toolkit-3.1.2012.04_1.darwin_11.x86_64.tbz2 from http://packages.macports.org/cg-toolkit
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
DEBUG: Fetching archive failed:: The requested URL returned error: 404
DEBUG: Privilege de-escalation not attempted as not running as root.
DEBUG: fetch phase started at Wed Mar 13 11:57:10 EDT 2013
---> Fetching distfiles for cg-toolkit
DEBUG: Can't run fetch on this port without elevated privileges. Escalating privileges back to root.
DEBUG: euid changed to: 0. egid changed to: 0.
DEBUG: changing euid/egid - current euid: 0 - current egid: 0
DEBUG: egid changed to: 501
DEBUG: euid changed to: 503
DEBUG: Executing org.macports.fetch (cg-toolkit)
---> Cg-3.1_April2012.dmg doesn't seem to exist in /opt/local/var/macports/distfiles/cg-toolkit
---> Attempting to fetch Cg-3.1_April2012.dmg from http://developer.download.nvidia.com/cg/Cg_3.1
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 37.4M 100 37.4M 0 0 4926k 0 0:00:07 0:00:07 --:--:-- 4905k
DEBUG: Privilege de-escalation not attempted as not running as root.
DEBUG: checksum phase started at Wed Mar 13 11:57:18 EDT 2013
---> Verifying checksum(s) for cg-toolkit
DEBUG: Executing org.macports.checksum (cg-toolkit)
---> Checksumming Cg-3.1_April2012.dmg
DEBUG: Correct (md5) checksum for Cg-3.1_April2012.dmg
DEBUG: Correct (sha1) checksum for Cg-3.1_April2012.dmg
DEBUG: Correct (sha256) checksum for Cg-3.1_April2012.dmg
DEBUG: Privilege de-escalation not attempted as not running as root.
DEBUG: extract phase started at Wed Mar 13 11:57:18 EDT 2013
---> Extracting cg-toolkit
DEBUG: setting option extract.cmd to /usr/bin/hdiutil
DEBUG: setting option extract.pre_args to attach
DEBUG: setting option extract.post_args to {-private -readonly -nobrowse -mountpoint \"/tmp/mports.Ipncj47O\" && /bin/cp -Rp \"/tmp/mports.Ipncj47O\" \"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_cg-toolkit/cg-toolkit/work/Cg-3.1_April2012\" && /usr/bin/hdiutil detach \"/tmp/mports.Ipncj47O\" && /bin/rmdir \"/tmp/mports.Ipncj47O\"}
DEBUG: Executing org.macports.extract (cg-toolkit)
---> Extracting Cg-3.1_April2012.dmg
DEBUG: setting option extract.args to '/opt/local/var/macports/distfiles/cg-toolkit/Cg-3.1_April2012.dmg'
DEBUG: Environment: CPATH='/opt/local/include' CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_cg-toolkit/cg-toolkit/work/.CC_PRINT_OPTIONS' LIBRARY_PATH='/opt/local/lib' CC_PRINT_OPTIONS='YES' MACOSX_DEPLOYMENT_TARGET='10.7'
DEBUG: Assembled command: 'cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_cg-toolkit/cg-toolkit/work" && /usr/bin/hdiutil attach '/opt/local/var/macports/distfiles/cg-toolkit/Cg-3.1_April2012.dmg' -private -readonly -nobrowse -mountpoint "/tmp/mports.Ipncj47O" && /bin/cp -Rp "/tmp/mports.Ipncj47O" "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_cg-toolkit/cg-toolkit/work/Cg-3.1_April2012" && /usr/bin/hdiutil detach "/tmp/mports.Ipncj47O" && /bin/rmdir "/tmp/mports.Ipncj47O"'
DEBUG: Executing command line: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_cg-toolkit/cg-toolkit/work" && /usr/bin/hdiutil attach '/opt/local/var/macports/distfiles/cg-toolkit/Cg-3.1_April2012.dmg' -private -readonly -nobrowse -mountpoint "/tmp/mports.Ipncj47O" && /bin/cp -Rp "/tmp/mports.Ipncj47O" "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_cg-toolkit/cg-toolkit/work/Cg-3.1_April2012" && /usr/bin/hdiutil detach "/tmp/mports.Ipncj47O" && /bin/rmdir "/tmp/mports.Ipncj47O"
Checksumming Driver Descriptor Map (DDM : 0)…
Driver Descriptor Map (DDM : 0): verified CRC32 $26FC92CD
Checksumming Apple (Apple_partition_map : 1)…
Apple (Apple_partition_map : 1): verified CRC32 $36C7C479
Checksumming disk image (Apple_HFSX : 2)…
disk image (Apple_HFSX : 2): verified CRC32 $1A383EC1
Checksumming (Apple_Free : 3)…
(Apple_Free : 3): verified CRC32 $00000000
verified CRC32 $397F09FC
/dev/disk2 Apple_partition_scheme
/dev/disk2s1 Apple_partition_map
/dev/disk2s2 Apple_HFSX /private/tmp/mports.Ipncj47O
cp: /tmp/mports.Ipncj47O/.Trashes: unable to copy extended attributes to /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_cg-toolkit/cg-toolkit/work/Cg-3.1_April2012/.Trashes: Permission denied
cp: /tmp/mports.Ipncj47O/.Trashes: Permission denied
Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_cg-toolkit/cg-toolkit/work" && /usr/bin/hdiutil attach '/opt/local/var/macports/distfiles/cg-toolkit/Cg-3.1_April2012.dmg' -private -readonly -nobrowse -mountpoint "/tmp/mports.Ipncj47O" && /bin/cp -Rp "/tmp/mports.Ipncj47O" "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_cg-toolkit/cg-toolkit/work/Cg-3.1_April2012" && /usr/bin/hdiutil detach "/tmp/mports.Ipncj47O" && /bin/rmdir "/tmp/mports.Ipncj47O"
Exit code: 1
Error: org.macports.extract for port cg-toolkit returned: command execution failed
DEBUG: Error code: NONE
DEBUG: Backtrace: command execution failed
while executing
"$procedure $targetname"
Warning: targets not executed for cg-toolkit: org.macports.activate org.macports.extract org.macports.patch org.macports.configure org.macports.build org.macports.destroot org.macports.install
Please see the log file for port cg-toolkit for details:
/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_cg-toolkit/cg-toolkit/main.log
To report a bug, follow the instructions in the guide:
http://guide.macports.org/#project.tickets
Error: Processing of port cg-toolkit failed
Apparently it's some issue with the extended attributes?
comment:12 Changed 2 months ago by egall@…
- Status changed from closed to reopened
- Resolution fixed deleted


Has duplicate #30711. This may now be a big deal since we're running as the macports user and not as root.