[pacman-dev] Package/repo priority

Roman Kyrylych roman.kyrylych at gmail.com
Thu Mar 29 07:49:39 EDT 2007

2007/3/29, Nagy Gabor <ngaba at petra.hos.u-szeged.hu>:
> Hi!
> AFAIK, if a 'foo' package exists in more than one repo (both in extra
> and testing for example), then the repo which the package will be
> installed from is undefined (probably the first repo in pacman.conf).

Yep, the first repo takes precedence.

> That would be nice, if we somehow could choose our source repo for
> 'foo'. I don't know how can this be implemented easily, but some
> suggestions: 'pacman -S repo/foo' or an option to change repo-priority
> (which is probably defined by their order in pacman.conf) or pacman
> could ask the user which package is going to be installed (however,
> this can be annoying).

That's not a good idea IMO.

> You may say that I shouldn't use 2 "intersecting" repos, but similar
> problem occurs in case of (multiple) provided packages, where "ask"
> seems to be the only usable solution.

That problem is different, because automatic way of selecting the
first package found that provides required thing is not the best
solution. And asking there is much more useful, IMO.

> Anyway, using multiple repos can be useful (but not so efficient now):
> For example I'm using current, extra and community repos; yes,
> sometimes there are some buggy packages in current, it these cases that
> would be comfortable, if I can easily override my default current repo
> to 0.7.1 for example and downgrading my package or trying a newer one
> from testing.

AFAIR, you can use pacman -S <repo>/<package> to install package from
specific repo.
And you can add Current/Extra package to IgnorePkg to prevent them
from upgrading from Testing (and from Current/Extra too, but usually
there are no further updates to Current/Extra version while there's
version in Testing).

> One more addition to the last example: Some mirrors keep older versions
> of packages, for example see
> ftp://ftp.estpak.ee/pub/archlinux/current/os/i686/, and it would be
> handy if there would be an other db to these repos (which would contain
> all older versions of packages), and here comes to picture the multiple
> packages problem again. For example in these cases the latest version
> should be the default target and user could override this.

Using such mirrors as repos will lead to installing the latest version
of package available there. Using older versions require -A/-U anyway
(it will be easier task when -A/-U (-I finally?) --syncdeps will be

Roman Kyrylych (Роман Кирилич)

More information about the pacman-dev mailing list