Second review iteration for Source Package: rust-gst-plugin-gtk4
[Summary]
This review builds upon the first one from slyon, also considering the
reporter's response to the first.
rust-gst-plugin-gtk4 is a shared library providing GTK4 widgets to consume video
data from (trusted) GStreamer sources and rendering them to the output. It is
a new dependency for the gnome-snapshot tool. Upstream and packaging maintenance
seems to be active and under control. Testing is available.
MIR team ACK along with the recommendation to, as much as possible,
address the "Recommended TODOs" listed here.
This does not need a security review.
List of specific binary packages to be promoted to main: gstreamer1.0-gtk4
Specific binary packages built, but NOT to be promoted to main:
librust-gst-plugin-gtk4-dev
Notes:
#2.0 - The reporter has addressed the "Required" TODOs and some of the
"Recommended" TODOs from the previous review, by making code changes,
filing bug reports or providing explanations.
#2.1 - Reasonable justification has been provided for "Required TODOs"
#2 and #5. For these, I added recommended TODOs #2.2 and #2.3
respectively.
Recommended TODOs:
#2.2 - 6 out of 21 autopkgtests are still marked flaky. Though a
justification has been provided, please consider fixing these in the
long-term.
#2.3 - Please consider filing a bug report against Debian Rust Team’s
packaging scripts for the issue that cause the build error noted under
[Upstream red flags]. If a bug report exists, please reference it in
debian/rules through a comment.
#2.4 - Please consider fixing the pending lintian warnings/suggestions
noted in the [Packaging red flags].
#2.5 - Please consider the pending fixing upstream, minor build warnings
under [Upstream red flags].
[Rationale, Duplication and Ownership]
OK:
- There is no other package in main providing the same functionality.
- A team is committed to own long term maintenance of this package.
=> ~desktop-packages
- The rationale given in the report seems valid and useful for Ubuntu
=> new dependency of gnome-snapshot
Problems: none
[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 dependencies in main that are only superficially tested requiring
more tests now.
Problems:
- many librust-*-dev does not exist
- -dev/-debug/-doc packages that need exclusion
=> we might consider excluding librust-gst-plugin-gtk4-dev
[Embedded sources and static linking]
OK:
- 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)
- Includes vendored code, the package has documented how to refresh this
code at debian/README.source
=> vendor'd packages are copied to debian/missing-sources as done by
other GNOME Rust packages
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:
- Just noting a Fedora security advisory for version 0.12.5, though it does
not look concerning
=>
https://linuxsecurity.com/advisories/fedora/fedora-40-rust-gst-plugin-gtk4-2024-ce2936b568-security-advisory-updates-ogliowytmjc9
[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
- if a non-trivial test on this level does not make sense (the lib alone
is only doing rather simple things), is the overall solution (app+libs)
extensively covered i.e. via end to end autopkgtest
=> https://wiki.ubuntu.com/DesktopTeam/TestPlans/GnomeSnapshot
- no new python2 dependency
Problems:
- Many of the autopkgtests in debian/tests/control are tagged "flaky".
=> explanation provided by the reporter
[Packaging red flags]
OK:
- Ubuntu does carry a delta, but it is reasonable and maintenance under
control
=> Vendoring delta
- symbols tracking is in place
- debian/watch is present and looks ok (if needed, e.g. non-native)
- 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:
- lintian warnings:
W: gstreamer1.0-gtk4: package-has-unnecessary-activation-of-ldconfig-trigger
W: rust-gst-plugin-gtk4 source: unknown-field Vendored-Sources-Rust
=> Justification for the unfixed warnings is provided by the reporter
[Upstream red flags]
OK:
- 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 / 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:
- errors during the build
* error: there is nothing to install in `gst-plugin-gtk4 v0.13.6
(/<<PKGBUILDDIR>>)`, because it has no
binaries
=> known bug in the Debian Rust team's packaging scripts
- warnings during the build:
* warning: unexpected `cfg` condition value: `winegl`
* many other warnings in vendored packages
=> explanation from reporter: minor warnings for upstream to fix
** Changed in: rust-gst-plugin-gtk4 (Ubuntu)
Status: New => In Progress
** Changed in: rust-gst-plugin-gtk4 (Ubuntu)
Assignee: Pushkar Kulkarni (pushkarnk) => (unassigned)
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2097804
Title:
[MIR] rust-gst-plugin-gtk4
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/rust-gst-plugin-gtk4/+bug/2097804/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs