portmaster and meaning of --show-work

Miroslav Lachman 000.fbsd at quip.cz
Thu Jan 21 14:08:13 UTC 2010


Hi,

manpage of portmaster says:
--show-work
   show what dependent ports are, and are not installed (implies -t).

It is right behavior of this option, but I think its name is confusing.
I think it should be names something like "show-deps" or 
"show-installed-deps" instead of "show-work".

The name "show-work" is more like "show me what steps will be done", so 
for example in the following case "I want" to know what is installed 
(and up to date), what is installed (but will be updated), and what is 
not installed and will be installed.

example:

list of available updates

ImageMagick-nox11-6.5.7.10    < needs updating (index has 6.5.8.10)
apache-2.2.13                 < needs updating (index has 2.2.14_5)
apr-db42-1.3.8.1.3.9          < needs updating (index has 1.3.9.1.3.9_1)
bash-4.0.24                   < needs updating (index has 4.0.35)
ca_root_nss-3.11.9_2          < needs updating (index has 3.12.4)
curl-7.19.7                   < needs updating (index has 7.19.7_1)
daemontools-0.76_12           < needs updating (index has 0.76_14)
expat-2.0.1                   < needs updating (index has 2.0.1_1)
ghostscript8-nox11-8.64_7     < needs updating (index has 8.70)
help2man-1.36.4_2             < needs updating (index has 1.36.4_3)
lcms-1.18a_1,1                < needs updating (index has 1.19,1)
m4-1.4.12,1                   < needs updating (index has 1.4.13,1)
mrtg-2.16.2_1,1               < needs updating (index has 2.16.2_2,1)
mysql-client-5.0.88           < needs updating (index has 5.0.89)
mysql-server-5.0.88           < needs updating (index has 5.0.89)
openvpn-2.0.6_9               < needs updating (index has 2.1.1)
p5-DBD-mysql-4.012            < needs updating (index has 4.013)
p5-Scalar-List-Utils-1.21,1   < needs updating (index has 1.22,1)
p5-Term-ANSIColor-1.12        < needs updating (index has 2.02)
p5-URI-1.50                   < needs updating (index has 1.52)
php5-5.2.11_1                 < needs updating (index has 5.2.12)
php5-bz2-5.2.11_1             < needs updating (index has 5.2.12)
php5-ctype-5.2.11_1           < needs updating (index has 5.2.12)
php5-curl-5.2.11_1            < needs updating (index has 5.2.12)
php5-dom-5.2.11_1             < needs updating (index has 5.2.12)
php5-exif-5.2.11_1            < needs updating (index has 5.2.12)
php5-ftp-5.2.11_1             < needs updating (index has 5.2.12)
php5-gd-5.2.11_2              < needs updating (index has 5.2.12)
php5-iconv-5.2.11_1           < needs updating (index has 5.2.12)
php5-imap-5.2.11_1            < needs updating (index has 5.2.12)
php5-json-5.2.11_1            < needs updating (index has 5.2.12)
php5-mbstring-5.2.11_1        < needs updating (index has 5.2.12)
php5-mcrypt-5.2.11_1          < needs updating (index has 5.2.12)
php5-mysql-5.2.11_1           < needs updating (index has 5.2.12)
php5-mysqli-5.2.11_1          < needs updating (index has 5.2.12)
php5-openssl-5.2.11_1         < needs updating (index has 5.2.12)
php5-pcre-5.2.11_1            < needs updating (index has 5.2.12)
php5-posix-5.2.11_1           < needs updating (index has 5.2.12)
php5-session-5.2.11_1         < needs updating (index has 5.2.12)
php5-simplexml-5.2.11_1       < needs updating (index has 5.2.12)
php5-sockets-5.2.11_1         < needs updating (index has 5.2.12)
php5-spl-5.2.11_1             < needs updating (index has 5.2.12)
php5-sqlite-5.2.11_1          < needs updating (index has 5.2.12)
php5-tokenizer-5.2.11_1       < needs updating (index has 5.2.12)
php5-xml-5.2.11_1             < needs updating (index has 5.2.12)
php5-xmlreader-5.2.11_1       < needs updating (index has 5.2.12)
php5-xmlwriter-5.2.11_1       < needs updating (index has 5.2.12)
php5-zip-5.2.11_1             < needs updating (index has 5.2.12)
php5-zlib-5.2.11_1            < needs updating (index has 5.2.12)
phpMyAdmin-3.2.3              < needs updating (index has 3.2.5)
png-1.2.40                    < needs updating (index has 1.2.42)
portmaster-2.12               < needs updating (index has 2.16)
portupgrade-2.4.6_2,2         < needs updating (index has 2.4.6_3,2)
proftpd-mysql-1.3.2b          < needs updating (index has 1.3.2c)
rsync-3.0.6                   < needs updating (index has 3.0.7)
ruby+nopthreads-1.8.7.160_5,1 < needs updating (index has 1.8.7.248,1)
smartmontools-5.38_8          < needs updating (index has 5.39)
sudo-1.6.9.20                 < needs updating (index has 1.7.2.2)
vim-lite-7.2.299              < needs updating (index has 7.2.323)


# portmaster --show-work php5-extensions

===>>> Currently installed version: php5-extensions-1.3
===>>> Port directory: /usr/ports/lang/php5-extensions
===>>> Starting check for all dependencies
===>>> Gathering dependency list for lang/php5-extensions from ports

===>>> Installed archivers/php5-bz2
===>>> Installed archivers/php5-zip
===>>> Installed archivers/php5-zlib
===>>> Installed converters/libiconv
===>>> Installed converters/php5-iconv
===>>> Installed converters/php5-mbstring
===>>> Installed databases/db42
===>>> Installed databases/mysql50-client
===>>> Installed databases/php5-mysql
===>>> Installed databases/php5-mysqli
===>>> Installed databases/php5-sqlite
===>>> Installed devel/apr
===>>> Installed devel/autoconf-wrapper
===>>> Installed devel/autoconf262
===>>> Installed devel/automake-wrapper
===>>> Installed devel/automake19
===>>> Installed devel/gettext
===>>> Installed devel/gmake
===>>> Installed devel/libltdl22
===>>> Installed devel/libtool22
===>>> Installed devel/m4
===>>> Installed devel/p5-Locale-gettext
===>>> Installed devel/pcre
===>>> Installed devel/php5-json
===>>> Installed devel/php5-pcre
===>>> Installed devel/php5-spl
===>>> Installed devel/php5-tokenizer
===>>> Installed devel/pkg-config
===>>> Installed devel/t1lib
===>>> Installed ftp/curl
===>>> Installed ftp/php5-curl
===>>> Installed ftp/php5-ftp
===>>> Installed graphics/jpeg
===>>> Installed graphics/php5-exif
===>>> Installed graphics/php5-gd
===>>> Installed graphics/png
===>>> Installed lang/perl5.8
===>>> Installed lang/php5
===>>> Installed lang/python26
===>>> Installed mail/cclient
===>>> Installed mail/php5-imap
===>>> Installed misc/help2man
===>>> Installed net/php5-sockets
===>>> Installed print/freetype2
===>>> Installed security/ca_root_nss
===>>> Installed security/libmcrypt
===>>> Installed security/php5-mcrypt
===>>> Installed security/php5-openssl
===>>> Installed sysutils/pecl-fileinfo
===>>> Installed sysutils/php5-posix
===>>> Installed textproc/expat2
===>>> Installed textproc/libxml2
===>>> Installed textproc/php5-ctype
===>>> Installed textproc/php5-dom
===>>> Installed textproc/php5-simplexml
===>>> Installed textproc/php5-xml
===>>> Installed textproc/php5-xmlreader
===>>> Installed textproc/php5-xmlwriter
===>>> Installed www/apache22
===>>> Installed www/php5-session

So from the output above I don't see what work will be done, it seems 
like all is installed and nothing will be done (which is not true)

My expectation is something like this list:

--------------------
===>>> Installed archivers/php5-bz2  (*)
===>>> Installed archivers/php5-zip  (*)
===>>> Installed archivers/php5-zlib  (*)
===>>> Installed converters/libiconv
===>>> Installed converters/php5-iconv  (*)
===>>> Installed converters/php5-mbstring  (*)
===>>> Installed databases/db42
===>>> Installed databases/mysql50-client  (*)
===>>> Installed databases/php5-mysql  (*)
===>>> Installed databases/php5-mysqli  (*)
===>>> Installed databases/php5-sqlite  (*)
===>>> Installed devel/apr  (*)
===>>> Installed devel/autoconf-wrapper
===>>> Installed devel/autoconf262
===>>> Installed devel/automake-wrapper
===>>> Installed devel/automake19
===>>> Installed devel/gettext
===>>> Installed devel/gmake
===>>> Installed devel/libltdl22
===>>> Installed devel/libtool22
===>>> Installed devel/m4
===>>> Installed devel/p5-Locale-gettext
===>>> Installed devel/pcre
===>>> Installed devel/php5-json  (*)
===>>> Installed devel/php5-pcre  (*)
===>>> Installed devel/php5-spl  (*)
===>>> Installed devel/php5-tokenizer  (*)
===>>> Installed devel/pkg-config
===>>> Installed devel/t1lib
===>>> Installed ftp/curl  (*)
===>>> Installed ftp/php5-curl  (*)
===>>> Installed ftp/php5-ftp  (*)
===>>> Installed graphics/jpeg
===>>> Installed graphics/php5-exif  (*)
===>>> Installed graphics/php5-gd  (*)
===>>> Installed graphics/png  (*)
===>>> Installed lang/perl5.8
===>>> Installed lang/php5  (*)
===>>> Installed lang/python26
===>>> Installed mail/cclient
===>>> Installed mail/php5-imap  (*)
===>>> Installed misc/help2man
===>>> Installed net/php5-sockets  (*)
===>>> Installed print/freetype2
===>>> Installed security/ca_root_nss  (*)
===>>> Installed security/libmcrypt
===>>> Installed security/php5-mcrypt  (*)
===>>> Installed security/php5-openssl  (*)
===>>> Installed sysutils/pecl-fileinfo
===>>> Installed sysutils/php5-posix  (*)
===>>> Installed textproc/expat2  (*)
===>>> Installed textproc/libxml2
===>>> Installed textproc/php5-ctype  (*)
===>>> Installed textproc/php5-dom  (*)
===>>> Installed textproc/php5-simplexml  (*)
===>>> Installed textproc/php5-xml  (*)
===>>> Installed textproc/php5-xmlreader  (*)
===>>> Installed textproc/php5-xmlwriter  (*)
===>>> Installed www/apache22  (*)
===>>> Installed www/php5-session  (*)

Ports marked by asterisk will be updated
--------------------

I don't mind what the real mark will be, but I think it will be useful 
feature. Users then will know what will be done.
It will be also useful with -x (excluding) to test before real run.

What do you think about my proposal?



The next step (non default) can be interactive run of portmaster for 
beginers with questions like:

# portmaster php5-extensions
   The following ports will be updated or installed
   as part of update of php5-extensions:
   [there will be similar list as above]
   Do you really want to continue the update? Y/N:

Miroslav Lachman


More information about the freebsd-ports mailing list