# Migrating from portupgrade to portmaster



## dennylin93 (Jun 27, 2009)

Hi, I'm switching from portupgrade to portmaster since I've heard that it's faster.

When I use `$ portupgrade pidgin`, only net-im/pidgin is upgraded, but when `$ portmaster pidgin` is used, all dependencies such as libiconv and libpurple are recompiled as well, even if they're up to date.

How can I specify portmaster to only upgrade the specified package?


----------



## lyuts (Jun 27, 2009)

I think I have seen -i flag for portmaster. When using it, portmaster will ask you whether you want to upgrade dependencies or not.

Need to check its man page.


----------



## dennylin93 (Jun 27, 2009)

I tried -i, and it seems to be what I want, except I don't want to be prompted every time. Trying to locate the portmaster config file.


----------



## DutchDaemon (Jun 27, 2009)

[cmd=]portmaster pidgin[/cmd] doesn't work on anything but pidgin here, unless a dependency is not up to date. 


```
# portmaster pidgin

===>>> Currently installed version: pidgin-2.5.7
===>>> Port directory: /usr/ports/net-im/pidgin

===>>> Gathering distinfo list for installed ports

===>>> Gathering dependency list for net-im/pidgin from ports
===>>> Starting recursive 'make config' check
===>>> Recursive 'make config' check complete for net-im/pidgin

===>>> Starting build for net-im/pidgin <<<===

===>>> [B]The 'make config' check found no dependencies to update[/B]

===>  Cleaning for pidgin-2.5.7
(etc.)
```

This may be a side-effect of switching from portupgrade to portmaster, which record and maintain dependency checks in different ways.


----------



## dennylin93 (Jun 28, 2009)

This is what I got from running `$ portmaster pidgin`:


```
# portmaster pidgin
===>>> Currently installed version: pidgin-2.5.7
===>>> Port directory: /usr/ports/net-im/pidgin

===>>> Gathering distinfo list for installed ports

===>>> Gathering dependency list for net-im/pidgin from ports
===>>> Starting recursive 'make config' check
===>>> Recursive 'make config' check complete for net-im/pidgin

===>>> Starting build for net-im/pidgin <<<===

===>>> The 'make config' check found no dependencies to update

===>  Cleaning for pidgin-2.5.7

===>  Vulnerability check disabled, database not found
===>  Found saved configuration for pidgin-2.5.6
===>  Extracting for pidgin-2.5.7
=> MD5 Checksum OK for pidgin-2.5.7.tar.bz2.
=> SHA256 Checksum OK for pidgin-2.5.7.tar.bz2.
===>   pidgin-2.5.7 depends on file: /usr/local/bin/perl5.8.9 - found
===>  Patching for pidgin-2.5.7
===>   pidgin-2.5.7 depends on file: /usr/local/bin/perl5.8.9 - found
===>  Applying FreeBSD patches for pidgin-2.5.7
===>   pidgin-2.5.7 depends on executable: gmake - found
===>   pidgin-2.5.7 depends on file: /usr/local/libdata/pkgconfig/xscrnsaver.pc - found
===>   pidgin-2.5.7 depends on file: /usr/local/libdata/pkgconfig/sm.pc - found
===>   pidgin-2.5.7 depends on package: gstreamer-plugins-core>=0.10.0 - found
===>   pidgin-2.5.7 depends on package: gstreamer-plugins-good>=0.10.0 - found
===>   pidgin-2.5.7 depends on file: /usr/local/bin/perl5.8.9 - found
===>   pidgin-2.5.7 depends on file: /usr/local/bin/intltool-extract - found
===>   pidgin-2.5.7 depends on file: /usr/local/libdata/pkgconfig/gnome-mime-data-2.0.pc - found
===>   pidgin-2.5.7 depends on executable: pkg-config - found
^C
===>>> Build/Install for net-im/pidgin exiting due to signal
Terminated
```

It seems that it builds and installs itself again, even though pidgin is up to date.


----------



## DutchDaemon (Jun 28, 2009)

That's entirely typical for portmaster.


----------



## dennylin93 (Jun 28, 2009)

I understand now. I was expecting that pidgin would be left alone since it's up to date (like portupgrade). Portmaster seems to be a bit different. Thanks.


----------



## DutchDaemon (Jun 28, 2009)

Portupgrade is the upgrading part of a port suite (portupgrade, pkgdb, portinstall, and others). Portmaster is a single utility that does everything, so it relies on the flags you give it to figure out what it is you want to do. Without flags, portmaster will simply install the port, whether it's up to date or not, whereas e.g. portmaster -a will compare versions.


----------

