Misleading behavior of "port uninstall --follow-dependents" with multiple ports
Lawrence Velázquez
larryv at macports.org
Wed Sep 10 19:13:46 PDT 2014
I don't particularly like the way this plays out:
% sudo port uninstall --follow-dependencies installed
Password:
---> Deactivating autoconf @2.69_2
---> Cleaning autoconf
---> Uninstalling autoconf @2.69_2
The following dependencies will be uninstalled:
m4 @1.4.16_0
xz @5.0.5_0
Continuing in 06 s. Press Ctrl-C to exit: ^CError: Failed to uninstall autoconf: SIGINT signal received
Warning: Failed to execute portfile from registry for autoconf @2.69_2
---> Deactivating automake @1.14.1_2
---> Cleaning automake
---> Uninstalling automake @1.14.1_2
---> Cleaning automake
---> Deactivating pcre @8.35_0+universal
---> Cleaning pcre
---> Uninstalling pcre @8.35_0+universal
The following dependencies will be uninstalled: xz @5.0.5_0
Continuing in 07 s. Press Ctrl-C to exit: ^CError: Failed to uninstall pcre: SIGINT signal received
Warning: Failed to execute portfile from registry for pcre @8.35_0+universal
---> Deactivating clang-3.4 @3.4.2_1+analyzer
-------------------->8--------------------
---> Deactivating openssl @1.0.1i_0+universal
---> Cleaning openssl
---> Uninstalling openssl @1.0.1i_0+universal
The following dependencies will be uninstalled: zlib @1.2.8_0
Continuing in 09 s. Press Ctrl-C to exit: ^CError: Failed to uninstall openssl: SIGINT signal received
Warning: Failed to execute portfile from registry for openssl @1.0.1i_0+universal
---> Deactivating python_select @0.3_3
---> Cleaning python_select
---> Uninstalling python_select @0.3_3
---> Cleaning python_select
---> Deactivating zlib @1.2.8_0+universal
---> Cleaning zlib
---> Uninstalling zlib @1.2.8_0+universal
---> Cleaning zlib
sudo port uninstall --follow-dependencies installed 35.99s user 2.63s system 49% cpu 1:18.70 total
% port installed
No ports are installed.
%
The prompts suggest that you can cancel the process, but this is misleading. Pressing Control-C just cancels the uninstallation of the dependencies for the port that was just uninstalled. Afterwards, base continues uninstalling the other ports given on the command line.
I understand why it works this way, but users are bound to find this incredibly confusing.
vq
More information about the macports-dev
mailing list