pkgng repository priorities

Matthew Seaman matthew at FreeBSD.org
Sun Nov 3 08:33:01 UTC 2013


On 03/11/2013 01:44, Nikolai Lifanov wrote:
> Is there any documentation about how to use PKGNG repository priorities?
> I heard that these are available.
> 
> Currently, I have my repository configurations like this:
> 1-myrepo.conf
> 2-anotherrepo.conf
> 3-someotherthirdpartyrepo.conf
> 
> This roughly prefers stuff from what appears first in asciibetical order.
> 
> I would like to use the official FreeBSD package sets, but to do this, I
> need to always prefer a package from a local repository (WITH_NEW_XORG,
> WITH_KMS) if a package is available in it.

There is no such concept as 'repository priority' at the moment.  This
may change in the future, but no one has come up with any code yet, nor
even a plan on how it might be implemented.

What you can do is this:  in your repo.conf -- eg:

FreeBSD: {
  URL: http://pkg.freebsd.org/${ABI}/latest
  ENABLED: yes
  MIRROR_TYPE: SRV
}

the tag 'FreeBSD' is used in the name of the sqlite database file use to
hold the repository catalogue:

  /var/db/pkg/repo-FreeBSD.sqlite

Where you have several repsitories, these database files are effectively
loaded into sqlite in alphabetical order ie. the order you see by doing

   ls -1 /var/db/pkg/repo-*.sqlite

and many of the queries used will return the result rows from repos
earlier in the alphabet before the rows from repos later in the
alphabet.  It is not designed intentionally as a means of controlling
preference between repositories, but much of the time it seems to work
that way.

So don't rely on it; be prepared for the behaviour to change in the
future (in particular, the new solver that's in the works will make a
big difference here) and where you want to force a package to always be
installed from a particular repository you can do it like this:

On first installation:

    pkg install -r myrepo foo

Then to ensure 'foo; is subsequently always the version supplied from
'myrepo':

    pkg annotate -A foo repository myrepo

See pkg-repository(5).

	Cheers,

	Matthew

-- 
Dr Matthew J Seaman MA, D.Phil.
PGP: http://www.infracaninophile.co.uk/pgpkey


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 1036 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20131103/f5f5a4fb/attachment.sig>


More information about the freebsd-ports mailing list