On Jul 8, 2019, at 06:10, joerg van den hoff wrote:

> On 08.07.19 08:28 , Dan Ports wrote:
>> On Sat, Jun 29, 2019 at 06:29:57PM +0200, joerg van den hoff wrote:
>>> would `port upgrade texlive' throw out an old texlive-latex-extra rather
>>> than upgrading (or ignoring) it? it shouldn't do that but could it?
>> Yes, this can happen on occasion.
>> MacPorts doesn't have great support for enforcing that a bunch of
>> ports, like all of texlive, should be upgraded at once. In particular,
>> if a file moves from the older version of one port to the newer
>> version of another, which happens fairly often with texlive, it can
>> create a false conflict. There are hacks in some of the portfiles to
>> forcibly deactivate conflicts so this doesn't break the upgrade.
>> Usually this works out fine, and the new versions of all of the ports
>> get installed correctly. Depending on the order the upgrades are run
>> in, though, and especially if the upgrade is interrupted, some package
>> might be uninstalled.
>> Dan
> 
> thanks for confirming that this is a known problem/limitation. I will try to 
> remember this if I encounter that situation again. it sure is unfortunate, 
> though, that an installed package can
> get unwittingly uninstalled especially one that is part of the texlive "mess" 
> ...
> 
> but anyway. I have used macports long enough to really appreciate how much 
> smoother it works these
> days. thanks a lot to everybody involved!.

I don't think MacPorts will uninstall a port unless you tell it to (directly by 
name@version_revision+variants, or using a pseudoport (like "inactive" or 
"leaves"), or using port(1)'s "-u" flag).

What could happen, though, is that MacPorts might deactivate a port if another 
port has replaced its functionality. For example, if a port texlive-old no 
longer exists but a port texlive-new now provides the same files that 
texlive-old used to, then when you install or upgrade texlive-new, it will 
automatically deactivate texlive-old. The result should be that the files you 
want are still there. If somehow that didn't end up being the case, you could 
reactivate texlive-old.

If you selectively update ports, you can run into situations where some of a 
port's dependencies have been updated but others haven't. This can result in a 
variety of problems, possibly including the one you mentioned. For this reason, 
we recommend using "sudo port upgrade outdated" to upgrade all of the outdated 
ports at once, and not selectively upgrading ports.

Reply via email to