[Yum] dependency problems with yum-priorities on CentOS 5.5

Ljubomir Ljubojevic office at plcomputers.net
Mon Aug 23 12:05:03 UTC 2010


All you experienced is exactly how it is supposed to be.

Yum-priorities does the following:
ALLWAYS use version of package from repo with lesser priority number. 
For all OTHER packages, use version of package with lesser priority number.

I use it like this:
Priority plugin is active always. If I hit dependency problem like you 
did, there are two things you can do:
a) do not install package with unresolved dependency
b) run install with "--disableplugin=*prior*" and IGNORE that external 
repo will mess with your system, replacing packages yum-priorities is 
installed to protect. For smaller insignificant packages I would select 
b), but very carefully.

Ljubomir


Nick wrote:
> Hello,
> 
> I'm a relatively new user of CentOS 5.5. The CentOS wiki advises the use of yum
> priorities  if you use more than the base repositories, specifically with RPMForge:
> 
>  http://wiki.centos.org/AdditionalResources/Repositories/RPMForge
> 
> (I have yum-3.2.22-26.el5.centos and yum-priorities-1.1.16-14.el5.centos.1)
> 
> As I gather has been stated before on the centos list [1], it also implies that
> yum-priorities isn't a great solution (quoting Seth Vidal), but stops
> short of outlining what exactly is wrong with yum-priorities (YP) and why it's
> still recommended.  In fact it goes on to say:
> 
>> as of yet, no real world problems have been reported with regard to the
>> 'yum-priorities' plugin
> 
> So, I experienced a real-world problem (more details in [2]):
> 
>  - set CentOS base with priority 1
>  - set RPMForge with priority 2
>  - yum check-update was ok
>  - yum update seemed ok, prompted to proceed, then aborted half way.
> 
> It aborted because of an unresolvable dependency from an RPMForge package, where
> the package which satisfies it hidden by an older version in the base repo.
> Specifically:
> 
>  perl-Module-Install-0.92-1.el5.rf needed perl-Archive-Tar >= 1.44
> 
> At first I thought RPMForge must be broken, because there seemed to be nothing
> which would satisfy the dependency, just this:
> 
>  $ yum list --showduplicates  perl-Archive-Tar
>   perl-Archive-Tar    1.30               centos-base
> 
> RPMForge appears to have nothing at all.  Later I inferred yum-priorities was
> hiding it from view, because with --noplugins, yum would admit that indeed the
> required perl-Archive-Tar-1.44 did exist in RPMForge:
> 
>  $ yum list --showduplicates --noplugins  perl-Archive-Tar
>   perl-Archive-Tar    1.30               centos-base
>   perl-Archive-Tar    1.44               rpmforge
> 
> So RPMForge was not broken, I just have an pathological case of yum-priorities.
> 
> Of course, I know this is what yum-priorities is designed to do, and that it
> isn't perfect.  I have two suggestions, however - but they seem a bit obvious,
> so before I file them on the yum issue tracker I'd like to check I've not missed
> anything.
> 
> 
> Firtly, the fact that yum+YP hides packages so completely they don't seem to be
> present can be confusing, and it'd be nice if that could be fixed so that
> --showduplicates will report the presence of packages which won't be installed
> because of YP.
> 
> 
> However, the bigger problem is that yum does *not* seem to be able to detect the
> kind of unresolvable dependency problem I experienced.  Therefore it happily
> starts the update process, only to abort with an error half way through, leaving
> my system essentially broken.  Neither does yum check-update warn me about this
> risk.
> 
> My choice seems to be:
> 
>  - don't use yum-priorities, but get into a muddle when base OS packages get
>    replaced, or
> 
>  - do use it, but at the risk of breaking my (possibly production) server at an
>    unpredictable moment entirely outside my control (as described).
> 
> 
> 
> Couldn't yum check-update and yum update detect the dependency problem and warn
> me at a point I can still back off?
> 
> For example, in a case like the one above, couldn't yum update check the
> dependencies available and refuse to proceed, telling me something like this?
> 
>   perl-Module-Install-0.92-1.el5.rf needs perl-Archive-Tar >= 1.44, but
>   perl-Archive-Tar-1.44 from the 'rpmforge' repo cannot be used due to
>   the presence of perl-Archive-Tar-1.30 the higher priority repo 'centos-base'.
>   See [link to documentation] for possible ways to resolve this problem.
> 
> Thanks,
> 
> Nick
> 
> ---
> 
> 1. http://thread.gmane.org/gmane.linux.centos.general/86563
> 
> 2. An example of when yum_priorities bites included here:
>  http://www.noodlefactory.co.uk/~nick/wu-lee/Notes/YumPrioritiesPitfalls
> 
> 
> _______________________________________________
> Yum mailing list
> Yum at lists.baseurl.org
> http://lists.baseurl.org/mailman/listinfo/yum
> 
> 



More information about the Yum mailing list