New Ticket     Tickets     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #21117 (reopened defect)

Opened 4 years ago

Last modified 2 months ago

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:1 Changed 22 months ago by ryandesign@…

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

comment:2 Changed 20 months ago by ryandesign@…

  • Cc phosphide@…, trond.kandal@… added
  • Milestone set to MacPorts Future

Has duplicate #31430.

comment:3 Changed 18 months ago by ryandesign@…

  • Cc nonstop.server@… added

Has duplicate #32238.

comment:4 Changed 18 months ago by ryandesign@…

  • Cc mmdonley@… added

Has duplicate #32492.

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:7 Changed 4 months ago by egall@…

  • Cc egall@… added

Cc Me!

comment:8 Changed 4 months ago by ryandesign@…

A new fix was committed in r101650 to handle the non-root case. I haven't verified it. But if it works, then can't we remove the elevateToRoot part of r101504?

comment:9 Changed 2 months ago by egall@…

I'm still occasionally running into this issue with some DMGs, such as cg-toolkit.

Last edited 2 months ago by egall@… (previous) (diff)

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
Note: See TracTickets for help on using tickets.