Per repo excludes and/or includepkgs can be used to make things work
though ...
That may be hard to do ... but that is how yum works.
I haven't read much on the topic. However, here's a suggestion.
Group repos into groups. When doing yum list, list the most current
packages from _each_ repogroup.
Ie, current behaviour:
[maze@tcs ~]$ yum list php
Available Packages
php.i386 4.3.9-3.12 updates
[maze@tcs ~]$ yum --enablerepo=centosplus list php
Available Packages
php.i386 5.0.4-5.centos4 centosplus
desired behaviour (assuming centosplus and updates are in different repo
groups):
Available Packages
php.i386 4.3.9-3.12 updates
php.i386 5.0.4-5.centos4 centosplus
This means you can choose which repo to install the given package from.
Possibly yum install php would now ask you to select a repogroup (ie.
The package php is available from the following repogroups:
1. centos base/addons/extras/updates
2. centosplus
Please select the repogroup to use for this package:)
Example groups:
- centos: base/addons/extras/updates
- centosplus
- dag/dries
- etc...
Next, keep a database (maybe just a text file) from which repo (or
repogroup) each package was installed, and consider only packages from the
same repogroup to be valid upgrade paths. And refuse to install stuff
that would require a cross-repogroup upgrade (or make a big fat warning
dialog y/n default no box).
Comments?
MaZe
_______________________________________________
CentOS mailing list
CentOS@xxxxxxxxxx
http://lists.centos.org/mailman/listinfo/centos