Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Aug 2014 12:01:55 +0200
From:      Ivan Voras <ivoras@freebsd.org>
To:        freebsd-pkg@freebsd.org
Subject:   Upgrading large sets of packages (e.g. php5, p5...)?
Message-ID:  <CAF-QHFWAfHkOgDXpHhNPbHxe7bX2nGESWgL9zUGNWqcbXx4vzw@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hello,

Can pkg handle the case where it's necessary to upgrade large
collections of interdependent packages, e.g. php with many (but not all)
modules / extensions installed?

The starting situation is that php5-5.3.8 is installed, with 40 extensions.

Issuing simply "pkg upgrade php5" results in pkg trying to upgrade ONLY
the php5-5.3.8 package to the new version php5-5.4.31, WITHOUT upgrading
the 40 packages which depend on it (extensions compiled for the old
version are definitely NOT be compatible with the new one; with PHP that
happens regularly). I've checked (with pkg info -R) that the extension
packages really, actually, depend on the base package.

Issuing "pkg upgrade -x 'php5.*'" results in pkg wanting to upgrade
existing packages (which is correct), but ALSO install every other
package available which matches the regex - which is undesirable. (btw
I've noticed that the "-x" argument is not documented in the man page
for php-upgrade.8).

Looking at available options, the option "-r" doesn't what it does in
e.g. portupgrade and there is no -R at all. The "pkg install" command
also doesn't have similar options.

The man page for pkg-info documents the "-E" switch which is supposed to
show package names only, apparently for internal use, but running "pkg
info -E" doesn't work at all (invalid switch). On the other hand, "pkg
info -q" does that. BUT, running "pkg upgrade `pkg info -q | grep php5`"
ALSO doesn't work, as it keeps complaining "no packages available to
upgrade matching $pkgname have been found in the repositories."
Apparently, giving the full package name together with its version to
pkg-upgrade causes that.

This is frustrating.

So... how do you upgrade packages like php and perl which have a large
number of dependencies which must be kept in sync with the base package?

My pkg is 1.3.6.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAF-QHFWAfHkOgDXpHhNPbHxe7bX2nGESWgL9zUGNWqcbXx4vzw>