#3 Make the library file co-owned by the main package
Closed 2 years ago by churchyard. Opened 2 years ago by zbyszek.
rpms/ zbyszek/lilv make-package-multilib-again  into  rawhide

file modified
+8 -5
@@ -3,7 +3,7 @@ 

  

  Name:       lilv

  Version:    0.24.12

- Release:    4%{?dist}

+ Release:    5%{?dist}

  Summary:    An LV2 Resource Description Framework Library

  

  License:    MIT
@@ -31,10 +31,7 @@ 

  BuildRequires:  python3-sphinx_lv2_theme

  

  Requires:       lv2 >= 1.18.0

- 

- # To try and deal with multilib issues from the -libs split:

- # https://bugzilla.redhat.com/show_bug.cgi?id=2052588

- Obsoletes:      lilv < 0.24.12-2

+ Requires:       lilv-libs%{_isa} = %{version}-%{release}

  

  %description

  %{name} is a library to make the use of LV2 plugins as simple as possible
@@ -104,6 +101,9 @@ 

  %{_bindir}/lv2apply

  %{_sysconfdir}/bash_completion.d/lilv

  %{_mandir}/man1/*

+ # https://bugzilla.redhat.com/show_bug.cgi?id=2052588

+ # Co-own the library so that the main package is multilib

+ %{_libdir}/lib%{name}-%{maj}.so.*

  

  %files libs

  %doc AUTHORS NEWS README.md
@@ -121,6 +121,9 @@ 

  %{python3_sitelib}/__pycache__/*

  

  %changelog

+ * Tue Mar 15 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.24.12-5

+ - Make the library file co-owned by the main package (#2052588)

+ 

  * Thu Feb 24 2022 Adam Williamson <awilliam@redhat.com> - 0.24.12-4

  - Try and fix multilib upgrade issues from the package split (#2052588)

  

This reverts the addition of Obsoletes that was done to try to fix
upgrade issues.

Compared to the state before the split of -libs:

-libs is split out, but the library is coowned the the main package.
This means that main package is bigger, but the main package is also
multilib. The main package gets a dependency on the library to make
sure that -libs is always pulled in.

The upgrade passes when executed locally. I hope it'll also pass when done through the repo, but I don't have any idea how to test this without actually building this and submitting as an update.

$ sudo dnf upgrade *.rpm
Package lilv-libs not installed, cannot update it.
No match for argument: lilv-libs-0.24.12-5.fc37.i686.rpm
Package lilv-libs not installed, cannot update it.
No match for argument: lilv-libs-0.24.12-5.fc37.x86_64.rpm
Package python3-lilv not installed, cannot update it.
No match for argument: python3-lilv-0.24.12-5.fc37.x86_64.rpm
Dependencies resolved.
========================================================
 Package                Architecture        Version                      Repository                 Size
=========================================================================================================
Upgrading:
 lilv                   i686                0.24.12-5.fc37               @commandline               83 k
 lilv                   x86_64              0.24.12-5.fc37               @commandline               76 k
Installing dependencies:
 lilv-libs              i686                0.24.12-5.fc37               @commandline               64 k
 lilv-libs              x86_64              0.24.12-5.fc37               @commandline               58 k

Transaction Summary
======================================================================
Install  2 Packages
Upgrade  2 Packages

Total size: 281 k
Is this ok [y/N]: 

You can build a test repository using httpd and createrepo_c to build the metadata.
Then you can add it to yum.repos.d

Tested your PR and the problem persists:

Test                                                                                              2.9 MB/s | 3.0 kB     00:00    
Dependencies resolved.

 Problem: lilv-0.24.10-4.fc35.i686 has inferior architecture
  - cannot install both lilv-0.24.12-5.fc37.x86_64 and lilv-0.24.10-4.fc35.x86_64
  - cannot install the best update candidate for package lilv-0.24.10-4.fc35.i686
  - cannot install the best update candidate for package lilv-0.24.10-4.fc35.x86_64
==================================================================================================================================
 Package                    Architecture                 Version                                 Repository                  Size
==================================================================================================================================
Skipping packages with conflicts:
(add '--best --allowerasing' to command line to force their upgrade):
 lilv                       x86_64                       0.24.12-5.fc37                          test                        76 k

Transaction Summary
==================================================================================================================================
Skip  1 Package

Nothing to do.
Complete!

To test with fake remote repository:

  1. in <path>/results_lilv/0.24.12/5.fc37 run createrepo_c .
  2. add the local repo to yum.repos, see the example down:
  3. Run sudo dnf update as usual
[test]
name=Test
baseurl=file:///<path>/results_lilv/0.24.12/5.fc37
enabled=1
countme=1
metadata_expire=1m
repo_gpgcheck=0
type=rpm
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=True

Thanks for testing! Did you provide both i686 and amd64 builds for the upgrade? Because dnf talks about lilv-0.24.10-4.fc35.i686, not lilv-0.24.10-5.fc37.i686.

Yes! It works:

$ sudo dnf upgrade lilv
Dependencies resolved.
===========================================================================================
 Package              Architecture      Version                      Repository       Size
===========================================================================================
Upgrading:
 lilv                 i686              0.24.12-5.fc36               test             83 k
 lilv                 x86_64            0.24.12-5.fc36               test             76 k
Installing dependencies:
 lilv-libs            i686              0.24.12-5.fc36               test             64 k
 lilv-libs            x86_64            0.24.12-5.fc36               test             58 k

Transaction Summary
===========================================================================================
Install  2 Packages
Upgrade  2 Packages

Total size: 281 k
Is this ok [y/N]: 

sorry, you are right, this time I forgot to add i686 version

As I said in https://bugzilla.redhat.com/show_bug.cgi?id=2052588 I really don't like this and would prefer to fix it almost any other way if possible. I hadn't forgot about this, it's just not my top priority right now, I'm trying to get F36 blockers dealt with.

Pull-Request has been closed by churchyard

2 years ago
Metadata