[MacPorts] #25255: MacPorts deleted /etc when I installed cdrtools in two MacPorts prefixes

MacPorts noreply at macports.org
Mon Jun 14 20:01:53 PDT 2010


#25255: MacPorts deleted /etc when I installed cdrtools in two MacPorts prefixes
-------------------------------------+--------------------------------------
 Reporter:  ryandesign@…             |       Owner:  macports-tickets@…                   
     Type:  defect                   |      Status:  new                                  
 Priority:  High                     |   Milestone:                                       
Component:  ports                    |     Version:  1.9.0                                
 Keywords:                           |        Port:                                       
-------------------------------------+--------------------------------------
 I have more than one MacPorts prefix. I had cdrtools installed in one of
 them. cdrtools has an mtree violation where it installs things in /etc, as
 already reported in #23035. Having forgotten this, I installed cdrtools in
 another MacPorts prefix on the same machine. The result was:

 {{{
 --->  Fetching cdrtools
 --->  Verifying checksum(s) for cdrtools
 --->  Extracting cdrtools
 --->  Configuring cdrtools
 --->  Building cdrtools
 --->  Staging cdrtools into destroot
 Warning: violation by /etc
 Warning: cdrtools violates the layout of the ports-filesystems!
 Warning: Please fix or indicate this misbehavior (if it is intended), it
 will be an error in future releases!
 --->  Installing cdrtools @3.00_0
 --->  Activating cdrtools @3.00_0
 Error: Target org.macports.activate returned: could not create new link
 "/etc/default/cdrecord": that path already exists
 Log for cdrtools is at:
 /opt/local/var/macports/logs/_Users_rschmidt_macports_dports_sysutils_cdrtools/main.log
 Error: Status 1 encountered during processing.
 To report a bug, see <http://guide.macports.org/#project.tickets>
 }}}

 Following this, /etc had been deleted. The log contains:

 {{{
 :msg:activate --->  Activating cdrtools @3.00_0
 :debug:activate activating directory: /
 :debug:activate activating directory: /etc
 :debug:activate activating directory: /etc/default
 :debug:activate activating file: /etc/default/cdrecord
 :debug:activate hardlinking
 /opt/local/var/macports/software/cdrtools/3.00_0/etc/default/cdrecord to
 /etc/default/cdrecord failed, symlinking instead
 :debug:activate Activation failed, rolling back.
 :debug:activate /private/etc/default is not empty
 :debug:activate /private/etc is not empty
 :debug:activate /private is not empty
 :debug:activate deactivating link: /etc
 :debug:activate / is not empty
 :error:activate Target org.macports.activate returned: could not create
 new link "/etc/default/cdrecord": that path already exists
 }}}

 Fortunately /etc on Mac OS X is just a symlink and could be recreated with

 {{{
 $ sudo ln -s private/etc /etc
 sudo: can't stat /etc/sudoers: No such file or directory
 Segmentation fault
 $ su
 # ln -s private/etc /etc
 # exit
 $
 }}}

 but MacPorts should not be deleting /etc...

 This was using the 1.9 branch @68818

-- 
Ticket URL: <http://trac.macports.org/ticket/25255>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list