Macports does what I want (?) not what I say

Ryan Schmidt ryandesign at
Thu Jul 4 05:57:46 PDT 2013

On Jul 4, 2013, at 07:32, Enrico Placci wrote:

> I hope my email does not sound too whiney, my intention is to give constructive feedback, hopefully my frustration won't overshadow that.
> I'm writing you from a burning laptop, where macports decided to be too smart and did what it thought I wanted.
> A few years ago I absolutely loved how macports did exactly what I told it to do:
> # port install myport 
> myport is already installed
> # port upgrade myport
> upgrading myport
> I absolutely loved it! Sometimes you just need something quickly and you don't care what version it is. Maybe you just forgot you previously installed it.
> Also it didn't upgrade all dependencies unless you asked it to. 
> Again, sometimes you want to get some tool compiled quickly and you don't care if a new minor version of gtk is out, the previous one will work just fine.
> So what I started doing is I don't update port definitions for months so that I don't have to upgrade half my libraries every time I install a tool, which is quite annoying as I'd like to compile a recent version of the new thing I'm installing, and I'd like to upgrade only the dependencies that need upgrading.
> So today I wanted to upgrade percona-toolkit. I did a "port selfupdate" and a "port upgrade percona-toolkit" . 
> These are the requirements of percona-toolkit:
> -------
> Most tools require:
>   * Perl v5.8 or newer
>   * Bash v3 or newer
>   * Core Perl modules like Time::HiRes
> Tools that connect to MySQL require:
>   * Perl modules DBI and DBD::mysql
>   * MySQL 5.0 or newer
> -------
> So why would I want to upgrade  
> ncurses @5.9_1 to @5.9_2
> gettext @0.18.2_1 to @
> perl @5.12.4_1+dtrace to @5.12.4_2+dtrace
> zlib @1.2.7_0 to @1.2.8_0
> openssl @1.0.1c_0 to @1.0.1e_1
> mysql5 @5.1.66_1 to @5.1.70_0
> ?

Because they are direct or indirect dependencies of the port you asked to install or upgrade.

> Is there any way I can restore the previous behaviour both in regards to upgrading dependencies and upgrading when I say install?

MacPorts has always first upgraded dependencies of the ports you asked to install or upgrade. Not doing so would be completely counterproductive to the way that MacPorts is designed to work. We will not help you attempt to circumvent a fundamental functionality of MacPorts, because it would likely increase our support burden when you do this and then ask us why things aren't working right.

> I'd really love to have back a tool that does what I say not what it believes I want.
> I already put this into my aliases
> port='port -cn' 
> but it obviously doesn't work.

-c is autoclean mode which is the default; you do not need to specify it.

-n is don't-upgrade-dependencies mode; please don't attempt to use that on a regular basis; it's meant for special situations only.

More information about the macports-users mailing list