Review for Source Package: rust-coreutils

[Summary]
This package, rust-coreutils, is a rewrite of GNU coreutils in rust.
It aims to replace coreutils in Ubuntu.
The package has a few minor issues, such as the translation handling 
and missing documentation on how to refresh vendored code, which are 
noted in the TODOs and should be addressed.

The more significant concern is rust-coreutils not being fully compatible
with coreutils. Since many user scripts and system tools implicitly rely 
on the precise behavior of GNU coreutils, any deviation, can lead to 
regressions.
This risk ranges from simple user-level breakage to failures in complex 
deployments that depend on expected coreutils behavior.

A number of related bugs have already been reported. While it is currently
unrealistic to expect full compatibility with GNU coreutils, every effort 
should be made to resolve as many of the outstanding issues as possible, 
in order to reduce the potential for disruption and ensure the level of
reliability and quality expected from software provided by Ubuntu.

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 need a security review, so I'll assign ubuntu-security.

List of specific binary packages to be promoted to main: rust-coreutils
Specific binary packages built, but NOT to be promoted to main: <None>

Notes:
Required TODOs:
1. The package has not documented how to refresh vendored code. Please document 
it.
2. The package does not have autopkgtest.
3. Please address the translation issue.
4. Please address the Debian bugs:
4a. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1097827
4b. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1107270
5. There quite a few open Ubuntu bugs, please address them
   https://bugs.launchpad.net/ubuntu/+source/rust-coreutils/+bugs
6. Review upstream issues and assess which of them are likely to
   cause problems.   
Recommended TODOs:
7. Address as many as possible of the upstream bugs triaged in (6).

- The package should get a team bug subscriber before being promoted


[Rationale, Duplication and Ownership]
There is other package in main providing the same functionality, coreutils,
however it's been decided to switch to rust-coreutils:
https://discourse.ubuntu.com/t/carefully-but-purposefully-oxidising-ubuntu/56995
Foundations team  is committed to own long term maintenance of this package.
The rationale given in the report seems valid and useful for Ubuntu

[Dependencies]
OK:
- no other Dependencies 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:
- not a go package, no extra constraints to consider in that regard
- Rust package that has all dependencies vendored. It does neither
  have *Built-Using (after build). Nor does the build log indicate
  built-in sources that are missed to be reported as Built-Using.
- rust package using dh_cargo (dh ... --buildsystem cargo)

Problems:
- Includes vendored code, the package has documented how to refresh this
  code at <TBD>

[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 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:
- does parse data formats (files [images, video, audio,
  xml, json, asn.1], network packets, structures, ...) from
  an untrusted source. The user

[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.
- This does not need special HW for build or test
- no new python2 dependency

Problems:
- does not have a non-trivial test suite that runs as autopkgtest

[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 not present, cargo in charge
- Upstream update history is good
- 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

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 dependency on webkit, qtwebkit or libseed
- not part of the UI for extra checks

Problems:
- use of setuid / setgid
- important open bugs (crashers, etc) in Debian or Ubuntu
- translation not present

** Bug watch added: Debian Bug tracker #1097827
   https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1097827

** Bug watch added: Debian Bug tracker #1107270
   https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1107270

** Changed in: rust-coreutils (Ubuntu)
     Assignee: Ioanna Alifieraki (joalif) => Ubuntu Security Team 
(ubuntu-security)

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

Title:
  [MIR] rust-coreutils

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/rust-coreutils/+bug/2111815/+subscriptions


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

Reply via email to