[MIR] libbytesize

Bug #2028352 reported by Sebastien Bacher
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
libbytesize (Ubuntu)
Fix Released
Undecided
Sebastien Bacher

Bug Description

[Availability]
The package libbytesize is already in Ubuntu universe.
The package libbytesize build for the architectures it is designed to work on.
It currently builds and works for architectures: amd64 arm64 armhf i386 ppc64el riscv64 s390x
Link to package https://launchpad.net/ubuntu/+source/libbytesize

[Rationale]
- The package libbytesize is required in Ubuntu main because the new udisks version makes some plugins non optional, including libblockdev-mdraid3 which depends on libbytesize
- The package libbytesize will generally be useful for a large part of
  our user base
- There is no other/better way to solve this that is already in main or
  should go universe->main instead of this.

- The package libbytesize is required in Ubuntu main no later than August 17 due to feature freeze

[Security]
- No CVEs/security issues in this software in the past

- no `suid` or `sgid` binaries
- no executables in `/sbin` and `/usr/sbin`
- Package does not install services, timers or recurring jobs
- Packages does not open privileged ports (ports < 1024)
- Packages does not contain extensions to security-sensitive software
  (filters, scanners, plugins, UI skins, ...)

[Quality assurance - function/usage]
- The package works well right after install

[Quality assurance - maintenance]
- The package is maintained well in Debian/Ubuntu/Upstream and has no open reports
  - Ubuntu https://bugs.launchpad.net/ubuntu/+source/libbytesize/+bug
  - Debian https://bugs.debian.org/cgi-bin/pkgreport.cgi?src=libbytesize
  - Upstream's bug tracker, https://github.com/storaged-project/libbytesize/issues
- The package does not deal with exotic hardware we cannot support

[Quality assurance - testing]
- The package runs a test suite on build time, if it fails
  it makes the build fail, link to build log
  https://launchpadlibrarian.net/678190563/buildlog_ubuntu-mantic-amd64.libbytesize_2.9-1ubuntu2_BUILDING.txt.gz

- The package runs an autopkgtest, and is currently passing on
  amd64 arm64 armhf ppc64el, it is failing on i386 because it's a partial
  archictecture and the needed packages aren't installable
  Build logs on
  https://autopkgtest.ubuntu.com/packages/libb/libbytesize

- The package does have not failing autopkgtests right now

[Quality assurance - packaging]
- debian/watch is present and works

- debian/control defines a correct maintainer

- The build only has minor lintian warnings
- Please link to a recent build log of the package
https://launchpadlibrarian.net/678190563/buildlog_ubuntu-mantic-amd64.libbytesize_2.9-1ubuntu2_BUILDING.txt.gz
- lintian --pedantic output

P: libbytesize1: odd-mark-in-description comma not followed by whitespace (line 2)
P: python3-bytesize: odd-mark-in-description comma not followed by whitespace (line 2)
P: libbytesize source: silent-on-rules-requiring-root [debian/control]

A fix for those warnings has been submitted
https://salsa.debian.org/utopia-team/libbytesize/-/merge_requests/2
which is merged now which means the next upload with have those resolved

- This package does not rely on obsolete or about to be demoted packages.
- This package has no python2 or GTK2 dependencies

- The package will be installed by default, but does not ask debconf questions

- Packaging and build is easy, link to debian/rules https://salsa.debian.org/utopia-team/libbytesize/-/blob/debian/sid/debian/rules

[UI standards]
- Application is end-user facing, Translation is present, via standard gettext

[Dependencies]
- No further depends or recommends dependencies that are not yet in main

[Standards compliance]
- This package correctly follows FHS and Debian Policy

[Maintenance/Owner]
- Owning Team will be desktop-packages
- Team is already subscribed to the package

- This does not use static builds
- This does not use vendored code
- This package is not rust based

- The package has been built in the archive more recently than the last test rebuild

[Background information]
The Package description explains the package well
Upstream Name is libbytesize
Link to upstream project https://github.com/storaged-project/libbytesize

description: updated
Lukas Märdian (slyon)
Changed in libbytesize (Ubuntu):
assignee: nobody → Lukas Märdian (slyon)
Revision history for this message
Lukas Märdian (slyon) wrote :
Download full text (4.9 KiB)

Review for Source Package: libbytesize

[Summary]
The package libbytesize is required in Ubuntu main because the new udisks
version makes some plugins non optional, including libblockdev-mdraid3 which
depends on libbytesize. It is a library that helps handling of (human readable)
bytesizes (storage, networking), like translating MiB to bytes or doing
arithmetic on it.

MIR team ACK

This does not need a security review

List of specific binary packages to be promoted to main: libbytesize-1
Specific binary packages built, but NOT to be promoted to main: None

Notes:
- It's a tiny and mature library wich works on trusted input, mostly. So I feel
  like it doesn't need a security review.

Required TODOs:
- None
Recommended TODOs:
#0: The package should get a team bug subscriber before being promoted
    [done]
#1: The delta to enable build- & autopkgtests should be forwarded to Debian
    [done] https://salsa.debian.org/utopia-team/libbytesize/-/merge_requests/3
#2: Lintian info/warnings could be improved with the Debian maintainer:
    I: libbytesize-common: extended-description-is-probably-too-short
    P: libbytesize source: silent-on-rules-requiring-root [debian/control]
    X: python3-bytesize: package-contains-no-arch-dependent-files
    [partly done] https://salsa.debian.org/utopia-team/libbytesize/-/merge_requests/2
#3: some warnings from gtk-doc during build that can probably be ignored
    (or forwarded to upstream, for improved API docs)

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

[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]
- 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 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, ...)

Problems:
- It parses human readable bytesizes in bs_size_new_from_str() via pcre2 regex,
  but this should usually be trusted input.

[Common blockers]
OK:
- does not FTBFS currently...

Read more...

Changed in libbytesize (Ubuntu):
status: New → In Progress
assignee: Lukas Märdian (slyon) → Sebastien Bacher (seb128)
Revision history for this message
Sebastien Bacher (seb128) wrote :

Thanks, desktop-packages is subscribed now, promoting

Override component to main
libbytesize 2.9-1ubuntu2 in mantic: universe/misc -> main
libbytesize1 2.9-1ubuntu2 in mantic amd64: universe/libs/optional/100% -> main
libbytesize1 2.9-1ubuntu2 in mantic arm64: universe/libs/optional/100% -> main
libbytesize1 2.9-1ubuntu2 in mantic armhf: universe/libs/optional/100% -> main
libbytesize1 2.9-1ubuntu2 in mantic i386: universe/libs/optional/100% -> main
libbytesize1 2.9-1ubuntu2 in mantic ppc64el: universe/libs/optional/100% -> main
libbytesize1 2.9-1ubuntu2 in mantic riscv64: universe/libs/optional/100% -> main
libbytesize1 2.9-1ubuntu2 in mantic s390x: universe/libs/optional/100% -> main
libbytesize-common 2.9-1ubuntu2 in mantic amd64: universe/libs/optional/100% -> main
libbytesize-common 2.9-1ubuntu2 in mantic arm64: universe/libs/optional/100% -> main
libbytesize-common 2.9-1ubuntu2 in mantic armhf: universe/libs/optional/100% -> main
libbytesize-common 2.9-1ubuntu2 in mantic i386: universe/libs/optional/100% -> main
libbytesize-common 2.9-1ubuntu2 in mantic ppc64el: universe/libs/optional/100% -> main
libbytesize-common 2.9-1ubuntu2 in mantic riscv64: universe/libs/optional/100% -> main
libbytesize-common 2.9-1ubuntu2 in mantic s390x: universe/libs/optional/100% -> main
Override [y|N]? y

Changed in libbytesize (Ubuntu):
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.