Review for Source Package: roman-numerals

[Summary]
The essence of the review result from the MIR POV is that this is a very simple 
library for converting integers to well-formed Roman numerals with minimal 
attack surface and vulnerability potential. There are no additional runtime 
dependencies and minimal maintenance burden for Ubuntu. The testing framework 
is thorough and there are no areas of concern for promoting this package to 
main.
MIR team ACK.
This does not need a security review.
List of specific binary packages to be promoted to main: python3-roman-numerals

Notes:
The package that roman-numerals is replacing, python-roman, was described to be 
set for demotion to universe upon promotion of roman-numerals. Can the 
maintaining team please give a description of the timeline on which that will 
happen and how it will not impact existing users of python-roman?

[Rationale, Duplication and Ownership]
There is another package in main, python-roman, that provides similar 
functionality but due the justification for using roman-numerals by the 
submitter is sound. Upstream sphinx maintainers state that they will only 
support roman-numerals and the submitter discussed demoting python-roman once 
roman-numerals is promoted.
A team is committed to own long term maintenance of this package - debcrafters
The rationale given in the report seems valid and useful for Ubuntu. There 
appears to be full buy-in to replace the current python-roman, which only has 
sphinx and python-docutils as reverse dependencies. 

[Dependencies]
OK:
- no other runtime Dependencies to MIR due to this
- no other build-time Dependencies with active code in the final binaries
  to MIR due to this
- 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

OK:
- not a go package, no extra constraints to consider in that regard
- No vendoring used, all Built-Using are in main
- not a rust package, no extra constraints to consider in that regard - this 
source package does contain rust code but only the python binary is built.
- This source contains rust code as part of the upstream monorepo but only the 
Python binary is built. The rust portion does not contain any vendored code and 
is not used by the source package.

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 - this package only parses a subset of ASCII numerals. 
The convert_attestations.py file handles attestation parsing but is a 
development utility and not part of the packaged library.
- 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 carry a delta, but it is reasonable and maintenance under
  control
- 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 - monthly commits
- Debian/Ubuntu update history is good - newly created package so little 
history in d/changelog so far
- the current release is packaged
- no massive Lintian warnings
- debian/rules is rather clean
- It is not on the lto-disabled list

Problems: None

[Upstream red flags]
OK:
- no Errors/warnings during the build
- no incautious use of malloc/sprintf (the language has no direct MM)
- no use of sudo, gksu, pkexec, or LD_LIBRARY_PATH (usage is OK inside
  tests)
- no use of user 'nobody' outside of tests
- no use of setuid / setgid
- no important open bugs (crashers, etc) in Debian or Ubuntu
- no dependency on webkit, qtwebkit or libseed
- not part of the UI for extra checks
- no translation present, but none needed for this case (user visible)?

Problems: None


** Changed in: roman-numerals (Ubuntu)
     Assignee: Myles Penner (mylesjp) => (unassigned)

** Changed in: roman-numerals (Ubuntu)
       Status: New => In Progress

-- 
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