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

Aljaž Srebrnič g5pw at macports.org
Thu Jul 4 05:44:26 PDT 2013


Well, the answer lies in this command:
$ portrdeps percona-toolkit
The following ports are dependencies of percona-toolkit @2.1.5_0+perl5_16:
  p5.16-time-hires
    perl5.16
      gdbm
        gettext
          expat
          libiconv
            gperf
          ncurses
  p5.16-dbd-mysql
    p5.16-dbi
      p5.16-test-simple
      p5.16-sql-statement
        p5.16-clone
        p5.16-params-util
    mysql5
      zlib
        xz
      openssl
      tcp_wrappers
      readline
  p5.16-term-readkey

So all MacPorts does is upgrading all dependencies recursively. This is by default, I believe.

The answer as to why are your command line options ignored by MacPorts is quite simple. I suppose (and here I'm gonna guess) you didn't really do a "port upgrade percona-toolkit" but rather a "sudo port upgrade percona-toolkit". The thing is, sudo ignores all your aliases! but since you "shadowed" a command (port) with an alias (alias port="port -cn") sudo didn't complain and happily executed the port command (with no options!).

So, I either suggest running "sudo port -cn upgrade percona-toolkit", or defining an alias like "alias sp="sudo port -cn" and using that.

I hope this helps,
Aljaž

On 04/lug/2013, at 14:32, Enrico Placci <e.placci at gmail.com> wrote:

> Hello everybody,
> 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



--
Aljaž Srebrnič a.k.a g5pw
My public key:  http://bit.ly/g5pw_pubkey




More information about the macports-users mailing list