Comment 3 for bug 1963707

Revision history for this message
Lukas Märdian (slyon) wrote :

Review for Package: src:libqrtr-glib

[Summary]
libqrtr-glib is a glib-based library to use and manage the QRTR (Qualcomm
IPC Router) bus. It seems to be in a good shape upstream and was included in
Debian/Ubuntu just recently (2022).

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:
- gir1.2-qrtr-1.0, libqrtr-glib-dev, libqrtr-glib-doc, libqrtr-glib0
Specific binary packages built, but NOT to be promoted to main: <None>

Notes:
- libqrtr parses packets received from the modem, so I'm signing it up for a
  security review

Required TODOs:
#1 Can we please define a better testing story for this package?
Both automatic tests provided (build-time & autopkgtests) are only superficial.
I understand that an end-to-end test would require special HW (compatible
qualcomm modem), so we should probably define a proper test-plan to be run
manually every cycle. Can you please provide a test plan/script/log in the
comments below?

Recommended TODOs:
#2 The package should get a team bug subscriber before being promoted
#3 please run `update-maintainer` on the package (or sync once the autopkgtest
is uploaded to Debian).

[Duplication]
There is no other package in main providing the same functionality.

[Dependencies]
OK:
- no other Dependencies to MIR due to this
  - checked with check-mir
  - not listed in seeded-in-ubuntu
  - 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 odd Built-Using entries
- not a go package, no extra constraints to consider in that regard

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

Problems:
- parses data formats (packets received from the kernel's QRTR socket)

[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

Problems:
- build-time tests only check the documentation, not the actual library
- only has a superficial test that runs as autopkgtest
- special HW (compatible qualcomm modem) needed to do full end-to-end testing

[Packaging red flags]
OK:
- Ubuntu does carry a delta, but it is reasonable and maintenance under control
  - also, submitted to Debian: https://bugs.debian.org/1011354
- symbols tracking is in place
- d/watch is present and looks ok (if needed, e.g. non-native)
- Upstream update history is good
- Debian/Ubuntu update history is good (but there's not a lot of history)
- 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
- d/rules is rather clean
- It is not on the lto-disabled list

Problems:
- please run `update-maintainer` on the package

[Upstream red flags]
OK:
- no Errors/warnings during the build
- no incautious use of malloc/sprintf (as far as we can check it)
- no use of sudo, gksu, pkexec, or LD_LIBRARY_PATH
- no use of user nobody
- no use of setuid
- no important open bugs (crashers, etc) in Debian or Ubuntu
- 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: None