Review for Source Package: libdisplay-info

[Summary]
libdisplay-info is still a relatively young project (with only 3 releases so
far), but seems to be well documented and tested (e.g. parser fuzzing). It can
be used for parsing & decoding EDID display data into human readable format.

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: libdisplay-info1
Specific binary packages built, but NOT to be promoted to main: 
libdisplay-info-bin

Notes:
#0 - The library parses EDID data, but commonly from trusted sources (kernel, 
sysfs).
     It looks well tested & fuzzed, so IMO we don't need security review here.
#1 - The project is still young, with only 3 releases so far and sporadic 
packaging updates.
     Upstream states "The public API is not yet stable." – The desktop team 
still wants to
     take it as a dependency, handle any changes necessary due to unstable API 
and help with
     maintenance.

Required TODOs:
#2 - the current release is not packaged: We have v0.2.0 as of mid-June

Recommended TODOs:
#3 - The package should get a team bug subscriber before being promoted
#4 - does have a non-trivial test suite that runs as autopkgtest
   => simply re-running build-time tests, consider testing against the 
pre-built binaries
#5 - Ubuntu does carry a delta
   => try upstreaming the tests, debian/watch and debhelper changes
#6 - Upstream & Debian/Ubuntu update history is sporadic consider helping with 
maintenance, see #1
#7 - Warnings during build, consider helping to fix some of them:
../gtf.c:116:12: warning: ‘pixel_freq’ may be used uninitialized 
[-Wmaybe-uninitialized]
../gtf.c:114:40: warning: ‘h_blank_pixels’ may be used uninitialized 
[-Wmaybe-uninitialized]
../gtf.c:113:44: warning: ‘total_pixels’ may be used uninitialized 
[-Wmaybe-uninitialized]
../gtf.c:112:22: warning: ‘v_sync_bp’ may be used uninitialized 
[-Wmaybe-uninitialized]
../di-edid-decode/edid.c:500:51: warning: ‘hratio’ may be used uninitialized 
[-Wmaybe-uninitialized]
../di-edid-decode/edid.c:500:61: warning: ‘vratio’ may be used uninitialized 
[-Wmaybe-uninitialized]


[Rationale, Duplication and Ownership]
- There is no other package in main providing the same functionality.
  => Some provide similar functionality, but not in "main":
     $ rmadison -c main {edid-decode,libparse-edid-perl,read-edid,wxedid}
- A 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
  - 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
- not a rust 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 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 (parser fuzzing)

Problems:
- parses data formats (e.g. EDID structures) from an trusted source.
  => usually from trusted kernel data, e.g. /sys/class/drm/card1-HDMI-A-1/edid,
     but can also take random files as an input

[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 have a non-trivial test suite that runs as autopkgtest
  => simply re-running build-time tests, consider testing against the pre-built 
binaries

[Packaging red flags]
OK:

- symbols tracking is in place.
- debian/watch is present and looks ok (if needed, e.g. non-native)
- 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:
- Ubuntu does carry a delta
  => try upstreaming the tests and debhelper changes
- the current release is not packaged: We have v0.2.0 as of mid-June
- Upstream update history is sporadic (only 3 releases so far, new project)
- Debian/Ubuntu update history is sporadic

[Upstream red flags]
OK:
- no Errors 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 / 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:
- Warnings during build:
../gtf.c:116:12: warning: ‘pixel_freq’ may be used uninitialized 
[-Wmaybe-uninitialized]
../gtf.c:114:40: warning: ‘h_blank_pixels’ may be used uninitialized 
[-Wmaybe-uninitialized]
../gtf.c:113:44: warning: ‘total_pixels’ may be used uninitialized 
[-Wmaybe-uninitialized]
../gtf.c:112:22: warning: ‘v_sync_bp’ may be used uninitialized 
[-Wmaybe-uninitialized]
../di-edid-decode/edid.c:500:51: warning: ‘hratio’ may be used uninitialized 
[-Wmaybe-uninitialized]
../di-edid-decode/edid.c:500:61: warning: ‘vratio’ may be used uninitialized 
[-Wmaybe-uninitialized]

** Changed in: libdisplay-info (Ubuntu)
     Assignee: Lukas Märdian (slyon) => Jeremy Bícha (jbicha)

** Changed in: libdisplay-info (Ubuntu)
       Status: Confirmed => Incomplete

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

Title:
  [MIR] libdisplay-info

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libdisplay-info/+bug/2071396/+subscriptions


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

Reply via email to