[MacPorts] #49903: libcxx: undo changes to system directories when deactivating
MacPorts
noreply at macports.org
Fri Dec 4 07:29:47 PST 2015
#49903: libcxx: undo changes to system directories when deactivating
---------------------------+------------------------
Reporter: ryandesign@… | Owner: jeremyhu@…
Type: enhancement | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 2.3.4
Resolution: | Keywords:
Port: libcxx |
---------------------------+------------------------
Comment (by jeremyhu@…):
The reason that the port is setup this way is to specifically prevent
deactivation from removing contents of system directories. What you
suggest could be *extremely* dangerous, especially if some bug causes that
code to accidentally remove them in the Lion+ case.
libc++ and libc++abi first appeared in Lion, so that is why the ports
default to +replacemnt_libcxx on SL and earlier and -replacemnt_libcxx on
Lion and later. The port never replaces system files on its own. On
Lion+, we tell the users that if they want to replace the system
libraries, they should use darwinup to do so, so darwinup can be used to
roll back their changes. On SL-, we just update the host ourselves using
the same technique (tarball root rather than destroot directly) because of
this case:
1. User installs libcxx on Snow Leopard
2. User updates to Lion+
3. User uninstalls all ports in order to update them
We specifically don't want to remove the (now-system-provided)
libc++abi.dylib and libc++.dylib
The disk space cost of having 2 dylibs (libc++abi and libc++) that the
user might not need any more on their system is far less than the
potential risk of things going wrong because we removed the dylibs.
I'd feel more comfortable giving instructions in deactivate than actually
doing the work there. Would that be acceptable?
--
Ticket URL: <https://trac.macports.org/ticket/49903#comment:3>
MacPorts <https://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list