#13 upgradepath does not check versions of subpackages
Opened 8 years ago by kparal. Modified 6 years ago

There's a design flaw in upgradepath. It compares the versions of source packages when deciding whether the upgrade path is satisfied. But packages can have subpackages, and those subpackages can have different versions (as I learned). Vit Ondruch reported that this update should have failed upgradepath, but it didn't:
https://admin.fedoraproject.org/updates/FEDORA-2015-6377/ruby-2.1.6-27.fc21
<vondruch> kparal, rubygem-io-console-0.4.3-27.fc21 > rubygem-io-console-0.4.3-11.fc23

This is the buildbot job, but not much to be seen there:
https://taskotron.fedoraproject.org/taskmaster//builders/x86_64/builds/62379/

If you look into [[ http://pkgs.fedoraproject.org/cgit/ruby.git/tree/ruby.spec | ruby spec file ]], rubygem-io-console has a different version than ruby.

This will require significant changes in upgradepath if we're to check not just source package versions, but all binary packages (subpackages) versions.


Different subpackage and parent package versions is an intentional feature of rpm? It seems like questionable idea to me but maybe I just can't think of a use case for it.

Do we have any idea how many packages in fedora make use of this "feature"?

That's a good remark, we should first verify on the packaging mailing list that this approach is even supported/allowed (even though rpm clearly makes it possible). I don't know how many packages use that, but it should be possible to write a script to check that.

Login to comment on this ticket.

Metadata