Date: Fri, 31 Jan 2014 10:34:57 +0100 From: Ivan Voras <ivoras@freebsd.org> To: freebsd-pkg@freebsd.org Subject: Upgrading sets of packages? Message-ID: <CAF-QHFWYPK44dBRXFhBTHMj-XqUBcri7OY66ZgmpxL3pU2k3ew@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
Hello, An example of a very common operation I have to do is to upgrade PHP. Here's what I have one one of my machines: # pkg info -q | grep php php5-5.3.8 php5-bcmath-5.3.8 php5-bz2-5.3.8 php5-ctype-5.3.8 php5-curl-5.3.8 php5-dom-5.3.8 php5-exif-5.3.8 php5-extensions-1.6 php5-fileinfo-5.3.8 php5-filter-5.3.8 php5-ftp-5.3.8 php5-gd-5.3.8 php5-hash-5.3.8 php5-iconv-5.3.8 php5-json-5.3.8 php5-ldap-5.3.8 php5-mbstring-5.3.8 php5-mcrypt-5.3.8 php5-mysql-5.3.8 php5-mysqli-5.3.8 php5-openssl-5.3.8 php5-pcntl-5.3.8 php5-pdo-5.3.8 php5-pdo_sqlite-5.3.8 php5-pgsql-5.3.8 php5-phar-5.3.8 php5-posix-5.3.8 php5-session-5.3.8 php5-snmp-5.3.8 php5-soap-5.3.8 php5-sockets-5.3.8 php5-sqlite-5.3.8 php5-sqlite3-5.3.8 php5-tokenizer-5.3.8 php5-xml-5.3.8 php5-xmlreader-5.3.8 php5-xmlrpc-5.3.8 php5-xmlwriter-5.3.8 php5-zip-5.3.8 php5-zlib-5.3.8 All of the module packages depend on the php package. Simply running "pkg install php5" only wants to upgrade the php5 package, which will obviously break everything: ---- Updating repository catalogue The following 2 packages will be installed: Upgrading libxml2: 2.7.8_1 -> 2.8.0_3 Upgrading php5: 5.3.8 -> 5.4.24 The installation will require 2 MB more space ---- Trying to upgrade the php5-extensions package which depends on all the rest also doesn't work as it wants to upgrade only a subset of the packages: ---- Updating repository catalogue The following 21 packages will be installed: Upgrading libxml2: 2.7.8_1 -> 2.8.0_3 Upgrading sqlite3: 3.8.0.2 -> 3.8.2 Upgrading php5: 5.3.8 -> 5.4.24 Upgrading php5-xmlwriter: 5.3.8 -> 5.4.24 Upgrading php5-dom: 5.3.8 -> 5.4.24 Upgrading php5-xml: 5.3.8 -> 5.4.24 Upgrading php5-simplexml: 5.3.8 -> 5.4.24 Upgrading php5-ctype: 5.3.8 -> 5.4.24 Upgrading php5-posix: 5.3.8 -> 5.4.24 Upgrading php5-hash: 5.3.8 -> 5.4.24 Upgrading php5-filter: 5.3.8 -> 5.4.24 Upgrading php5-tokenizer: 5.3.8 -> 5.4.24 Upgrading php5-json: 5.3.8 -> 5.4.24 Upgrading php5-sqlite3: 5.3.8 -> 5.4.24 Upgrading php5-pdo: 5.3.8 -> 5.4.24 Upgrading php5-iconv: 5.3.8 -> 5.4.24 Upgrading php5-phar: 5.3.8 -> 5.4.24 Upgrading php5-session: 5.3.8 -> 5.4.24 Upgrading php5-xmlreader: 5.3.8 -> 5.4.24 Upgrading php5-pdo_sqlite: 5.3.8 -> 5.4.24 Upgrading php5-extensions: 1.6 -> 1.7 The installation will require 3 MB more space ---- For example, the php5-gd package isn't included in the above list even though it is depended on by php5-extenions: # pkg info -d php5-extensions | grep gd php5-gd-5.3.8 and it depends on php5: # pkg info -r php5 | grep gd php5-gd-5.3.8 My question is: what is the correct way to upgrade (in this case) all of the php5-* packages? Running "pkg install `pkg info -q | grep php`" doesn't work because it tries to install packages by including the full version number, and those old packages are neither what I want nor available, and I can't find an argument to "pkg info" which only shows the base package names without the extensions. Further, it looks like "pkg upgrade" doesn't accept package names, which seems odd.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAF-QHFWYPK44dBRXFhBTHMj-XqUBcri7OY66ZgmpxL3pU2k3ew>