pkg upgrade attempts to use the "wrong" repository for some packages

Mike Clarke jmc-freebsd2 at milibyte.co.uk
Sun Sep 21 14:26:49 UTC 2014


I use 3 repositories for packages, FreeBSD, FreeBSD_new_xorg and a 
local repository named poudriere which has a small number of packages 
which are either not available from the FreeBSD repositories or 
require non standard options,

On attempting to run pkg upgrade I see that it will attempt to get 
some packages from FreeBSD when they should be from one of the other 
repositories. This will cause problems for at least three of my 
packages - audacity, xf86-input-keyboard and xf86-input-mouse.

curlew:/home/mike% uname -a
FreeBSD curlew.lan 9.3-RELEASE-p2 FreeBSD 9.3-RELEASE-p2 #0: Mon Sep 
15 16:44:27 UTC 2014     root at amd64-
builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64

curlew:/home/mike% pkg query "%n %v" pkg
pkg 1.3.7

curlew:/home/mike% pkg query "%n %R" audacity
audacity poudriere

curlew:/home/mike% pkg search -Q repository audacity
audacity-2.0.5_3               FreeBSD 
[pkg+http://pkg.FreeBSD.org/freebsd:9:x86:64/latest]
audacity-2.0.5_3               poudriere 
[file:/usr/local/poudriere/data/packages/9-3R-default]

So audacity was installed from my local poudriere repository and the 
latest version 2.0.5_3 is available in my repository but pkg upgrade 
wants to fetch it from the FreeBSD repository

Similar things happen with FreeBSD and FreeBSD_new_xorg

curlew:/home/mike% pkg query "%n %R" xf86-input-keyboard
xf86-input-keyboard FreeBSD_new_xorg

Curlew:/home/mike% pkg search -Q repository xf86-input-keyboard
xf86-input-keyboard-1.8.0_5    FreeBSD 
[pkg+http://pkg.FreeBSD.org/freebsd:9:x86:64/latest]
xf86-input-keyboard-1.8.0_5    FreeBSD_new_xorg 
[pkg+http://pkg.FreeBSD.org/freebsd:9:x86:64/new_xorg]

curlew:/home/mike% pkg query "%n %R" xf86-input-mouse
xf86-input-mouse FreeBSD_new_xorg

curlew:/home/mike% pkg search -Q repository xf86-input-mouse
xf86-input-mouse-1.9.0_4       FreeBSD 
[pkg+http://pkg.FreeBSD.org/freebsd:9:x86:64/latest]
xf86-input-mouse-1.9.0_4       FreeBSD_new_xorg 
[pkg+http://pkg.FreeBSD.org/freebsd:9:x86:64/new_xorg]

The repository order shown by pkg -vv is FreeBSD, poudriere and 
finally FreeBSD_new_xorg.

I can force these three packages to be upgraded from the correct 
repositories before upgrading the rest but there are several other 
xorg related packages which will be upgraded from FreeBSD and which I 
know also exist in FreeBSD_new_xorg. I know from a previous upgrade 
that things break if xf86-input-keyboard comes from FreeBSD and I 
suspect this might apply for some of the others, especially xf86-
input-mouse.

When the right version of a package exists in more than one repository 
shouldn't pkg upgrade default to using the repository that the 
existing package came from?

-- 
Mike Clarke


More information about the freebsd-ports mailing list