Portmaster questions (Was: Re: Using Portupgrade?)
Miroslav Lachman
000.fbsd at quip.cz
Mon Aug 4 09:36:37 UTC 2008
Alex Goncharov wrote:
> ,--- You/Jeremy (Sun, 3 Aug 2008 19:26:18 -0700) ----*
> | I'd start by ceasing use of portupgrade. Try Doug Barton's portmaster,
> | which is in ports/ports-mgmt/portmaster. It's an extensive shell
> | script, and does not require ruby.
>
> Over the last couple of months, I've made a few shy attempts to switch
> from `portupgrade' to 'portmaster', but every time I try it, I find
> something that keeps me using the former.
>
> Don't remember everything of that sort but here are a couple of things
> I would like to ask portmaster users' opinion and advice about:
>
> 1. I see a significant difference in the time it takes to get the same
> information using the two tools:
>
> ------------------------------
> # time portversion -v | wc -l
> 473
>
> real 0m3.772s
> user 0m2.462s
> sys 0m1.114s
>
> # time portmaster -L | wc -l
> 488
>
> real 0m50.042s
> user 0m29.762s
> sys 0m15.470s
>
> ------------------------------
>
> I run `portversion' a lot, and this kind of performance difference
> is one argument for sticking with `portupgrade'.
You do not have to run portversion or portmaster or any other 3rd party
tool to check versions of installed ports. Use pkg_version which is
included in base system and then you are independent of port management
tools changes.
portversion is using INDEX, portmaster not.
pkg_version (by default) do not use INDEX, but have option to use it and
then become clear winner (in speed):
portmaster -L
Usr: 11.431s Krnl: 4.179s Totl: 0:15.96s
portversion -v
Usr: 2.076s Krnl: 0.615s Totl: 0:02.75s
pkg_version -v
Usr: 9.803s Krnl: 3.183s Totl: 0:13.23s
## using INDEX, see man pkg_version for details ##
pkg_version -vI
Usr: 0.233s Krnl: 0.041s Totl: 0:00.31s
With INDEX you can see results almost immediately:
# time pkg_version -vIL =
amavisd-new-2.5.4,1 < needs updating (index has 2.6.1,1)
awstats-6.7,1 < needs updating (index has 6.8_1,1)
courier-authlib-base-0.60.6 < needs updating (index has 0.61.0)
courier-authlib-mysql-0.60.6 < needs updating (index has 0.61.0)
mod_python-3.3.1 < needs updating (index has 3.3.1_1)
nmap-4.62 < needs updating (index has 4.68)
openvpn-2.0.6_8 < needs updating (index has 2.0.6_9)
py25-docutils-0.4 < needs updating (index has 0.5)
py25-pygments-0.9 < needs updating (index has 0.10)
subversion-python-1.4.6_2 < needs updating (index has 1.5.1)
trac-0.10.4_1 < needs updating (index has 0.11_2)
trac-ctxtnavaddplugin-1.1.r1 < needs updating (index has 1.1.r1_2)
trac-iniadmin-0.1 < needs updating (index has 0.1_2)
Usr: 0.227s Krnl: 0.036s Totl: 0:00.27s CPU: 92.5%
As I had problems with portupgrade's handling of dependencies, I am
converted to portmaster.
Only one feature that I am missing in portmaster is ability to "do
something" before / after application install / upgrade (eg: restart of
daemon, directory permission setting, backup of configs etc.)
Miroslav Lachman
More information about the freebsd-stable
mailing list