Repository Search Order
Dan Lists
lists.dan at gmail.com
Sat Sep 13 01:02:05 UTC 2014
man pkg.conf states:
Repositories are prioritized in the order they are found on the
REPOS_DIR
search path, with individual repository configuration files in the same
directory processed in alphabetical order. Earlier files take prece-
dence, meaning that packages will be downloaded from them
preferentially
where the same package is available from several repositories.
This is not true, but I would like it to be.
# ls /usr/local/etc/pkg/repos/
00_Local.conf 80_zzz.conf 90_fff.conf 99_mmm.conf FreeBSD.conf
So the order should be local, zzz, fff, mmm.
Repositories:
mmm: {
url : "http://some.dom/freebsd:8:x86:64/mmm",
enabled : yes
}
fff: {
url : "http://some.dom/freebsd:8:x86:64/fff",
enabled : yes
}
local: {
url : "file:///usr/ports/packages",
enabled : yes
}
zzz: {
url : "http://some.dom/freebsd:8:x86:64/zzz",
enabled : yes
}
The order has no relation to alphabetical order at all. Interestingly, if
I use find (unsorted), it matches the repository order!
# find /usr/local/etc/pkg/repos
/usr/local/etc/pkg/repos
/usr/local/etc/pkg/repos/FreeBSD.conf
/usr/local/etc/pkg/repos/99_mmm.conf
/usr/local/etc/pkg/repos/90_fff.conf
/usr/local/etc/pkg/repos/00_Local.conf
/usr/local/etc/pkg/repos/80_zzz.conf
I quick look at the source shows that load_repo_files is just reading the
files in the order they are in the directory table:
while ((ent = readdir(d))) {
...
}
Can we get the repo config files sorted like the docs say?
More information about the freebsd-questions
mailing list