Merge ~ahasenack/ubuntu/+source/sg3-utils:mantic-lib-conflict-2039279 into ubuntu/+source/sg3-utils:ubuntu/mantic-devel

Proposed by Andreas Hasenack
Status: Merged
Approved by: git-ubuntu bot
Approved revision: not available
Merged at revision: 1b13018f11cd058afa656e2dd283270ba8ecf3d1
Proposed branch: ~ahasenack/ubuntu/+source/sg3-utils:mantic-lib-conflict-2039279
Merge into: ubuntu/+source/sg3-utils:ubuntu/mantic-devel
Diff against target: 31 lines (+10/-2)
2 files modified
debian/changelog (+8/-0)
debian/control (+2/-2)
Reviewer Review Type Date Requested Status
git-ubuntu bot Approve
Athos Ribeiro (community) Approve
Canonical Server Core Reviewers Pending
Canonical Server Reporter Pending
Review via email: mp+454497@code.launchpad.net

Description of the change

Update the package version in the breaks/replaces to match the ubuntu versions of this package that are affected by the file conflict.

PPA: https://launchpad.net/~ahasenack/+archive/ubuntu/sg3-utils-file-conflict-2039279/+packages

These are the affected ubuntu releases with conflicting files:

Jammy: 1.46-1build1
package: libsgutils2-2
ships: libsgutils2-1.46.so.2 and libsgutils2-1.46.so.2.0.0

Lunar: 1.46-1ubuntu0.23.04.1
package: libsgutils2-2
ships: libsgutils2-1.46.so.2 and libsgutils2-1.46.so.2.0.0

Mantic and Noble: 1.46-3ubuntu2
package: libsgutils2-1.46-2
ships: libsgutils2-1.46.so.2 and libsgutils2-1.46.so.2.0.0

Upgrades from jammy to mantic will also see this bug, when lunar goes EOL.

This seems to be one of the unsolved cases in the debian package transitioning guide[1]. We need a breaks/replaces for all versions in jammy and lunar, including updates that are yet to become available. In summary, anything 1.46-1*.

If we do:
Breaks: libsgutils2-2 (<< 1.46-3ubuntu2)
Replaces: libsgutils2-2 (<< 1.46-3ubuntu2)

This will include versions like focal's 1.44-1ubuntu2, which isn't affected (the library file there was still called libsgutils2.so.2, so no file conflict). That being said, we don't expect someone from focal to upgrade to mantic without going through jammy first, at least. And once in jammy, the version in B/R from mantic is correctly targeting the jammy version.

I think this the correct fix, but welcome other opinions or ways to address the problem.

To post a comment you must log in.
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

With the package from the ppa, a release upgrade from lunar to mantic works without a file conflict. Logs showing unpack and setup:

Unpacking sg3-utils (1.46-3ubuntu2.1~ppa3) over (1.46-1ubuntu0.23.04.1) ...^M
(Reading database ... ^M(Reading database ... 5%^M(Reading database ... 10%^M(Reading database ... 15%^M(Reading database ... 20%^M(Reading database ... 25%^M(Reading databas
Removing libsgutils2-2:amd64 (1.46-1ubuntu0.23.04.1) ...^M
Selecting previously unselected package libsgutils2-1.46-2:amd64.^M
(Reading database ... ^M(Reading database ... 5%^M(Reading database ... 10%^M(Reading database ... 15%^M(Reading database ... 20%^M(Reading database ... 25%^M(Reading databasPreparing to unpack .../libsgutils2-1.46-2_1.46-3ubuntu2.1~ppa3_amd64.deb ...^M
Unpacking libsgutils2-1.46-2:amd64 (1.46-3ubuntu2.1~ppa3) ...^M
(...)
Setting up libsgutils2-1.46-2:amd64 (1.46-3ubuntu2.1~ppa3) ...^M

Revision history for this message
Athos Ribeiro (athos-ribeiro) wrote :

Thanks Andreas.

This indeed seems to be a proper solution.

Other than the focal -> noble upgrade path you discussed (which should not be a major issue, if at all), the only thing I can think of is if for some reason we or the security team decides that an MRE is required for jammy in the unforeseen future. In that case, such change would also require another change in noble.

Unfortunately, I do not see a good way of providing notices/warnings for someone changing the lunar/jammy packages. Maybe staging an SRU with a note in "debian/README.source" could help, but that is such a specific corner case that I am not sure if it would be worth to pursue that hoping that the next people changing the package will go through those notes.

review: Approve
Revision history for this message
git-ubuntu bot (git-ubuntu-bot) wrote :

Approvers: ahasenack, athos-ribeiro
Uploaders: ahasenack, athos-ribeiro
MP auto-approved

review: Approve
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

> if for some reason we or the security team decides that an MRE is required for jammy in the unforeseen future

Thanks for bringing it up. This has happened before, with samba[1]. Looking at the history of sg3-utils, I don't see a single case of a version bump in stable releases so far, so I think we are ok in that regard.

1. https://bugs.launchpad.net/bugs/2024663

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/debian/changelog b/debian/changelog
2index b567c06..5fa5361 100644
3--- a/debian/changelog
4+++ b/debian/changelog
5@@ -1,3 +1,11 @@
6+sg3-utils (1.46-3ubuntu2.1) mantic; urgency=medium
7+
8+ * d/control: fix version in libsgutils2-1.46-2 breaks/replaces to
9+ avoid file conflict when ugprading from jammy and lunar
10+ (LP: #2039279)
11+
12+ -- Andreas Hasenack <andreas@canonical.com> Wed, 18 Oct 2023 15:50:36 -0300
13+
14 sg3-utils (1.46-3ubuntu2) mantic; urgency=medium
15
16 * d/p/0002-Fix-crash-with-rescan-scsi-bus.sh-r.patch: do not allow
17diff --git a/debian/control b/debian/control
18index 1184a2a..2b00df9 100644
19--- a/debian/control
20+++ b/debian/control
21@@ -29,8 +29,8 @@ Package: libsgutils2-1.46-2
22 Section: libs
23 Depends: ${shlibs:Depends}, ${misc:Depends}
24 Architecture: any
25-Breaks: libsgutils2-2 (= 1.46-1build1)
26-Replaces: libsgutils2-2 (= 1.46-1build1)
27+Breaks: libsgutils2-2 (<< 1.46-3ubuntu2)
28+Replaces: libsgutils2-2 (<< 1.46-3ubuntu2)
29 Suggests: sg3-utils
30 Multi-Arch: same
31 Description: utilities for devices using the SCSI command set (shared libraries)

Subscribers

People subscribed via source and target branches