[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