Review for package: src:python-inflect [Summary] This is a string processing module based upon the Perl module Lingua::EN::Inflect. Upstream activity is looking good, but it's very outdated in Debian and Ubuntu. Furthermore, we're missing automated integration tests. Please update and improve the testing situation, before we can re-consider it for promotion. MIR team ACK under the constraint to resolve the below listed required TODOs and as much as possible having a look at the recommended TODOs. This does not need a security review List of specific binary packages to be promoted to main: python3-inflect Specific binary packages built, but NOT to be promoted to main: Notes: It processes strings which are explicitly passed into the inflection engine, returning the modified string. This consists of parsing the input, but I feel like it does not need security review, as the input is known/trusted. Required TODOs: #1 Update to the current version 6.0.2 (as of 2023-01-17) #2 Agree to keep it updated/maintained in Debian/Ubuntu #3 Add automated integration tests (autopkgtests), at least running the unit-tests at runtime, to check the installed version Recommended TODOs: #4 The package should get a team bug subscriber before being promoted #5 Fix warnings during build: SyntaxWarning: 'str' object is not callable; perhaps you missed a comma? SetuptoolsDeprecationWarning: setup.py install is deprecated. #6 Drop python3-nose dependency: https://bugs.debian.org/1018513 [Duplication] There is no other package in main providing the same functionality. There's also src:inflection in universe, but python-inflect seems to be the better (upstream) alternative. [Dependencies] OK: - no other Dependencies to MIR due to this - SRCPKG 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 - No vendoring used, all Built-Using are in main - not a rust package, no extra constraints to consider in that regard - Does not include vendored code 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 open a port/socket - 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, ...) Problems: - parses strings, but only of known/explicit origin, passed into the inflection engine [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. - no new python2 dependency - Python package, but using dh_python Problems: - does NOT have a non-trivial test suite that runs as autopkgtest [Packaging red flags] OK: - Ubuntu does not carry a delta - symbols tracking not applicable for this kind of code. - d/watch is present and looks ok (if needed, e.g. non-native) - Upstream update history is good - promoting this does not seem to cause issues for MOTUs that so far maintained the package - no massive Lintian warnings - d/rules is rather clean - It is not on the lto-disabled list Problems: - Debian/Ubuntu update history is sporadic - the current release is NOT packaged (we're ~4 years behind) [Upstream red flags] OK: - no Errors 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 - no use of setuid - use of setuid, but ok because TBD (prefer systemd to set those for services) - no dependency on webkit, qtwebkit, seed or libgoa-* - not part of the UI for extra checks - no translation present, but none needed for this case (user visible)? Problems: - using python3-nose: https://bugs.debian.org/1018513 - Warnings during build: SyntaxWarning: 'str' object is not callable; perhaps you missed a comma? SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.