[MIR] python-typeguard

Bug #2068033 reported by James Page
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
python-typeguard (Ubuntu)
Fix Committed
High
Unassigned

Bug Description

[Availability]
The package python-typeguard is already in Ubuntu universe. Link to package: https://launchpad.net/ubuntu/+source/python-typeguard

[Rationale]
The package python-typeguard is required in Ubuntu main as it is a dependency for python-inflect, which is already in main (https://launchpad.net/ubuntu/+source/python-inflect).

[Security]
No CVEs/security issues in this software in the past.
python-typeguard does not place executables in in /sbin and usr/sbin.
python-typeguard does not install services, timers, or recurring jobs.
python-typeguard does not run as a service or require special isolation features.
python-typeguard does not open privledged ports or expose external endpoints.
python-typeguard does not contain extensions to security sensitive software and does not contain any cryptography functionality.

[Quality assurance – functional/usage]
The package works well right after install.

[Quality assurance – maintenance]
The package is maintained well in Debian/Ubuntu/Upstream and does not have too many long-term and critical open bugs*:
- Ubuntu: https://bugs.launchpad.net/ubuntu/+source/python-typeguard/+bugs
- Debian: https://bugs.debian.org/cgi-bin/pkgreport.cgi?src=python-typeguard
- Upstream: https://github.com/agronholm/typeguard/issues
*Note the package has a FTBFS bug in the Debian bug reports related to a failure to build for Trixie as linked above.

[Quality assurance – testing]
python-typeguard has an included tests suite with coverage of 94% (https://coveralls.io/github/agronholm/typeguard?branch=master).
The package appears to run autopkgtest as well as unit tests as build.

[Quality assurance – packaging]
A debian/watch file is present and works.
The debian/control file defines a “maintainer” field.
Recent build log: https://launchpad.net/ubuntu/+source/python-typeguard/4.3.0-1/+build/28700345
`lintian --pedantic` found no issues with the .deb package
This package does not rely on obsolete or about to be demoted packages.
This package has no python2 or GTK2 dependencies.
The package will not be installed by default
Packaging and build is easy, see debian/rules: https://salsa.debian.org/python-team/packages/python-typeguard/-/blob/debian/4.3.0-1/debian/rules?ref_type=tags

[UI Standards]
Application is not end-user facing.

[Dependencies]
No further depends or recommends dependencies that are not yet in main.

[Standards compliance]
This package correctly follows FHS and Debian policy

[Maintenance/Owner]
The owning team will be the Ubuntu OpenStack team and I have acknowledgement for that commitment.
This package does not use static builds.
This package does not use vendored code.
This package is not rust based.
This package has been built in the last 3 months.

[Background information]
This package provides run-time type checking for functions defined with argument type annotations. This package is a requirement for python-inflect, which is already part of main.
Upstream name: python-typeguard
Link to upstream: https://github.com/agronholm/typeguard

Revision history for this message
James Page (james-page) wrote :

New dependency from https://ubuntu-archive-team.ubuntu.com/component-mismatches-proposed.svg for python-inflect which gets pulling in via jaraco -> ceph into Ubuntu main.

James Page (james-page)
tags: added: open-2259
Revision history for this message
Myles Penner (mylesjp) wrote :

Changed bug description with required information as per https://github.com/canonical/ubuntu-mir.

description: updated
Myles Penner (mylesjp)
description: updated
Myles Penner (mylesjp)
description: updated
Revision history for this message
James Page (james-page) wrote :

@mylesjp for a package to be included in Ubuntu, and Ubuntu centric owning team needs to be identified to own it; the Debian Python modules team is a collaborator rather than the owner in Ubuntu if that makes sense.

In this case we'd use the Ubuntu OpenStack team as the owning team.

Changed in python-typeguard (Ubuntu):
status: Incomplete → In Progress
assignee: nobody → Myles Penner (mylesjp)
importance: Undecided → High
Revision history for this message
James Page (james-page) wrote :

4.3.0 is in proposed and working through testing.

 python-typeguard | 4.1.5-1 | oracular/universe | source
 python-typeguard | 4.3.0-1 | oracular-proposed/universe | source

Myles Penner (mylesjp)
description: updated
Myles Penner (mylesjp)
description: updated
Myles Penner (mylesjp)
Changed in python-typeguard (Ubuntu):
status: In Progress → New
assignee: Myles Penner (mylesjp) → nobody
Revision history for this message
James Page (james-page) wrote :
Download full text (3.5 KiB)

Review for Source Package: python-typeguard

[Summary]
MIR team ACK
This does not need a security review
List of specific binary packages to be promoted to main: python3-typeguard

[Rationale, Duplication and Ownership]
There is no other package in main providing the same functionality.
A team is committed to own long term maintenance of this package (ubuntu-openstack).
Bug subscription is in place.
The rationale given in the report seems valid and useful for Ubuntu

[Dependencies]
OK:
- no other Dependencies to MIR due to this
  - python-typeguard checked with `check-mir`
  - all dependencies can be found in `seeded-in-ubuntu` (already in main)
  - none of the (potentially auto-generated) dependencies (Depends
    and Recommends) that are present after build are not in main
  - no -dev/-debug/-doc packages that need exclusion
  - No dependencies in main that are only superficially tested requiring
    more tests now.

Problems: None

[Embedded sources and static linking]
OK:
 - no embedded source present
 - no static linking
 - does not have unexpected Built-Using entries
 - not a go package, no extra constraints to consider in that regard
 - not a rust package, no extra constraints to consider in that regard

Problems: None

[Security]
OK:
 - history of CVEs does not look concerning
 - does not run a daemon as root
 - does not use webkit1,2
 - does not use lib*v8 directly
 - does not parse data formats (files [images, video, audio,
   xml, json, asn.1], network packets, structures, ...) from
   an untrusted source.
 - does not expose any external endpoint (port/socket/... or similar)
 - does not process arbitrary web content
 - does not use centralized online accounts
 - does not integrate arbitrary javascript into the desktop
 - does not deal with system authentication (eg, pam), etc)
 - does not deal with security attestation (secure boot, tpm, signatures)
 - does not deal with cryptography (en-/decryption, certificates,
   signing, ...)
 - this makes appropriate (for its exposure) use of established risk
   mitigation features (dropping permissions, using temporary environments,
   restricted users/groups, seccomp, systemd isolation features,
   apparmor, ...)

Problems: None

[Common blockers]

OK:
 - does not FTBFS currently
 - does have a test suite that runs at build time
   - test suite fails will fail the build upon error.
 - does have a non-trivial test suite that runs as autopkgtest
 - This does not need special HW for build or test
 - no new python2 dependency
 - Python package, but using dh_python

Problems: None

[Packaging red flags]
OK:
 - Ubuntu does not carry a delta
 - symbols tracking not applicable for this kind of code.
 - debian/watch is present and looks ok (if needed, e.g. non-native)
 - Upstream update history is good, supporting latest Pythons
 - Debian/Ubuntu update history is good
 - the current release is packaged
 - promoting this does not seem to cause issues for MOTUs that so far
   maintained the package
 - no massive Lintian warnings
 - debian/rules is rather clean
 - It is not on the lto-disabled list
   (fix, or the workaround should be directly in the package,
    see https://launchpad.net/ubuntu/+sourc...

Read more...

Changed in python-typeguard (Ubuntu):
status: New → Fix Committed
Revision history for this message
James Page (james-page) wrote :

Thanks for the MIR report Myles - approved and should help unblock some of the pydantic mismatches in proposed once promoted to main.

Revision history for this message
James Page (james-page) wrote :

Please could an archive admin promote this package to main - thanks!

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.