Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 02 Sep 2014 23:37 +0100
From:      Mike Clarke <jmc-freebsd2@milibyte.co.uk>
To:        freebsd-questions@freebsd.org
Subject:   Package repository priorities
Message-ID:  <4449233.ee8yzlM0pQ@curlew.lan>

next in thread | raw e-mail | index | archive | help

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@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4449233.ee8yzlM0pQ>