pkg-1.3.0 fails to detect updated package (and other problems)
Paul Mather
freebsd-lists at gromit.dlib.vt.edu
Fri Jul 25 18:53:40 UTC 2014
(Please Cc: any replies to me directly because I am not subscribed to
this list.)
I've been using pkgng for quite a while now, largely in tandem with
poudriere. I build custom pkgng repositories for several systems and
have been very, very happy with the setup.
The recent upgrade of pkg to 1.3 has caused a few problems. I've also
had to get used to a few new behaviours (like "pkg delete" offering to
delete dependent packages rather than just refusing to do so unless you
force it with "-f" or use "-R").
A minor problem I encountered is that "ENABLED: NO" in my repository
.conf file no longer appears to disable the repository as it had done
under pkg 1.2. It wasn't until I used "enabled: no" that pkg 1.3
considered the repository disabled.
The biggest problem I've encountered, however, is that "pkg upgrade"
does not seem to recognise all the updates that are available. I'm not
sure whether this is a pkg problem or a poudriere problem. (I'm
currently running pkg 1.3.0 and poudriere 3.0.16.) When I did a "pkg
upgrade" on the client machine, it upgraded pkg from 1.2.7_4 to 1.3.0.
For some reason, it complained about an "internal solver error" and
also went through two rounds of updates (are the multiple rounds of
updates to be expected with pkg 1.3?):
=====
# pkg upgrade
Updating repository catalogue
digests.txz 100% 7760 7.6KB/s 7.6KB/s 00:00
packagesite.txz 100% 43KB 43.2KB/s 43.2KB/s 00:00
Incremental update completed, 152 packages processed:
151 packages updated, 1 removed and 1 added.
New version of pkg detected; it needs to be installed first.
Upgrades have been requested for the following 1 packages:
Upgrading pkg: 1.2.7_4 -> 1.3.0 [releng_9_3]
The upgrade will require 823 kB more space
1 MB to be downloaded
Proceed with upgrading packages [y/N]: y
pkg-1.3.0.txz 100% 1936KB 1.9MB/s 1.9MB/s 00:00
Checking integrity... done
[1/1] Upgrading pkg from 1.2.7_4 to 1.3.0... done
If you are upgrading from the old package format, first run:
# pkg2ng
Updating repository catalogue
pkg: Repo "releng_9_3" upgrade schema 2006 to 2007: Add conflicts and provides
pkg: Repo "releng_9_3" upgrade schema 2007 to 2008: Add FTS index
pkg: Repo "releng_9_3" upgrade schema 2008 to 2009: Optimize indicies
pkg: Repo "releng_9_3" upgrade schema 2009 to 2010: Add legacy digest field
releng_9_3 repository catalogue is up-to-date, no need to fetch fresh copy
pkg: Repo "releng_9_2" upgrade schema 2006 to 2007: Add conflicts and provides
pkg: Repo "releng_9_2" upgrade schema 2007 to 2008: Add FTS index
pkg: Repo "releng_9_2" upgrade schema 2008 to 2009: Optimize indicies
pkg: Repo "releng_9_2" upgrade schema 2009 to 2010: Add legacy digest field
Fetching meta.txz: 100% of 292 B
Fetching digests.txz: 100% of 7 kB
Fetching packagesite.txz: 100% of 42 kB
Removing expired entries: 100%
Adding new entries: 100%
Incremental update completed, 152 packages processed:
151 packages updated, 3 removed and 1 added.
Updating database digests format: 100%
Checking for upgrades: 100%
pkg: internal solver error: more than two packages to install(2) from the same uid: apache22~www/apache22
The following 14 packages will be affected (of 96 checked):
New packages to be INSTALLED:
libevent2: 2.0.21_2 [releng_9_3]
Installed packages to be UPGRADED:
tmux: 1.9.a_1 -> 1.9.a_2 [releng_9_3]
sudo: 1.8.10.p3 -> 1.8.10.p3_1 [releng_9_3]
postfix: 2.11.1_1,1 -> 2.11.1_2,1 [releng_9_3]
pam_ldap: 1.8.6_2 -> 1.8.6_3 [releng_9_3]
openldap-client: 2.4.39 -> 2.4.39_1 [releng_9_3]
git: 2.0.1 -> 2.0.2 [releng_9_3]
curl: 7.37.0 -> 7.37.1_2 [releng_9_3]
apr: 1.5.1.1.5.3_2 -> 1.5.1.1.5.3_3 [releng_9_3]
Installed packages to be REINSTALLED:
pcre-8.34_1 [releng_9_2] (options changed)
ImageMagick-nox11-6.8.9.4_1,1 [releng_9_3] (options changed)
fontconfig-2.11.0_3,1 [releng_9_3] (options changed)
tiff-4.0.3_4 [releng_9_2] (options changed)
libwmf-nox11-0.2.8.4_11 [releng_9_2] (options changed)
The process will require 5 MB more space
12 MB to be downloaded
Proceed with this action [y/N]: y
Fetching tmux-1.9.a_2.txz: 100% of 173 kB
Fetching libevent2-2.0.21_2.txz: 100% of 267 kB
Fetching sudo-1.8.10.p3_1.txz: 100% of 440 kB
Fetching postfix-2.11.1_2,1.txz: 100% of 1 MB
Fetching pcre-8.34_1.txz: 100% of 1 MB
Fetching pam_ldap-1.8.6_3.txz: 100% of 27 kB
Fetching openldap-client-2.4.39_1.txz: 100% of 1 MB
Fetching git-2.0.2.txz: 100% of 2 MB
Fetching curl-7.37.1_2.txz: 100% of 727 kB
Fetching apr-1.5.1.1.5.3_3.txz: 100% of 400 kB
Fetching ImageMagick-nox11-6.8.9.4_1,1.txz: 100% of 2 MB
Fetching fontconfig-2.11.0_3,1.txz: 100% of 190 kB
Fetching tiff-4.0.3_4.txz: 100% of 795 kB
Fetching libwmf-nox11-0.2.8.4_11.txz: 100% of 989 kB
Checking integrity... done (1 conflicting)
pkg: internal solver error: more than two packages to install(2) from the same uid: apache22~www/apache22
Checking integrity... done (0 conflicting)
pkg: internal solver error: more than two packages to install(2) from the same uid: apache22~www/apache22
Conflicts with the existing packages have been found.
One more solver iteration is needed to resolve them.
The following 15 packages will be affected (of 96 checked):
Installed packages to be REMOVED:
libevent-1.4.14b_3
New packages to be INSTALLED:
libevent2: 2.0.21_2 [releng_9_3]
Installed packages to be UPGRADED:
openldap-client: 2.4.39 -> 2.4.39_1 [releng_9_3]
curl: 7.37.0 -> 7.37.1_2 [releng_9_3]
tmux: 1.9.a_1 -> 1.9.a_2 [releng_9_3]
sudo: 1.8.10.p3 -> 1.8.10.p3_1 [releng_9_3]
postfix: 2.11.1_1,1 -> 2.11.1_2,1 [releng_9_3]
pam_ldap: 1.8.6_2 -> 1.8.6_3 [releng_9_3]
git: 2.0.1 -> 2.0.2 [releng_9_3]
apr: 1.5.1.1.5.3_2 -> 1.5.1.1.5.3_3 [releng_9_3]
Installed packages to be REINSTALLED:
pcre-8.34_1 [releng_9_2] (options changed)
tiff-4.0.3_4 [releng_9_2] (options changed)
fontconfig-2.11.0_3,1 [releng_9_3] (options changed)
libwmf-nox11-0.2.8.4_11 [releng_9_2] (options changed)
ImageMagick-nox11-6.8.9.4_1,1 [releng_9_3] (options changed)
The process will require 4 MB more space
Proceed with this action [y/N]: y
[1/15] Reinstalling pcre-8.34_1: 100%
[2/15] Deleting libevent-1.4.14b_3: 100%
[3/15] Reinstalling tiff-4.0.3_4: 100%
[4/15] Installing libevent2-2.0.21_2: 100%
[5/15] Upgrading openldap-client from 2.4.39 to 2.4.39_1: 100%
[6/15] Upgrading curl from 7.37.0 to 7.37.1_2: 100%
[7/15] Reinstalling fontconfig-2.11.0_3,1: 100%
Running fc-cache to build fontconfig cache...
/usr/local/share/fonts: skipping, no such directory
/usr/local/lib/X11/fonts: caching, new cache contents: 0 fonts, 1 dirs
/usr/local/lib/X11/fonts/local: caching, new cache contents: 0 fonts, 0 dirs
/root/.local/share/fonts: skipping, no such directory
/root/.fonts: skipping, no such directory
/usr/local/share/fonts: skipping, no such directory
/usr/local/lib/X11/fonts: caching, new cache contents: 0 fonts, 1 dirs
/root/.local/share/fonts: skipping, no such directory
/root/.fonts: skipping, no such directory
/var/db/fontconfig: cleaning cache directory
/root/.cache/fontconfig: not cleaning non-existent cache directory
/root/.fontconfig: not cleaning non-existent cache directory
fc-cache: succeeded
[8/15] Reinstalling libwmf-nox11-0.2.8.4_11: 100%
[9/15] Upgrading tmux from 1.9.a_1 to 1.9.a_2: 100%
[10/15] Upgrading sudo from 1.8.10.p3 to 1.8.10.p3_1: 100%
===> Creating users and/or groups.
Using existing group 'mail'.
Using existing group 'maildrop'.
Using existing group 'postfix'.
Using existing user 'postfix'.
[11/15] Upgrading postfix from 2.11.1_1,1 to 2.11.1_2,1: 100%
Postfix already activated in /etc/mail/mailer.conf
[12/15] Upgrading pam_ldap from 1.8.6_2 to 1.8.6_3: 100%
===> Creating users and/or groups.
Using existing group 'git_daemon'.
Using existing user 'git_daemon'.
[13/15] Upgrading git from 2.0.1 to 2.0.2: 100%
Updating /etc/shells
[14/15] Upgrading apr from 1.5.1.1.5.3_2 to 1.5.1.1.5.3_3: 100%
[15/15] Reinstalling ImageMagick-nox11-6.8.9.4_1,1: 100%
#
=====
Note that the two "Updating repository catalogue" sections clued me in
to the fact that my "releng_9_2" repository was no longer being
disabled (see above). I fixed that problem, and now only the
"releng_9_3" repository is being used.
I was puzzled that www/apache22 was not updated because one of the
reasons for doing the "pkg upgrade" was to apply the apache22-2.2.27_6
update due to "pkg audit" flagging "apache22-2.2.27_5 is vulnerable".
I'd done another poudriere run and seen apache22-2.2.27_6 built.
Doing a "pkg upgrade" resulted in being told "Your packages are up to
date", however, a "pkg install -f apache22" informs me that it is to be
"UPGRADED":
=====
# pkg clean -ay
Nothing to do.
# pkg upgrade
Updating repository catalogue
releng_9_3 repository catalogue is up-to-date, no need to fetch fresh copy
Checking for upgrades: 100%
Checking integrity... done (0 conflicting)
Your packages are up to date
# pkg update -f
Updating repository catalogue
Fetching meta.txz: 100% of 292 B
Fetching digests.txz: 100% of 7 kB
Fetching packagesite.txz: 100% of 43 kB
Adding new entries: 100%
Incremental update completed, 152 packages processed:
0 packages updated, 0 removed and 152 added.
# pkg upgrade
Updating repository catalogue
releng_9_3 repository catalogue is up-to-date, no need to fetch fresh copy
Checking for upgrades: 100%
Checking integrity... done (0 conflicting)
Your packages are up to date
# pkg install -f apache22
Updating repository catalogue
releng_9_3 repository catalogue is up-to-date, no need to fetch fresh copy
The following 1 packages will be affected (of 76 checked):
Installed packages to be UPGRADED:
apache22: 2.2.27_5 -> 2.2.27_6
The process will require 3 kB more space
2 MB to be downloaded
Proceed with this action [y/N]: y
Fetching apache22-2.2.27_6.txz: 100% of 2 MB
Checking integrity... done (0 conflicting)
===> Creating users and/or groups.
Using existing group 'www'.
Using existing user 'www'.
[1/1] Upgrading apache22 from 2.2.27_5 to 2.2.27_6: 100%
#
=====
So, "pkg upgrade" doesn't see there's a new version of www/apache22 to
install but "pkg install -f" does. This doesn't seem correct to me.
I've updated pkg on the poudriere system building the repositories and
rebuilt all my repositories from scratch via "poudriere bulk -c -f ..."
to clear out the previous packages.
The reason why I wondered earlier whether this might be a poudriere
problem is that when I last did a "poudriere bulk" I got some output
about /packages/meta.txz not being a valid package near the end of the
build:
=====
[[...]]
====>> Stopping 2 builders
====>> Creating pkgng repository
pkg-static: /packages/meta.txz is not a valid package: no manifest found
Creating repository in /packages: 100%
Packing files for repository: 100%
====>> Cleaning up
====>> Umounting file systems
[[...]]
=====
Is pkg 1.3.0 compatible with poudriere 3.0.16?
Is there something I need to do poudriere-wise when moving from pkg
1.2.27_4 to pkg 1.3.0 on the poudriere repository-building system?
The pkg and poudriere combination was working like a champ, but since
upgrading pkg to 1.3 I don't know if I can trust it. :-(
Cheers,
Paul.
More information about the freebsd-pkg
mailing list