** Description changed:

  [Availability]
  The package roman-numerals is already in Ubuntu universe.
  The package roman-numerals build for the architectures it is designed to work 
on.
  It currently builds and works for architectures: amd64 (arch:all)
  Link to package https://launchpad.net/ubuntu/+source/roman-numerals
  
  [Rationale]
  - The package roman-numerals is required in Ubuntu main as a build dependency
-   of sphinx, which is already in Ubuntu main and builds documentation for
-   Python projects.
+   of sphinx and python-docutils, which are already in Ubuntu main and build
+   documentation for Python projects.
  - The package roman-numerals will not generally be useful for a large part of
    our user base, but is important/helpful still because it is a build 
dependency
    for sphinx, which is a widely-used documentation generator already in main.
  - Upstream sphinx migrated from docutils.utils.roman to roman-numerals after
    docutils removed the roman package in revision 9977
    (https://sourceforge.net/p/docutils/code/9977/). Sphinx adopted
    roman-numerals in PR #13131 
(https://github.com/sphinx-doc/sphinx/pull/13131).
  - According to upstream discussion 
(https://github.com/orgs/sphinx-doc/discussions/13532),
    using roman-numerals is an intentional upstream choice. While python3-roman
    exists in Ubuntu main and provides similar functionality, sphinx was
    temporarily patched in Ubuntu Questing to use it as a workaround. However,
    the sphinx maintainers explicitly stated: "if they [downstream] do something
    unusual we provide no support for it and strongly discourage patching like
    this." This makes the Ubuntu-specific patch unsustainable.
+ - Docutils switched from a vendored copy of python3-roman to a vendored copy 
of
+   roman-numerals (https://sourceforge.net/p/docutils/code/9845/). In Debian we
+   replace the vendored copy with the packaged dependency.
+ - After this MIR is accepted, we will be able to demote the older python-roman
+   package from main to universe.
  - There is no other/better way to solve this that is already in main or should
    go universe->main instead of this.
  - This is the first time the package will be in main.
  - The binary package python3-roman-numerals needs to be in main to achieve
    component compatibility for the sphinx package, which is in main and 
requires
    all its build dependencies to be in main as well.
  
  - The package roman-numerals is required in Ubuntu main no later than the 
26.04
    release (Resolute), but ideally by feature freeze, to resolve the component
-   mismatch issue and to allow sphinx to use its upstream-supported 
dependencies
-   without requiring Ubuntu-specific patches.
+   mismatch issue and to allow sphinx to use its upstream-supported 
dependencies
+   without requiring Ubuntu-specific patches.
  
  [Security]
  - No CVEs/security issues in this software in the past
  
  - No `suid` or `sgid` binaries
  - No executables in `/sbin` and `/usr/sbin`
  - Package does not install services, timers or recurring jobs
  - Package is a pure Python library with minimal security surface area. It only
    provides mathematical conversion between integers and Roman numeral strings
    (range 1-3999 inclusive). No privileged operations, network access, or 
system
    modifications are performed.
  - The postinst and prerm scripts only perform standard Python bytecode
    compilation/cleanup operations (py3compile/py3clean) and do not require
    elevated privileges beyond normal package installation.
  - Package does not open privileged ports (ports < 1024)
  - Package does not expose any external endpoints
  - Package does not contain extensions to security-sensitive software
    (filters, scanners, plugins, UI skins, ...)
  
  [Quality assurance - function/usage]
  - The package works well right after install. As a Python library, it can be
    imported and used immediately without any configuration.
  
  [Quality assurance - maintenance]
  - The package is maintained well in Debian/Ubuntu/Upstream and does not have
    too many, long-term & critical, open bugs
    - Ubuntu: https://bugs.launchpad.net/ubuntu/+source/roman-numerals
    - Debian: https://bugs.debian.org/cgi-bin/pkgreport.cgi?src=roman-numerals
    - Upstream's bug tracker: https://github.com/AA-Turner/roman-numerals/issues
  - The package does not deal with exotic hardware we cannot support
  
  [Quality assurance - testing]
  - The package runs a test suite on build time. The package Build-Depends on
    python3-pytest, and the build system automatically runs tests during build. 
If
    tests fail, the build fails.
    - Build log: 
https://launchpadlibrarian.net/809352064/buildlog_ubuntu-questing-amd64.roman-numerals_3.1.0-2_BUILDING.txt.gz
    - The package includes comprehensive unit tests in python/tests/:
      - test_from_string.py (parsing Roman numerals)
      - test_to_string.py (converting to Roman numerals)
      - test_new_roman_numeral.py (RomanNumeral object creation)
      - test_round_trip.py (bidirectional conversion tests)
  
  - The package runs an autopkgtest, and is currently passing on all tested
    architectures: amd64, arm64, armhf, i386, ppc64el, riscv64, s390x
    - Autopkgtest results: 
https://autopkgtest.ubuntu.com/packages/r/roman-numerals
    - The autopkgtest (debian/tests/python3-roman-numerals) runs pytest against
      the installed package for all supported Python 3 versions
  
  - The package does not have failing autopkgtests right now
  
  [Quality assurance - packaging]
  - debian/watch is present and works
  
  - debian/control defines a correct Maintainer field
  
  - This package does not yield massive lintian Warnings, Errors
  - Please link to a recent build log of the package 
https://launchpadlibrarian.net/809352064/buildlog_ubuntu-questing-amd64.roman-numerals_3.1.0-2_BUILDING.txt.gz
  - Lintian --pedantic output: only minor pedantic-level issues
    (older-debian-watch-file-standard, redundant-rules-requires-root-no-field)
  - Lintian overrides are not present
  
  - 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, link to debian/rules:
    https://git.launchpad.net/ubuntu/+source/roman-numerals/tree/debian/rules
  
  [UI standards]
  - Application is not end-user facing (does not need translation)
  
  [Dependencies]
  - Used check-mir from ubuntu-dev-tools to validate all runtime dependencies 
are
    in main.
  - All runtime dependencies are already in main (only python3:any)
  - Build-only dependencies in universe: dh-python, flit, 
pybuild-plugin-pyproject,
    python3-pytest
  
  [Standards compliance]
  - This package correctly follows FHS and Debian Policy
  
  [Maintenance/Owner]
  - The owning team will be ~debcrafters-packages and I have their 
acknowledgment
    for that commitment
  - The future owning team is already subscribed to the package
  
  - This does not use static builds
  - This does not use vendored code
  - This package is not rust based
  
  - The package has been built within the last 3 months in the archive
  - Build link on launchpad: 
https://launchpad.net/ubuntu/+source/roman-numerals/3.1.0-2
  
  - This change will not impact other teams
  
  [Background information]
  - The Package description explains the package well
  - Upstream Name: roman-numerals
  - Link to upstream project: https://github.com/AA-Turner/roman-numerals
  - The upstream repository is a monorepo containing implementations in both 
Rust
    and Python languages. This package includes only the Python implementation
    from https://github.com/AA-Turner/roman-numerals/tree/master/python
  
  [Original bug report]
  
  The latest version of sphinx, 8.2.3-1 [1], brings in a new dependency on
  python3-roman-numerals, causing a component mismatch [2]. The latter is
  a package [3] newly sync'd from Debian.
  
  Instead of MIR'ng [3], we should attempt to replace its use by python3-roman 
[4].
  [1] https://launchpad.net/ubuntu/+source/sphinx/8.2.3-1
  [2] https://ubuntu-archive-team.ubuntu.com/component-mismatches-proposed.svg
  [3] https://launchpad.net/ubuntu/+source/roman-numerals
  [4] https://launchpad.net/ubuntu/+source/python-roman

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2110098

Title:
  [MIR] roman-numerals

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/roman-numerals/+bug/2110098/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to