portmaster is not always recursive
Miroslav Lachman
000.fbsd at quip.cz
Sat Aug 29 21:19:14 UTC 2009
Doug Barton wrote:
> Miroslav Lachman wrote:
>
>
>>I have another case, where portmaster did not update dependency.
>>
>>I started with the following list of available updates
>>
>>root at elsa ~/# portmaster fetch update && pkg_version -vIL =
>>apache-2.2.11_7 < needs updating (index has 2.2.13)
>
>
> Portmaster doesn't use the INDEX file at all, so all bets are off at
> this point. However ...
I know it, the same output is produced by pkg_version -vL =, -vIL = is
just faster, but ports tree was fresh.
The first part of the command was `portsnap fetch update`, it was my
typo in the e-mail, not on the commandline.
>>root at elsa ~/# portmaster -L | grep apache
>>===>>> apache-2.2.11_7
>> ===>>> New version available: apache-2.2.13
>>===>>> apachetop-0.12.6_1
>
>
> So let's look at php5-mcrypt:
>
> make all-depends-list
> /usr/ports/lang/php5
> /usr/ports/devel/autoconf262
> /usr/ports/security/libmcrypt
> /usr/ports/devel/libltdl22
> /usr/ports/devel/pkg-config
> /usr/ports/textproc/libxml2
> /usr/ports/lang/perl5.8
> /usr/ports/devel/m4
> /usr/ports/misc/help2man
> /usr/ports/devel/gmake
> /usr/ports/devel/autoconf-wrapper
> /usr/ports/devel/libtool22
> /usr/ports/converters/libiconv
>
> I have no idea how pkg_tree creates its list of dependencies, but
> according to the method that portmaster uses apache is not a dependency.
pkg_tree get it from /var/db/pkg/, from +REQUIRED_BY and +CONTENTS.
pkg_tree shows dependencies of installed packages, not /usr/ports defaults!
Your list of dependencies was with default OPTIONS for PHP5 port, but I
am not using defaults.
I have following options:
root at elsa ~/# cat /var/db/ports/php5/options
# This file is auto-generated by 'make config'.
# No user-servicable parts inside!
# Options for php5-5.2.2
_OPTIONS_READ=php5-5.2.2
WITH_CLI=true
WITH_CGI=true
WITH_APACHE=true
WITHOUT_DEBUG=true
WITH_SUHOSIN=true
WITH_MULTIBYTE=true
WITHOUT_IPV6=true
WITH_MAILHEAD=true
WITHOUT_REDIRECT=true
WITHOUT_DISCARD=true
WITH_FASTCGI=true
WITH_PATHINFO=true
Then resulting dependencies are:
root at elsa ~/# cd /usr/ports/lang/php5
root at elsa php5/# make all-depends-list
/usr/ports/www/apache22
/usr/ports/devel/autoconf262
/usr/ports/devel/pkg-config
/usr/ports/textproc/libxml2
/usr/ports/lang/perl5.8
/usr/ports/devel/libtool22
/usr/ports/textproc/expat2
/usr/ports/devel/pcre
/usr/ports/converters/libiconv
/usr/ports/databases/mysql50-client
/usr/ports/databases/db41
/usr/ports/devel/m4
/usr/ports/misc/help2man
/usr/ports/devel/gmake
/usr/ports/devel/autoconf-wrapper
/usr/ports/devel/p5-Locale-gettext
/usr/ports/devel/gettext
root at elsa php5/# cd /usr/ports/security/php5-mcrypt
root at elsa php5-mcrypt/# make all-depends-list
/usr/ports/lang/php5
/usr/ports/devel/autoconf262
/usr/ports/security/libmcrypt
/usr/ports/devel/libltdl22
/usr/ports/www/apache22
/usr/ports/devel/pkg-config
/usr/ports/textproc/libxml2
/usr/ports/lang/perl5.8
/usr/ports/devel/m4
/usr/ports/misc/help2man
/usr/ports/devel/gmake
/usr/ports/devel/autoconf-wrapper
/usr/ports/devel/libtool22
/usr/ports/textproc/expat2
/usr/ports/devel/pcre
/usr/ports/converters/libiconv
/usr/ports/databases/mysql50-client
/usr/ports/databases/db41
/usr/ports/devel/p5-Locale-gettext
/usr/ports/devel/gettext
As you can see - Apache is dependency of php5-mcrypt in my (non default)
case.
Can I provide you some more informations from my environment?
Miroslav Lachman
More information about the freebsd-ports
mailing list