From owner-freebsd-ports@FreeBSD.ORG  Thu Jan 21 14:08:13 2010
Return-Path: <owner-freebsd-ports@FreeBSD.ORG>
Delivered-To: freebsd-ports@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 91371106566B;
	Thu, 21 Jan 2010 14:08:13 +0000 (UTC)
	(envelope-from 000.fbsd@quip.cz)
Received: from elsa.codelab.cz (elsa.codelab.cz [94.124.105.4])
	by mx1.freebsd.org (Postfix) with ESMTP id ECA248FC12;
	Thu, 21 Jan 2010 14:08:12 +0000 (UTC)
Received: from elsa.codelab.cz (localhost.codelab.cz [127.0.0.1])
	by elsa.codelab.cz (Postfix) with ESMTP id 95B8119E023;
	Thu, 21 Jan 2010 15:08:10 +0100 (CET)
Received: from [192.168.1.2] (r5bb235.net.upc.cz [86.49.61.235])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by elsa.codelab.cz (Postfix) with ESMTPSA id 6724219E019;
	Thu, 21 Jan 2010 15:08:07 +0100 (CET)
Message-ID: <4B585FC6.4020602@quip.cz>
Date: Thu, 21 Jan 2010 15:08:06 +0100
From: Miroslav Lachman <000.fbsd@quip.cz>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US;
	rv:1.9.1.7) Gecko/20100104 SeaMonkey/2.0.2
MIME-Version: 1.0
To: Doug Barton <dougb@FreeBSD.org>
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 7bit
Cc: "freebsd-ports@FreeBSD.org" <freebsd-ports@FreeBSD.org>
Subject: portmaster and meaning of --show-work
X-BeenThere: freebsd-ports@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Porting software to FreeBSD <freebsd-ports.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-ports>,
	<mailto:freebsd-ports-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-ports>
List-Post: <mailto:freebsd-ports@freebsd.org>
List-Help: <mailto:freebsd-ports-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-ports>,
	<mailto:freebsd-ports-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 21 Jan 2010 14:08:13 -0000

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