[MacPorts] #49903: libcxx: undo changes to system directories when deactivating
MacPorts
noreply at macports.org
Sun Dec 6 11:09:09 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@…):
Replying to [comment:4 ryandesign@…]:
> That's an excellent point that I had not considered. But wouldn't it be
a simple matter of checking the OS version to handle that? The post-
activate block in the portfile that untars the tarball is already guarded
by a check that os.major < 11. Wouldn't guarding my proposed pre-
deactivate block in the same way be sufficient to avoid the scenario you
described?
Yes, but it just doesn't sit well with me.
> > 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'm not concerned about the disk space; I'm concerned about unregistered
components being left on the user's system which might have an effect on
it. For example, software like aria2 that checks for libc++ would find it
and would build against it.
Shouldn't aria2 be honoring configure.cxx_stdlib?
> > I'd feel more comfortable giving instructions in deactivate than
actually doing the work there. Would that be acceptable?
>
> I'm looking for a solution that also works on the buildbot buildslaves,
where builds happen automatically and nobody is reading instructions. I
don't want the installation of one port that declares a dependency on
libcxx (as I propose to do for aria2 via a modification to the libcxx
portgroup) to cause libc++ to be permanently available on the Snow Leopard
build slave and potentially cause other ports built on that build slave to
build differently in the future.
Wouldn't that then be a bug in those other ports for not honoring
configure.cxx_stdlib?
> Hmm... In fact, this has already occurred, of course. The moment the
libcxx port was created, the buildbot built it, which caused libc++ to be
installed on the Snow Leopard build slave, and since the port doesn't
clean it up afterward, it's still installed. I guess the only ports that
would actually have a chance of using it are those that already require a
newer clang.
Right.
I'm not saying no, I'm just nervous about potential problems here as this
is a delicate area.
--
Ticket URL: <https://trac.macports.org/ticket/49903#comment:5>
MacPorts <https://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list