Bug 2052588 - Failure to upgrade lilv from F35 to F36
Summary: Failure to upgrade lilv from F35 to F36
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: lilv
Version: 36
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Guido Aulisi
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: AcceptedFreezeException
Depends On:
Blocks: F36FinalFreezeException
TreeView+ depends on / blocked
 
Reported: 2022-02-09 15:51 UTC by Miroslav Suchý
Modified: 2022-04-20 23:29 UTC (History)
16 users (show)

Fixed In Version: lilv-0.24.12-4.fc36 lilv-0.24.12-5.fc36
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-04-20 23:29:38 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Miroslav Suchý 2022-02-09 15:51:57 UTC
After
  sudo dnf --releasever=36 --setopt=module_platform_id=platform:f36 \
    --enablerepo=updates-testing --enablerepo=updates-testing-modular \
    distro-sync

I get:

 Problém 2: lilv-0.24.10-4.fc35.i686 has inferior architecture
  - lilv-0.24.10-4.fc35.x86_64 does not belong to a distupgrade repository
  - problem with installed package lilv-0.24.10-4.fc35.i686


$ rpm -q lilv
lilv-0.24.10-4.fc35.x86_64
lilv-0.24.10-4.fc35.i686

Comment 1 Guido Aulisi 2022-02-09 20:24:18 UTC
Maybe mirrors still syncing?

Comment 2 Adam Williamson 2022-02-21 00:41:55 UTC
Ahh...this is a subtle case of fallout from this change:

https://github.com/weldr/lorax/pull/1202

I split lilv's libs out from the binary package to avoid some unnecessary dependencies. But as a result of that, only lilv-libs is now considered multilib; lilv is not. Compare:

https://dl.fedoraproject.org/pub/fedora/linux/releases/35/Everything/x86_64/os/Packages/l/
https://dl.fedoraproject.org/pub/fedora/linux/development/36/Everything/x86_64/os/Packages/l/

in F35, lilv is there, but in F36, only lilv-libs.

I'm not actually sure what the best way to handle this would be. Kevin, you have any idea?

Comment 3 Kevin Fenzi 2022-02-21 21:13:08 UTC
You should be able to add a:

Obsoletes: lilv < 0.24.12

That is, if 0.24.12 was the first version with the split. That should obsolete both the x86_64 and i686 old versions.

Comment 4 Onuralp Sezer 2022-02-24 20:09:42 UTC
I made a PR for it: https://src.fedoraproject.org/rpms/lilv/pull-request/2

Comment 5 Guido Aulisi 2022-02-24 22:19:43 UTC
Even with obsoletes as suggested by comment 3 I get:

 Problem: package lilv-0.24.12-4.fc37.x86_64 obsoletes lilv < 0.24.12 provided by lilv-0.24.10-4.fc35.i686
  - cannot install the best update candidate for package lilv-0.24.10-4.fc35.x86_64
  - problem with installed package lilv-0.24.10-4.fc35.i686

Comment 6 Onuralp Sezer 2022-02-24 22:51:42 UTC
It need libs 

Installing:
 lilv-libs                                     x86_64                           0.24.12-4.fc36                              @commandline                              58 k
Upgrading:
 lilv                                          x86_64                           0.24.12-4.fc36                              @commandline                              34 k
     replacing  lilv.i686 0.24.10-4.fc35

Comment 7 Guido Aulisi 2022-02-24 23:33:19 UTC
That works only using local packages, but I cannot make it work from remote repos:

sudo dnf install lilv-0.24.12-4.fc37.x86_64.rpm lilv-libs-0.24.12-4.fc37.x86_64.rpm
works as comment 6 reported.

sudo dnf --releasever=36 update lilv
Last metadata expiration check: 0:00:27 ago on Fri Feb 25 00:28:36 2022.
Dependencies resolved.

 Problem: package lilv-0.24.12-4.fc37.x86_64 obsoletes lilv < 0.24.12 provided by lilv-0.24.10-4.fc35.i686
  - cannot install the best update candidate for package lilv-0.24.10-4.fc35.x86_64
  - problem with installed package lilv-0.24.10-4.fc35.i686
Nothing to do.
Complete!

This one doesn't work, maybe because lilv-libs is not pulled to be installed.

I also tried to add
Requires:   %{name}-libs%{_isa} = %{version}-%{release}
to the main package, but it doesn't work too.

Comment 8 Fedora Update System 2022-02-25 00:41:52 UTC
FEDORA-2022-e021d04302 has been submitted as an update to Fedora 36. https://bodhi.fedoraproject.org/updates/FEDORA-2022-e021d04302

Comment 9 Adam Williamson 2022-02-25 00:42:35 UTC
I sent an upgrade that tries this, anyway - adds an Obsoletes: lilv < 0.24.12-2 to the main package. We could also add an Obsoletes: to the -libs subpackage, but based on a problem we had with another package I'm not sure I want to do that...

Comment 10 Fedora Update System 2022-02-25 20:49:18 UTC
FEDORA-2022-e021d04302 has been pushed to the Fedora 36 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2022-e021d04302`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-e021d04302

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 11 Zbigniew Jędrzejewski-Szmek 2022-03-12 12:51:48 UTC
lilv-0.24.12-4.fc36.x86_64 does not fix the issue.
 Problem 1: package lilv-0.24.12-4.fc36.x86_64 obsoletes lilv < 0.24.12-2 provided by lilv-0.24.10-4.fc35.i686
  - cannot install the best update candidate for package lilv-0.24.10-4.fc35.x86_64
  - problem with installed package lilv-0.24.10-4.fc35.i686

And we have an identical problem with pam:
 Problem 3: pam-1.5.2-11.fc36.i686 has inferior architecture
  - cannot install both pam-1.5.2-12.fc36.x86_64 and pam-1.5.2-11.fc36.x86_64
  - cannot install the best update candidate for package pam-1.5.2-11.fc36.i686
  - cannot install the best update candidate for package pam-1.5.2-11.fc36.x86_64

Comment 12 Adam Williamson 2022-03-12 16:32:30 UTC
Yeah, I know, I just hadn't figured out what to do about it yet. I'll try and figure something out on Monday if nobody else has any bright ideas.

Comment 13 plumlis 2022-03-15 08:20:12 UTC
same here

Error: 
 Problem: lilv-0.24.10-4.fc35.i686 has inferior architecture
  - lilv-0.24.10-4.fc35.x86_64 does not belong to a distupgrade repository
  - problem with installed package lilv-0.24.10-4.fc35.i686
(try to add '--skip-broken' to skip uninstallable packages)

Comment 14 Zbigniew Jędrzejewski-Szmek 2022-03-15 10:34:56 UTC
I tried playing with the Obsoletes, and nothing seems to help.
But I have the following idea: add one of the libraries back to lilv, so that it is co-owned by lilv-libs and lilv.
This way lilv will become a multilib package again, and it'll be available for the upgrade.
This is a kludge, but I think it shouldn't have any negative effects. WDYT?

Comment 15 Zbigniew Jędrzejewski-Szmek 2022-03-15 10:55:34 UTC
https://src.fedoraproject.org/rpms/lilv/pull-request/3

Comment 16 Zbigniew Jędrzejewski-Szmek 2022-03-15 11:08:30 UTC
https://src.fedoraproject.org/rpms/pam/pull-request/26

Comment 17 Guido Aulisi 2022-03-15 14:08:26 UTC
@awilliam what do you think about @zbyszek.pl PR?

If you agree I think this could be a possible solution

Comment 18 Adam Williamson 2022-03-15 16:11:28 UTC
I don't love it at all, honestly. It seems like one of the ugliest possible ways to deal with the problem. Not meant as an attack on Zbigniew, to be clear, just the general feeling that this should absolutely not be necessary. Fixing it at almost any other level would be nicer.

I was going to come back and try and figure out something better to do about this but it is honestly not on top of my priority list right now, I'm dealing with more important F36 bugs. This really isn't that big of a problem - all you have to do is use `--allowerasing` to deal with it.

Comment 19 Zbigniew Jędrzejewski-Szmek 2022-03-15 17:27:58 UTC
One small possible improvement: only include a symlink in the main package:
i.e. e.g. /usr/lib64/liblilv-0.so.0 would duplicated between the two packages, so we wouldn't
get a package size increase. I didn't do this before because I wasn't sure how multilib is
determined. But I think any it uses a stupid pattern match, so it should be enough to have
the symlink.

> It seems like one of the ugliest possible ways to deal with the problem.

Yeah, it ain't pretty. But maybe we should do this to get upgrades to proceed without issue.
If we get a better solution later on, we can always switch to that.
But I think it might require changes in rpm/dnf.

Comment 20 Tomáš Mráz 2022-03-16 08:21:14 UTC
IMO the proper fix would be to fix the multilib detection. For example the pam base package already contains the pam modules which should be multilib too. They are under /usr/lib{64,}/security - could the multilib detection be made to recognize this?

Comment 21 Fedora Update System 2022-03-26 15:02:21 UTC
FEDORA-2022-e021d04302 has been pushed to the Fedora 36 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 22 Tom Seewald 2022-04-12 16:01:37 UTC
I am on Fedora 35 and I am still unable to upgrade due to the following error after running 'sudo dnf system-upgrade download --refresh --releasever=36':

Error: 
 Problem: lilv-0.24.10-4.fc35.i686 has inferior architecture
  - lilv-0.24.10-4.fc35.x86_64 does not belong to a distupgrade repository
  - problem with installed package lilv-0.24.10-4.fc35.i686
(try to add '--skip-broken' to skip uninstallable packages)

I see the update to lilv was only for fc36, so I'm not sure it actually fixed the 35->36 upgrade problem.

Comment 23 Matt Aguirre 2022-04-14 16:57:36 UTC
Same as above, is there an upgrade path?
Error: 
 Problem: lilv-0.24.10-4.fc35.i686 has inferior architecture
  - lilv-0.24.10-4.fc35.x86_64 does not belong to a distupgrade repository
  - problem with installed package lilv-0.24.10-4.fc35.i686
(try to add '--skip-broken' to skip uninstallable packages)

Comment 24 Geraldo Simião 2022-04-16 03:24:41 UTC
Why this ticket is closed, if people still have issues when trying to upgrade F35 -> F36?

Comment 25 Miroslav Suchý 2022-04-16 14:31:02 UTC
Note https://bugzilla.redhat.com/show_bug.cgi?id=1919864 which was exactly the same kind of issue and has never been resolved too.

Comment 26 Adam Williamson 2022-04-18 05:42:10 UTC
It got auto-closed by an update. Sorry, hadn't noticed that. It should still be open as the update didn't really fix it.

Not sure who we can ping about fixing multilib detection...

Comment 27 Igor Raits 2022-04-18 08:37:39 UTC
https://src.fedoraproject.org/rpms/lilv/pull-request/4

Here's the fix that's supposed to work (tested only with plain libsolv testcase).

Comment 28 Igor Raits 2022-04-18 08:39:33 UTC
How I tested it:

0. podman run -it --rm fedora:35
1. dnf -y install lilv.i686 lilv.x86_64 libsolv-tools vim-enhanced
2. dnf --releasever=36 update lilv\* --debugsolver
3. cd debugdata/rpms
4. gzip -d fedora.repo.gz
5. vim fedora.repo
6. … Add Obs: in proper places
7. testsolv testcase.t

—

sh-5.1# testsolv testcase.t 
Results differ:
+install lilv-libs-0.24.12-4.fc36.i686@fedora
+install lilv-libs-0.24.12-4.fc36.x86_64@fedora
+upgrade lilv-0.24.10-4.fc35.i686@@System lilv-0.24.12-4.fc36.x86_64@fedora
+upgrade lilv-0.24.10-4.fc35.x86_64@@System lilv-0.24.12-4.fc36.x86_64@fedora

—

Which sounds like a desired result.

Comment 29 Fedora Update System 2022-04-18 22:59:51 UTC
FEDORA-2022-d66c98ba43 has been submitted as an update to Fedora 36. https://bodhi.fedoraproject.org/updates/FEDORA-2022-d66c98ba43

Comment 30 Fedora Update System 2022-04-19 17:27:47 UTC
FEDORA-2022-d66c98ba43 has been pushed to the Fedora 36 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2022-d66c98ba43`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-d66c98ba43

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 31 Adam Williamson 2022-04-19 19:29:49 UTC
Igor: thanks for trying to fix it. As mentioned in comment #9, I didn't do that before because we had a bug caused by a similar Obsoletes in another package, but that bug was kind of odd and mainly affected openQA update image builds, so hopefully it won't crop up here.

Comment 32 Fedora Blocker Bugs Application 2022-04-20 20:25:48 UTC
Proposed as a Freeze Exception for 36-final by Fedora user geraldosimiao using the blocker tracking app because:

 This package is blocking several users from running correctly a system upgrade to f36 and the removal of it is not a choice as plasma desktop is linked to it.

Comment 33 Zbigniew Jędrzejewski-Szmek 2022-04-20 20:40:23 UTC
Yep, this seems to work:

# dnf --releasever=36 update lilv\* --enablerepo=updates-testing
====================================================================================================================
 Package                  Architecture          Version                        Repository                      Size
====================================================================================================================
Upgrading:
 lilv                     x86_64                0.24.12-5.fc36                 updates-testing                 34 k
     replacing  lilv.i686 0.24.10-4.fc35
Installing dependencies:
 lilv-libs                i686                  0.24.12-5.fc36                 updates-testing                 64 k
 lilv-libs                x86_64                0.24.12-5.fc36                 updates-testing                 58 k

Comment 34 Adam Williamson 2022-04-20 21:47:41 UTC
+3 in https://pagure.io/fedora-qa/blocker-review/issue/768 , marking accepted.

Comment 35 Fedora Update System 2022-04-20 23:29:38 UTC
FEDORA-2022-d66c98ba43 has been pushed to the Fedora 36 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.