Package repository priorities
Mike Clarke
jmc-freebsd2 at milibyte.co.uk
Tue Sep 2 22:37:11 UTC 2014
I'm trying to use poudriere to maintain packages which need to be
built with non-default options. I can install packages from my
repository with the -r option but it looks like I'll have problems
when I next need to run pkg upgrade because there doesn't seem to be a
way to ensure that my repository will automaticallytake precedence
over the remote FreeBSD repository for the packages I've built.
According to pkg-repository(5) I should follow the following steps
pkg install -r repo-a example-1.0.0
and then to make updates to that package ``sticky'' to the same
reposi-tory, add an annotation to the package:
pkg annotate -A example repository repo-a
Things seem to have changed a bit since thw man page was created in
September last year because I see that packages are now automatically
annotated with the repository name:
curlew:/root# uname -a
FreeBSD curlew.lan 9.3-RELEASE FreeBSD 9.3-RELEASE #0 r268512: Thu Jul
10 23:44:39 UTC 2014
root at snap.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64
curlew:/root# pkg info pkg exim-sa-exim mod_php5
pkg-1.3.7
exim-sa-exim-4.84+4.2_1
Mod_php5-5.4.32,1
Exim-sa-exim and mod_php5 came from my repository and this shows up
without me setting any annotation:
curlew:/var/log# pkg query "%n %At %Av" exim-sa-exim mod_php5 | grep
repository
exim-sa-exim repository poudriere
mod_php5 repository poudriere
But attempts to upgrade them are inconsistent in the choice of
repository
curlew:/root# pkg upgrade -f exim-sa-exim mod_php5
Updating FreeBSD repository catalogue...
FreeBSD repository is up-to-date.
Updating poudriere repository catalogue...
poudriere repository is up-to-date.
Updating FreeBSD_new_xorg repository catalogue...
FreeBSD_new_xorg repository is up-to-date.
All repositories are up-to-date.
Checking integrity... done (0 conflicting)
The following 2 packages will be affected (of 0 checked):
Installed packages to be REINSTALLED:
exim-sa-exim-4.84+4.2_1 [FreeBSD]
mod_php5-5.4.32,1 [poudriere]
The output from "pkg -vv" lists repositories in the following order:
FreeBSD, poudriere, FreeBSD_new_xorg
Is there any way I can ensure that pkg upgrade will use the "right"
repository for each package or will I need to manually force an
upgrade for just my modified packages first with the -r option before
doing a bulk upgrade?
--
Mike Clarke
More information about the freebsd-questions
mailing list