gir1.2-signon-2.0 needs to declare replace on older releases (Groovy2Hirsute and Focal2Jammy)

Bug #1916250 reported by Rolf Leggewie
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
libsignon-glib (Ubuntu)
Fix Released
Low
Brian Murray
Hirsute
Fix Released
Low
Brian Murray
Impish
Fix Released
Low
Brian Murray

Bug Description

gir1.2-signon-1.0 from groovy
gir1.2-signon-2.0 from hirsute

above two packages ship the same file /usr/lib/python3/dist-packages/gi/overrides/Signon.py without specifying how to resolve the conflict.

[Test Case]
This can be simply tested with a focal schroot:
1) apt-get install vim libsignon-glib-dev
2) edit /etc/apt/sources.list replacing focal with hirsute
3) apt-get update
4) apt-get install libsignon-glib-dev

With the version of libsignon-glib-dev from -proposed you'll no longer receive the 'dpkg: error' from below.

Unpacking gir1.2-signon-2.0:amd64 (2.1-3) ...
dpkg: error processing archive /var/cache/apt/archives/gir1.2-signon-2.0_2.1-3_amd64.deb (--unpack):
 trying to overwrite '/usr/lib/python3/dist-packages/gi/overrides/Signon.py', which is also in package gir1.2-signon-1.0 1.14+17.04.20161117-0ubuntu5
Errors were encountered while processing:
 /var/cache/apt/archives/gir1.2-signon-2.0_2.1-3_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Probably needs a conflicts/replaces dependency added to the newer hirsute package.

[Regression Potential]
We are adding a replaces with gir1.2-signon-1.0 so anything that depends on that package would be broken but given that that package is no longer available after focal that seems fine.

Rolf Leggewie (r0lf)
description: updated
tags: added: groovy-hirsute
Rolf Leggewie (r0lf)
tags: added: groovy2hirsute
removed: groovy-hirsute
Revision history for this message
Rolf Leggewie (r0lf) wrote :

debdiff is in my PPA https://launchpadlibrarian.net/523915756/libsignon-glib_2.1-3_2.1-3ubuntu1.diff.gz

bugfixed package currently building. I verified the fixed package to deal with the issue reported here.

Rolf Leggewie (r0lf)
summary: gir1.2-signon-2.0 needs to declare replace on older releases
+ (Groovy2Hirsute)
description: updated
tags: added: patch
Revision history for this message
Robie Basak (racb) wrote : Re: gir1.2-signon-2.0 needs to declare replace on older releases (Groovy2Hirsute)

Thank you for working on this!

Conflicts is a little too strong perhaps, and are best avoided to give apt the most leeway to resolve things. Can you pick from https://wiki.debian.org/PackageTransition please? Unversioned is also unusual; I'd expect versioned relationships in this case I think.

Revision history for this message
Rolf Leggewie (r0lf) wrote :

Thank you for your comment, Robie.

I agree about Conflicts most likely not being required here. I felt it was conservative to add so as not to introduce a regression if both packages are installed. After some further looking into it, a regression is unlikely. The file in question is identical in both packages, unchanged upstream for 8 years, so it's safe to "overwrite" with the "newer" version: https://gitlab.com/accounts-sso/libsignon-glib/-/tree/master/pygobject So, in the end, the conservative thing to do is to allow anyone with the need to install both packages at the same time and do a Replaces only.

About the versioning, I also agree that in general it is a good idea to be more permissive and limit restrictions by versioning them. In this case, in essence the package name is already the versioning.

Bottom line: Can you drop the Conflicts line in the patch but otherwise upload as proposed here?

Revision history for this message
Rolf Leggewie (r0lf) wrote :

IOW, gir1.2-signon-1.0 isn't going to see any further upstream work and Debian won't reintroduce it either. That line ends with Debian stable.

Mathew Hodson (mhodson)
Changed in libsignon-glib (Ubuntu):
importance: Undecided → Low
tags: added: package-conflict
Revision history for this message
Rolf Leggewie (r0lf) wrote :
Revision history for this message
Robie Basak (racb) wrote :

Looks like this conflicting file started shipping in an Ubuntu delta 1.4-0ubuntu1 in Quantal, and Debian never shipped it in gir1.2-signon-1.0 - only in gir1.2-signon-2.0. So this is an Ubuntu-specific problem.

Revision history for this message
Rolf Leggewie (r0lf) wrote :

still unfixed - sigh!

Revision history for this message
Brian Murray (brian-murray) wrote :

I was able to recreate this when upgrading from Focal to Hirsute so this still seems worth fixing.

Changed in libsignon-glib (Ubuntu):
status: New → In Progress
assignee: nobody → Brian Murray (brian-murray)
Revision history for this message
Brian Murray (brian-murray) wrote :

I've sponsored this for impish and hirsute. The bug could use an SRU template though.

Revision history for this message
Steve Langasek (vorlon) wrote :

Please provide an SRU template for this bug per https://wiki.ubuntu.com/StableReleaseUpdates#Procedure

Changed in libsignon-glib (Ubuntu):
status: In Progress → Incomplete
Revision history for this message
Rolf Leggewie (r0lf) wrote :

There is no need for an SRU. The problem does not affect focal as such. This is only an issue when moving from gir1.2-signon-1.0 to
gir1.2-signon-2.0 which will only occur in groovy2hirsute and focal2jammy. The Replaces-line can be dropped in jammy+1.

Changed in libsignon-glib (Ubuntu):
status: Incomplete → In Progress
summary: gir1.2-signon-2.0 needs to declare replace on older releases
- (Groovy2Hirsute)
+ (Groovy2Hirsute and Focal2Jammy)
Revision history for this message
Brian Murray (brian-murray) wrote :

Given that hirsute and impish are both stable releases and focal2impish will be a supported upgrade path when hirsute becomes end of life there is need for an SRU. So could you please add the SRU template information to the bug report?

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package libsignon-glib - 2.1-3ubuntu1

---------------
libsignon-glib (2.1-3ubuntu1) jammy; urgency=medium

  * add replaces relationship to gir1.2-signon-2.0 package. LP: #1916250

 -- Rolf Leggewie <email address hidden> Fri, 19 Feb 2021 16:52:20 +0100

Changed in libsignon-glib (Ubuntu):
status: In Progress → Fix Released
description: updated
Changed in libsignon-glib (Ubuntu Hirsute):
status: New → In Progress
Changed in libsignon-glib (Ubuntu Impish):
status: New → In Progress
Changed in libsignon-glib (Ubuntu Hirsute):
assignee: nobody → Brian Murray (brian-murray)
Changed in libsignon-glib (Ubuntu Impish):
assignee: nobody → Brian Murray (brian-murray)
Revision history for this message
Robie Basak (racb) wrote :

I'm surprised to see Replaces without a Breaks, and further for the Replaces to be unversioned. This doesn't match one of the cases listed at https://wiki.debian.org/PackageTransition, and https://www.debian.org/doc/debian-policy/ch-relationships.html#id11 explains why usually a Breaks is also required.

Since I'm not sure this is correct, I'm reluctant to accept it on review. I'm not sure it's necessarily wrong, either. I'll ping Steve for an opinion.

Revision history for this message
Rolf Leggewie (r0lf) wrote :

Oh, Robie, come on now. You already asked that question and an answer was given in #3 and #4. Too bad that was so long ago, but it's not my fault.

"In this case, in essence the package name is already the versioning." and "IOW, gir1.2-signon-1.0 isn't going to see any further upstream work and Debian won't reintroduce it either. That line ends with Debian stable."

You know guys, it's really frustrating to do all the work and then have to do it over and over again and again. Sometimes for years without getting an inch closer to getting a fix uploaded.

Revision history for this message
Rolf Leggewie (r0lf) wrote :
Rolf Leggewie (r0lf)
tags: added: focal2jammy
Revision history for this message
Robie Basak (racb) wrote :

11:45 <rbasak> vorlon: could you take a look at bug 1916250 for me please? I'm not sure it's right, but nor am I sure it's wrong.

14:29 <vorlon> rbasak: gir1.2-signon-2.0 exists in hirsute and later; gir1.2-signon-1.0 exists in focal; we support upgrades from the LTS to either the next LTS, or to the next supported non-LTS release. So there are upgrade paths to hirsute now, and to impish once hirsute EOLs, so yes it's correct to SRU this fix

17:00 <rbasak> vorlon: I agree it needs SRUing. My question is if a sole unversioned Replaces is correct.

17:00 <vorlon> rbasak: ah, that should be fine

Changed in libsignon-glib (Ubuntu Impish):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-impish
Revision history for this message
Robie Basak (racb) wrote : Please test proposed package

Hello Rolf, or anyone else affected,

Accepted libsignon-glib into impish-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/libsignon-glib/2.1-3ubuntu0.21.10 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-impish to verification-done-impish. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-impish. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in libsignon-glib (Ubuntu Hirsute):
status: In Progress → Fix Committed
tags: added: verification-needed-hirsute
Revision history for this message
Robie Basak (racb) wrote :

Hello Rolf, or anyone else affected,

Accepted libsignon-glib into hirsute-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/libsignon-glib/2.1-3ubuntu0.21.04 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-hirsute to verification-done-hirsute. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-hirsute. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Revision history for this message
Brian Murray (brian-murray) wrote :

I followed the test case on a focal system whose sources.list file I changed to hirsute and had no issues.

Preparing to unpack .../8-gir1.2-signon-2.0_2.1-3ubuntu0.21.04_amd64.deb ...
Unpacking gir1.2-signon-2.0:amd64 (2.1-3ubuntu0.21.04) ...
Replacing files in old package gir1.2-signon-1.0 (1.14+17.04.20161117-0ubuntu5) ...
Preparing to unpack .../9-libsignon-glib-dev_2.1-3ubuntu0.21.04_amd64.deb ...
Unpacking libsignon-glib-dev:amd64 (2.1-3ubuntu0.21.04) over (1.14+17.04.20161117-0ubuntu5) ...
Setting up libtirpc-common (1.3.1-1build1) ...
Setting up libsepol1-dev:amd64 (3.1-1ubuntu1) ...
Setting up libffi8ubuntu1:amd64 (3.4~20200819gead65ca871-0ubuntu5) ...
Setting up libfakeroot:amd64 (1.25.3-1.1ubuntu2) ...
Setting up fakeroot (1.25.3-1.1ubuntu2) ...
Setting up rpcsvc-proto (1.4.2-0ubuntu4) ...
Setting up libc-dev-bin (2.33-0ubuntu5) ...
Setting up libtirpc3:amd64 (1.3.1-1build1) ...
Setting up libselinux1-dev:amd64 (3.1-3build1) ...
Setting up libglib2.0-0:amd64 (2.68.1-1~ubuntu21.04.1) ...
No schema files found: doing nothing.
Setting up libglib2.0-bin (2.68.1-1~ubuntu21.04.1) ...
Setting up libsignon-glib2:amd64 (2.1-3ubuntu0.21.04) ...
Setting up libtirpc-dev:amd64 (1.3.1-1build1) ...
Setting up libnsl2:amd64 (1.3.0-0ubuntu3) ...
Setting up libgirepository-1.0-1:amd64 (1.66.1-1build1) ...
Setting up libglib2.0-dev-bin (2.68.1-1~ubuntu21.04.1) ...
Setting up gir1.2-glib-2.0:amd64 (1.66.1-1build1) ...
Setting up libnsl-dev:amd64 (1.3.0-0ubuntu3) ...
Setting up gir1.2-signon-2.0:amd64 (2.1-3ubuntu0.21.04) ...
Setting up libc6-dev:amd64 (2.33-0ubuntu5) ...
Setting up libmount-dev:amd64 (2.36.1-7ubuntu2) ...
Setting up libsignon-glib-dev:amd64 (2.1-3ubuntu0.21.04) ...
Setting up libglib2.0-dev:amd64 (2.68.1-1~ubuntu21.04.1) ...
Processing triggers for libc-bin (2.33-0ubuntu5) ...

Revision history for this message
Brian Murray (brian-murray) wrote :

I followed the test case on a focal chroot whoose sources.list file I modified to impish and the package install did not fail.

Preparing to unpack .../7-libsignon-glib2_2.1-3ubuntu0.21.10_amd64.deb ...
Unpacking libsignon-glib2:amd64 (2.1-3ubuntu0.21.10) ...
Selecting previously unselected package gir1.2-signon-2.0:amd64.
Preparing to unpack .../8-gir1.2-signon-2.0_2.1-3ubuntu0.21.10_amd64.deb ...
Unpacking gir1.2-signon-2.0:amd64 (2.1-3ubuntu0.21.10) ...
Replacing files in old package gir1.2-signon-1.0 (1.14+17.04.20161117-0ubuntu5) ...
Preparing to unpack .../9-libsignon-glib-dev_2.1-3ubuntu0.21.10_amd64.deb ...
Unpacking libsignon-glib-dev:amd64 (2.1-3ubuntu0.21.10) over (1.14+17.04.20161117-0ubuntu5) ...
Setting up libtirpc-common (1.3.2-2) ...
Setting up libsepol1-dev:amd64 (3.1-1ubuntu2) ...
Setting up libfakeroot:amd64 (1.25.3-1.1ubuntu2) ...
Setting up fakeroot (1.25.3-1.1ubuntu2) ...
Setting up rpcsvc-proto (1.4.2-0ubuntu5) ...
Setting up libffi8:amd64 (3.4.2-1ubuntu5) ...
Setting up libc-dev-bin (2.34-0ubuntu3) ...
Setting up libtirpc3:amd64 (1.3.2-2) ...
Setting up libselinux1-dev:amd64 (3.1-3build2) ...
Setting up libglib2.0-0:amd64 (2.68.4-1ubuntu1) ...
No schema files found: doing nothing.
Setting up libglib2.0-bin (2.68.4-1ubuntu1) ...
Setting up libsignon-glib2:amd64 (2.1-3ubuntu0.21.10) ...
Setting up libtirpc-dev:amd64 (1.3.2-2) ...
Setting up libnsl2:amd64 (1.3.0-2build1) ...
Setting up libgirepository-1.0-1:amd64 (1.68.0-1build2) ...
Setting up libglib2.0-dev-bin (2.68.4-1ubuntu1) ...
Setting up gir1.2-glib-2.0:amd64 (1.68.0-1build2) ...
Setting up libnsl-dev:amd64 (1.3.0-2build1) ...
Setting up gir1.2-signon-2.0:amd64 (2.1-3ubuntu0.21.10) ...
Setting up libc6-dev:amd64 (2.34-0ubuntu3) ...
Setting up libmount-dev:amd64 (2.36.1-8ubuntu2) ...
Setting up libsignon-glib-dev:amd64 (2.1-3ubuntu0.21.10) ...
Setting up libglib2.0-dev:amd64 (2.68.4-1ubuntu1) ...
Processing triggers for libc-bin (2.34-0ubuntu3) ...

tags: added: verification-done verification-done-hirsute verification-done-impish
removed: verification-needed verification-needed-hirsute verification-needed-impish
Mathew Hodson (mhodson)
Changed in libsignon-glib (Ubuntu Hirsute):
importance: Undecided → Low
Changed in libsignon-glib (Ubuntu Impish):
importance: Undecided → Low
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package libsignon-glib - 2.1-3ubuntu0.21.10

---------------
libsignon-glib (2.1-3ubuntu0.21.10) impish; urgency=medium

  * add replaces relationship to gir1.2-signon-2.0 package. LP: #1916250

 -- Rolf Leggewie <email address hidden> Fri, 19 Feb 2021 16:52:20 +0100

Changed in libsignon-glib (Ubuntu Impish):
status: Fix Committed → Fix Released
Revision history for this message
Robie Basak (racb) wrote : Update Released

The verification of the Stable Release Update for libsignon-glib has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package libsignon-glib - 2.1-3ubuntu0.21.04

---------------
libsignon-glib (2.1-3ubuntu0.21.04) hirsute; urgency=medium

  * add replaces relationship to gir1.2-signon-2.0 package. LP: #1916250

 -- Rolf Leggewie <email address hidden> Fri, 19 Feb 2021 16:52:20 +0100

Changed in libsignon-glib (Ubuntu Hirsute):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.