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