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

Proposed by Andreas Hasenack
Status: Merged
Approved by: git-ubuntu bot
Approved revision: not available
Merged at revision: e44273ed259298813c0f36f7b80d2c9b5fcf8a6d
Proposed branch: ~ahasenack/ubuntu/+source/sg3-utils:noble-lib-conflict-2039279
Merge into: ubuntu/+source/sg3-utils:ubuntu/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+454500@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
Athos Ribeiro (athos-ribeiro) wrote :
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
Lucas Kanashiro (lucaskanashiro) wrote :

Just a comment regarding this fix: if for some reason someone updates sg3-utils to a newer upstream micro release in Jammy (Lunar will be EOL soon anyway) this problem might come up again. This is an unlikely event but it is something that might happen, and we need to keep an eye on future SRUs.

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..47d3243 100644
3--- a/debian/changelog
4+++ b/debian/changelog
5@@ -1,3 +1,11 @@
6+sg3-utils (1.46-3ubuntu3) noble; 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, 25 Oct 2023 09:49:58 -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