[SRU] Please backport UbuntuDistroInfo().get_all(result="object") to Xenial

Bug #2029089 reported by Nathan Teodosio
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
distro-info (Ubuntu)
Triaged
Undecided
Unassigned
Xenial
Fix Released
High
Nathan Teodosio

Bug Description

I'm working on a update to software-properties in 16.04 to support the Ubuntu Pro tab. That work was already released to >=18.04, containing, for example, in commit "Show extended security maintenance status"[1]:

```python
def current_distro():
    distro = aptsources.distro.get_distro()
    di = distro_info.UbuntuDistroInfo()
    releases = di.get_all(result="object")
    [...]
```

That is functionality introduced in versions 0.15 and 0.16 of distro-info, for which Xenial didn't receive a backport yet.

Test Plan
---------

1. Install the update.
2. Verify that running this in a shell prints a list of a correct list of EOL date (in YY-MM-DDDD format) and distribution name to the standard output:

--->
python3 <<EOF | sort -n
import distro_info
for d in distro_info.UbuntuDistroInfo().get_all(result="object"):
  print("%s %s" % (d.eol, d.codename))
EOF
<---

Regression potential
--------------------

If something were wrong with this update, reverse dependencies could misidentify a given release, e.g. by incorrectly assessing a user release as supported or no longer supported, LTS or non-LTS etc..

[1] https://git.launchpad.net/software-properties/commit/?h=ubuntu/bionic&id=c2bb1f8eeb70e2a9c4b40f326d21c287dec1baa8

Benjamin Drung (bdrung)
description: updated
summary: - Please backport changes to Xenial
+ Please backport UbuntuDistroInfo().get_all(result="object") to Xenial
Revision history for this message
Benjamin Drung (bdrung) wrote : Re: Please backport UbuntuDistroInfo().get_all(result="object") to Xenial

Debdiff of xenial attached.

tags: added: patch
Revision history for this message
Thomas Ward (teward) wrote (last edit ):

This needs special handling / consideration from the Canonical teams and the Release team before this can be added.

Xenial has already left End of Standard Support, so the Release and Canonical teams need to decide if they want to out-of-band update/patch this.

Changed in distro-info (Ubuntu):
status: New → Incomplete
Revision history for this message
Robie Basak (racb) wrote :

We have an exception for ubuntu-advantage-tools because it provides the "gateway" to Pro for users - without that we'd end up with a circular problem that would just make it difficult for users to initially enable Pro.

I think probably that also should apply to other packages involved in providing that gateway. It sounds like this should qualify. I'll ask to see if there's SRU team consensus on this.

Revision history for this message
Robie Basak (racb) wrote (last edit ):

SRU team opinion seems to be that on the question of updating xenial-updates after EOSS, this is fine in principle in this case for the reason above. Note that this is subject to review of the actual upload - it should be trivial and straightforward; I haven't reviewed the debdiff itself.

Robie Basak (racb)
Changed in distro-info (Ubuntu):
status: Incomplete → Triaged
description: updated
Changed in distro-info (Ubuntu Xenial):
status: New → Triaged
importance: Undecided → High
summary: - Please backport UbuntuDistroInfo().get_all(result="object") to Xenial
+ [SRU] Please backport UbuntuDistroInfo().get_all(result="object") to
+ Xenial
description: updated
Revision history for this message
Brian Murray (brian-murray) wrote :

While testing this update as a part of the sponsorship process I noticed that the eol-esm date for Ubuntu 16.04 is incorrect in the version of ubuntu.csv included with distro-info-data for Ubuntu 16.04 so that will likely need an update too.

(xenial-amd64)root@impulse:/home/bdmurray/tmp# grep xenial /usr/share/distro-info/ubuntu.csv
16.04 LTS,Xenial Xerus,xenial,2015-10-22,2016-04-21,2021-04-21,2021-04-21,2024-04-23

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

I've gone ahead and sponsored this debdiff for Xenial. Thanks!

Changed in distro-info (Ubuntu Xenial):
status: Triaged → In Progress
assignee: nobody → Nathan Teodosio (nteodosio)
Revision history for this message
Benjamin Drung (bdrung) wrote :

Oh, right. Thanks Brian. dput-ng refused to upload to xenial and I failed fighting against it.

Revision history for this message
Robie Basak (racb) wrote :

Accepting into xenial-proposed. However, before marking verification-done-xenial, please also get your software-properties update into xenial-proposed and also verified, so that we are testing and landing everything together, so that we do not end up iterating in xenial-updates if something here needs tweaking and it's only detected when trying to land the full user story.

Revision history for this message
Robie Basak (racb) wrote :

(if necessary that would mean a versioned Depends from the updated software-properties to the new distro-info in xenial-updates, which would seem appropriate).

Changed in distro-info (Ubuntu Xenial):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-xenial
Revision history for this message
Robie Basak (racb) wrote : Please test proposed package

Hello Nathan, or anyone else affected,

Accepted distro-info into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/distro-info/0.14ubuntu0.3 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-xenial to verification-done-xenial. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-xenial. 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
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (distro-info/0.14ubuntu0.3)

All autopkgtests for the newly accepted distro-info (0.14ubuntu0.3) for xenial have finished running.
The following regressions have been reported in tests triggered by the package:

juju-core/unknown (armhf)
update-notifier/unknown (armhf)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/xenial/update_excuses.html#distro-info

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Revision history for this message
Sebastien Bacher (seb128) wrote :

the autopkgtest failing jobs worked on a retry

Revision history for this message
Nathan Teodosio (nteodosio) wrote :

In Xenial, installed 0.14ubuntu0.3 and executed

--->
python3 <<EOF | sort -n
import distro_info
for d in distro_info.UbuntuDistroInfo().get_all(result="object"):
  print("%s %s" % (d.eol, d.codename))
EOF
<---

whose output was correct:

--->
2006-04-30 Warty Warthog
2006-10-31 Hoary Hedgehog
2007-04-13 Breezy Badger
2008-04-25 Edgy Eft
2008-10-19 Feisty Fawn
2009-04-18 Gutsy Gibbon
2009-07-14 Dapper Drake
2010-04-30 Intrepid Ibex
2010-10-23 Jaunty Jackalope
2011-04-29 Karmic Koala
2011-05-12 Hardy Heron
2012-04-10 Maverick Meerkat
2012-10-28 Natty Narwhal
2013-05-09 Lucid Lynx
2013-05-09 Oneiric Ocelot
2014-01-27 Raring Ringtail
2014-05-16 Quantal Quetzal
2014-07-17 Saucy Salamander
2015-07-23 Utopic Unicorn
2016-01-23 Vivid Vervet
2016-07-22 Wily Werewolf
2017-04-26 Precise Pangolin
2017-07-20 Yakkety Yak
2018-01-13 Zesty Zapus
2018-07-19 Artful Aardvark
2019-04-25 Trusty Tahr
2019-07-18 Cosmic Cuttlefish
2020-01-18 Disco Dingo
2020-07-17 Eoan Ermine
2021-04-21 Xenial Xerus
2021-07-22 Groovy Gorilla
2022-01-20 Hirsute Hippo
2022-07-14 Impish Indri
2023-04-26 Bionic Beaver
2023-07-20 Kinetic Kudu
2024-01-25 Lunar Lobster
2025-04-23 Focal Fossa
2027-04-21 Jammy Jellyfish
<---

tags: added: verification-done verification-done-xenial
removed: verification-needed verification-needed-xenial
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package distro-info - 0.14ubuntu0.3

---------------
distro-info (0.14ubuntu0.3) xenial; urgency=medium

  * python (LP: #2029089):
    - Add DistroInfo.get_all() method
    - Introduce DistroRelease object
    - Support returning DistroRelease objects

 -- Benjamin Drung <email address hidden> Mon, 31 Jul 2023 11:50:46 +0200

Changed in distro-info (Ubuntu Xenial):
status: Fix Committed → Fix Released
Revision history for this message
Steve Langasek (vorlon) wrote : Update Released

The verification of the Stable Release Update for distro-info 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.

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.