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>