#117 Guidelines for packages switching from noarch to arch
Closed: Invalid None Opened 12 years ago by toshio.

According to https://bugzilla.redhat.com/show_bug.cgi?id=753149#c5 packages that go from noarch to arch need to have a versioned obsolete to properly upgrade. I'm currently gathering more information to figure out whether we need a guideline and what it should look like if so.


This would affect any package that changes arch, the direction of change doesn't matter, whether it's arch->noarch or noarch->arch

IMO, this is a bug in yum and should be fixed there ASAP.

James, can you shed some light on what we should do here? Maybe we can come up with a draft by next week's meeting?

So, as far as I know it "works" in yum ... we have a bunch of testcases for all the various arch changing upgrades (including multilib), and they always pass. However people tend to hit problems when obsoletes aren't used, and rpm has it's own "quirks" (and they tend to be in the file colouring etc. code paths).

I'm mostly fine with just saying "we'll fix it in yum", but Panu will have to sign off on the same for rpm.

There's a current F16 update candidate which appears to have this problem:

https://admin.fedoraproject.org/updates/FEDORA-2012-5087/polkit-0.103-1.fc16

With a clean install of F16 x86_64, with all packages from updates but nothing from updates-testing, if I enable updates-testing and do 'yum update', yum wants to install both the i686 and x86_64 versions of polkit to replace the noarch polkit-desktop-policy. So there definitely is a problem in at least one real-world case here.

The polkit-0.103-1 spec states:

Obsoletes: polkit-desktop-policy < 0.103[[BR]]
Provides: polkit-desktop-policy = 0.103

{{{

rpm -qa polkit*

polkit-desktop-policy-0.102-3.fc16.noarch
polkit-gnome-0.104-2.fc16.x86_64
polkit-0.102-3.fc16.x86_64
polkit-docs-0.102-3.fc16.x86_64
polkit-devel-0.102-3.fc16.x86_64

yum update

Loaded plugins: langpacks, presto, refresh-packagekit
Resolving Dependencies
--> Running transaction check
---> Package polkit.x86_64 0:0.102-3.fc16 will be updated
---> Package polkit.i686 0:0.103-1.fc16 will be obsoleting
---> Package polkit.x86_64 0:0.103-1.fc16 will be obsoleting
---> Package polkit-desktop-policy.noarch 0:0.102-3.fc16 will be obsoleted
---> Package polkit-devel.x86_64 0:0.102-3.fc16 will be updated
---> Package polkit-devel.x86_64 0:0.103-1.fc16 will be an update
---> Package polkit-docs.x86_64 0:0.102-3.fc16 will be updated
---> Package polkit-docs.x86_64 0:0.103-1.fc16 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

===================================================================================================================
Package Arch Version Repository Size
===================================================================================================================
Installing:
polkit i686 0.103-1.fc16 updates-testing 133 k
replacing polkit-desktop-policy.noarch 0.102-3.fc16
polkit x86_64 0.103-1.fc16 updates-testing 133 k
replacing polkit-desktop-policy.noarch 0.102-3.fc16
Updating:
polkit-devel x86_64 0.103-1.fc16 updates-testing 41 k
polkit-docs x86_64 0.103-1.fc16 updates-testing 263 k

Transaction Summary

Install 2 Packages
Upgrade 2 Packages

Total size: 571 k
Total download size: 304 k
Is this ok [y/N]:

}}}

Please update this ticket regarding its continued relevance, providing any information requested. If this is not done within the next two weeks, this ticket may be closed due to inactivity. Thank you!

This ticket is being closed due to inactivity. If the issue referenced has
not been resolved, please reopen the ticket and provide the information
requested. Thank you!

Login to comment on this ticket.

Metadata