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