Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Here's an example of why dpkg (and its associated tools) is more sophisticated than rpm (and its associated tools):

While building a debian packakge, there are tools which will scan all of the binaries, determine which symbols they are using in a shared library, and compare that with a list which shows when a particular symbol was first introduced to that shared library, and use that to calculate the minimum prerequisite version for that particular shared library. This is important, because otherwise you could install a new version of a binary, and it might not work because you don't have a new enough version of its dependencies.

I recently had a user who complained about this with e2fsprogs, when it used a new interface, who demanded that I bump the major version of the library (thus declaring it backwards incompatible) because this was the only way rpm and yum would automatically figure out the version dependency. I refused, and instead asked them to manually update the version dependency in their package, and pointed out that debian could automatically figure out major and minor version dependencies without needing any manual work.

For an example of this text file which maps symbol versions to minimum package versions, please see:

http://git.kernel.org/?p=fs/ext2/e2fsprogs.git;a=blob;f=debi...

P.S. Because RPM doesn't do this sort of thing automatically, sometimes the only safe thing you can do to make sure there aren't any overlooked version dependencies is to download the latest versions of all of the packages installed on your system, and run the command rpm -Fvh *....



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: