clean install simulation mode?

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

clean install simulation mode?

René J.V. Bertin
Hi,

A user of my macstrop ports tree is reporting a conflict I cannot reproduce, at least not without uninstalling or deactivating lots of ports that I need to keep online.

Is there some way to get port to behave as if it needs to install everything, or at least run the Portfiles of all dependencies so I can follow all relevant diagnostic output? It's not perfectly clear to me if `port rdeps` indeed does that.

To be more specific: I'd like to follow the propagation of a variant through the dependency calculations via a print probe in a PortGroup. That variant is set as a default_variant in said PortGroup and I have the impression it doesn't propagate the same way a variant set by the user does.

Thanks,
R.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: clean install simulation mode?

Ryan Schmidt-24

On Jun 27, 2017, at 03:39, René J.V. Bertin wrote:

> A user of my macstrop ports tree is reporting a conflict I cannot reproduce, at least not without uninstalling or deactivating lots of ports that I need to keep online.
>
> Is there some way to get port to behave as if it needs to install everything, or at least run the Portfiles of all dependencies so I can follow all relevant diagnostic output? It's not perfectly clear to me if `port rdeps` indeed does that.
>
> To be more specific: I'd like to follow the propagation of a variant through the dependency calculations via a print probe in a PortGroup. That variant is set as a default_variant in said PortGroup and I have the impression it doesn't propagate the same way a variant set by the user does.

I don't know if there's a way to make MacPorts do what you want.

Maybe if you describe the problem the user is experiencing, we can figure out why it's happening without needing to do what you're proposing.


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: clean install simulation mode?

René J.V. Bertin
Ryan Schmidt wrote:


> Maybe if you describe the problem the user is experiencing, we can figure out
> why it's happening without needing to do what you're proposing.

Thanks, I appreciate that.

I'm still trying to figure out what that problem is... From what I know he had my
port:qt5-kde installed, and then for some reason ran into a dependency when he
tried to install port:kf5-kate that started pulling in the official port:qt5-
qtbase (and family), which created a conflict.

I don't know what dependency that was (he only ever provided the main.log for
qt5-qtbase, which of course doesn't tell me why that port was installed). But he
assured me that he followed the instructions and copied my Qt5 PortGroups into
the main ports tree. That alone should have prevent this from happening.

He then reported the results of `port rdeps` without any ports installed (or
active, I don't know). That indeed shows port:qt5-qtbase as a dependency of
kf5-kate -> kf5-kinit -> kf5-kio -> kf5-knotifications -> phonon-qt5

I also know he's installing into a non-standard prefix and without using sudo at
all, but that shouldn't really make any difference here.

The important thing here is that AFAIK he already had port:qt5-kde installed
when he first ran into the conflict. That's the recommended way of installing my
KF5 ports; port:qt5-kde is conceived to act as an alternative in the way -devel
ports do (but with PortGroup support for rewriting depspecs that goes a bit
beyond the usual path:-style depspecs). So even if there's indeed a pending
issue with complex installs-from-scratch (assuming the deps tree is calculated
only once) that was not the issue at hand according to my information.

This is the issue ticket:
https://github.com/RJVB/macstrop/issues/9

and the related https://trac.macports.org/ticket/54386 which I just filed
(complete with proofreading failure in the subject :-/)

R.

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: clean install simulation mode?

René J.V. Bertin
In reply to this post by Ryan Schmidt-24
Hi,

To cut a long story short: my information was incomplete and the problem not really a (severe) problem.

When installing a port with lots of dependencies in a completely clean install, "base" calculates all dependencies only once at the start. Also, variants set with `default_variants` aren't propagated to dependencies. (I can understand the former, the latter much less.)
As a result, the user's install command `port install kf5-kate` (240 dependencies according to rdeps) tried to install both the preferred port:qt5-kde, and port:qt5-qtbase (because port:phonon-qt5).

Mystery solved, whew :)

Thanks,
René
Loading...