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