mixing repositoies

Phil Meyer pmeyer at themeyerfarm.com
Sat Nov 4 16:40:18 UTC 2006


Stuart wrote:
> "Tom Horsley" wrote:
>   
>>> I have seen lots of admonitions about the dangers
>>> of mixing packages from, for example, livna and
>>> dries.  But I have not seen any clear technical 
>>> descriptions of exactly *what* (with examples) the 
>>> problem is!
>>>       
>> You download mplayer from livna, all is working. Then
>> you add freshrpms to get something from there that
>> livna doesn't have, and it starts updating your
>> mplayer libraries. Pretty soon nothing is from any
>> consistent source and your system is a mess.
>>     
>
> I guess what I don't understand (taking your 
> example) is:
> 1) why should a package from freshrpms update the
> mplayer libs if I already have current versions
> installed?  
> 2) Even if it does (because the release number in
> mplayer-version-release is higher), why will those 
> versions break the livna mplayer?
> I.e, I am having trouble with the meaning of your
> word "consistent".
>
>   

Its all about naming conventions and versioning numbering schemes.
Examine the complete names of any given rpm:

Here is one example:
zip-2.31-1.2.1.x86_64.rpm

Ok, the package name is zip.  How do I know?  Well it looks like the 
first thing after the first '-' dash character is a version number. 
So look at the version number.  What constitutes the version number?  
The only way to know for sure what the packager used as the version 
number is to ask the package:
/bin/rpm -qp  zip-2.31-1.2.1.x86_64.rpm --qf '%{version}'
returns: 2.31
So what does the rest of it mean?

Here is the specified (by RH) formula for package names:
'%{name}-%{version}-%{release}.%{arch}.rpm\n'

You can see this in: /etc/cron.daily/rpm

Notice the placement of the dashes and dots.
Consider the sorting order of the two text strings: FC5 and fc5

Now look at another package name:
yum-2.6.1-0.fc5.noarch.rpm

Notice the fc5 in there?

OK, one more item to consider for this discussion.
Who decided that kernel modules should start with the text 'kmod' ?

Now you have enough information to understand the basics of the problems 
that package maintainers have with just the package naming scheme.  Let 
alone issues to do with the contents of packages, such as file 
locations, menu locations, and permissions.

All it takes is for one maintainer at one repository to not get the memo 
about FC5 vs fc5 and BOOM.  Those packages now all want to be updated 
even though they shouldn't be.
What if a maintainer fumble fingers a version name?  BOOM all updates 
may actually DOWNREV.

These are just some silly examples, but both of these do happen, and 
have happened.

By mixing repositories you risk:
1.   Package naming schemes causing false or bad updates and partial 
updates.
2.   Package dependency errors because one package maintainer specified 
different dependencies than another.
3.   Library errors because one package maintainer had different 
versions of dependencies installed when the package was built.

And the list goes on.

Please understand that these guys try their best.  But sometimes 
decisions are made that everyone didn't hear about in time, or 
whatever.  Stuff happens.

The end result is that one day you try: yum update whatever -- and the 
dependencies just won't resolve no matter what you do.  So you will have 
to start removing packages to get something to install or update 
correctly.  Its a pain.  Its also something that a more casual user just 
cannot do.




More information about the users mailing list