Activate inactive ports without upgrading outdated dependencies

Davide Liessi davide.liessi at gmail.com
Tue Aug 26 03:41:10 PDT 2014


Hi all.
Suppose that port B depends on ports A and C, and that I did what is
reported in this fake Terminal log:

$ sudo port install B
[...]
$ port installed
  A @1 (active)
  B @1 (active)
  C @1 (active)
$ sudo port deactivate active
[...]
$ sudo port sync
[...]
$ port info A B C
A @2 (...)
[...]
B @2 (...)
[...]
C @2 (...)
[...]

Now I want to activate A @1, B @1 and C @1, i.e. I want to activate
inactive ports *without* upgrading any of them.
I do either `sudo port activate inactive` or `sudo port -n activate
inactive` and this is what happens:

$ sudo port activate inactive
--->  Computing dependencies for A
--->  Activating A @1
--->  Cleaning A
--->  Computing dependencies for B
--->  Dependencies to be installed: C
--->  Fetching distfiles for C
--->  Verifying checksums for C
--->  Extracting C
--->  Configuring C
--->  Building C
--->  Staging C into destroot
--->  Installing C @2
--->  Activating C @2
--->  Cleaning C
--->  Activating B @1
--->  Cleaning B
--->  Computing dependencies for C
--->  Deactivating C @2
--->  Cleaning C
--->  Activating C @1
--->  Cleaning C

So in the end I get:

$ port installed
  A @1 (active)
  B @1 (active)
  C @1 (active)
  C @2

Is there a way to activate all inactive ports without upgrading any of them?
In other words, is there a way to make port activate ports in the
order of the dependencies graph instead of alphabetic order, so that
when a port is activated all its (eventually outdated) dependencies
are already active?

Best wishes.
Davide


More information about the macports-users mailing list