Public bug reported:

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

[Rationale]
- The package rust-rav1e is required in Ubuntu main to support AVIF image format
  in python3-pil (Pillow)
- The dependency chain is: python3-pil -> libavif16 -> librav1e0.8
- python3-pil is a widely used Python imaging library already in main
- AVIF support was added to pillow in Debian 11.2.1-1, making libavif16 a new
  runtime dependency. libavif16 is built with rav1e encoding support enabled on
  most architectures, creating a runtime dependency on librav1e0.8
- There is no other/better way to solve this that is already in main or
  should go universe->main instead of this.
  * AVIF support in python3-pil is an upstream feature that users expect
  * libavif is the standard library for AVIF support
  * libavif16 as built in Debian depends on multiple AV1 codecs (librav1e0.8,
    libdav1d7, libsvtav1enc2, libaom3) - all currently in universe
  * This package is part of a coordinated MIR effort to promote the complete
    AVIF stack: rust-rav1e, dav1d, svt-av1, and libavif
- This is the first time rust-rav1e will be in main
- The binary package librav1e0.8 needs to be in main to provide AV1 encoding
  support for libavif16
- All other binary packages built by rust-rav1e should remain in universe

- The package needs to be promoted well before 25.04 to allow time for the
  subsequent libavif16 MIR process

[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).
- Package does not expose any external endpoints
- 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 does not have too
  many, long-term & critical, open bugs
  - Ubuntu https://bugs.launchpad.net/ubuntu/+source/rust-rav1e
  - Debian https://bugs.debian.org/cgi-bin/pkgreport.cgi?src=rust-rav1e
  - Upstream's bug tracker https://github.com/xiph/rav1e/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:
  * amd64:
    
https://launchpadlibrarian.net/835222841/buildlog_ubuntu-resolute-amd64.rust-rav1e_0.8.1-6ubuntu2_BUILDING.txt.gz
  * amd64v3:
    
https://launchpadlibrarian.net/835222875/buildlog_ubuntu-resolute-amd64v3.rust-rav1e_0.8.1-6ubuntu2_BUILDING.txt.gz
  * arm64:
    
https://launchpadlibrarian.net/835222893/buildlog_ubuntu-resolute-arm64.rust-rav1e_0.8.1-6ubuntu2_BUILDING.txt.gz
  * armhf:
    
https://launchpadlibrarian.net/835223055/buildlog_ubuntu-resolute-armhf.rust-rav1e_0.8.1-6ubuntu2_BUILDING.txt.gz
  * ppc64el:
    
https://launchpadlibrarian.net/835222819/buildlog_ubuntu-resolute-ppc64el.rust-rav1e_0.8.1-6ubuntu2_BUILDING.txt.gz
  * riscv64:
    
https://launchpadlibrarian.net/835248561/buildlog_ubuntu-resolute-riscv64.rust-rav1e_0.8.1-6ubuntu2_BUILDING.txt.gz
  * s390x:
    
https://launchpadlibrarian.net/835223049/buildlog_ubuntu-resolute-s390x.rust-rav1e_0.8.1-6ubuntu2_BUILDING.txt.gz

- The package runs an autopkgtest, and is currently passing on the following
  architectures, links to test logs:
  * amd64: 
https://autopkgtest.ubuntu.com/results/autopkgtest-resolute/resolute/amd64/r/rust-rav1e/20251203_193026_6ec00@/log.gz
  * arm64: 
https://autopkgtest.ubuntu.com/results/autopkgtest-resolute/resolute/arm64/r/rust-rav1e/20251203_201814_44528@/log.gz
  * armhf: 
https://autopkgtest.ubuntu.com/results/autopkgtest-resolute/resolute/armhf/r/rust-rav1e/20251203_194835_99d05@/log.gz
  * ppc64el: 
https://autopkgtest.ubuntu.com/results/autopkgtest-resolute/resolute/ppc64el/r/rust-rav1e/20251204_054019_afb59@/log.gz
  * s390x: 
https://autopkgtest.ubuntu.com/results/autopkgtest-resolute/resolute/s390x/r/rust-rav1e/20251203_195750_a4b2b@/log.gz

- The package runs two autopkgtests:
  * Rust cargo tests (debian/tests/run-cargo-tests.sh): Tests the Rust encoder
    implementation including the C API (capi) feature with vendored dependencies
  * C library link test (debian/tests/librav1e-link-test.c): Tests that the C
    library can be linked and basic C API functions work
- The cargo tests validate the C library because rav1e's C API (src/capi.rs) is
  a thin FFI wrapper around the Rust implementation. Testing the Rust code with
  the capi feature enabled exercises the same code paths that C applications use
  through librav1e0.8

- The package does have not failing autopkgtests right now

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

- debian/control defines a correct Maintainer field

- This package does not yield massive lintian Warnings, Errors
- Please link to a recent build log of the package
  
https://launchpadlibrarian.net/834848089/buildlog_ubuntu-resolute-amd64.rust-rav1e_0.8.1-6ubuntu1_BUILDING.txt.gz
- Please attach the full output you have got from
  `lintian --pedantic` as an extra post to this bug:
  ```
  W: rust-rav1e source: unknown-field Vendored-Sources-Rust
  P: rust-rav1e source: redundant-rules-requires-root-no-field 
[debian/control:21]
  ```
- Lintian overrides are not present

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

- The package will not be installed by default

- Packaging is complex, but that is ok because it requires Rust dependency
  vendoring for promotion to main. The debian/rules file handles vendor tarball
  creation with cargo-vendor-filterer and builds both the Rust library and C
  API. Link to debian/rules:
  https://git.launchpad.net/ubuntu/+source/rust-rav1e/tree/debian/rules

[UI standards]
- Application is not end-user facing (does not need translation)

[Dependencies]
- Used check-mir from ubuntu-dev-tools to validate all dependencies or
  recommends are in main

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

[Maintenance/Owner]
- The owning team will be ~debcrafters-packages and I have their acknowledgment
  for that commitment
- The future owning team is already subscribed to the package

- The team ~debcrafters-packages is aware of the implications by a static build
  and commits to test no-change-rebuilds and to fix any issues found for the
  lifetime of the release (including ESM)

- The team ~debcrafters-packages is aware of the implications of vendored code
  and (as alerted by the security team) commits to provide updates and backports
  to the security team for any affected vendored code for the lifetime of the
  release (including ESM).

- This package uses vendored rust code tracked in Cargo.lock as shipped, in the
  package (at /usr/share/doc/rust-rav1e/Cargo.lock.gz), refreshing that code is
  outlined in debian/README.source

- This package is rust based and vendors all non language-runtime
dependencies

- The package has been built within the last 3 months in the archive
- Build link on launchpad:
  https://launchpad.net/ubuntu/+source/rust-rav1e/0.8.1-6ubuntu2

- Currently, this change will not impact other teams. However, the Ubuntu delta
  removes librust-rav1e-dev to avoid conflicts with vendored Rust
  dependencies. This package has no reverse dependencies in either Debian or
  Ubuntu currently. However, *if* future Debian packages start depending on
  librust-rav1e-dev and are synced to Ubuntu, those packages would need to to
  handle the librust-rav1e-dev dependency differently (e.g., vendored).

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

** Affects: rust-rav1e (Ubuntu)
     Importance: Undecided
         Status: New

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

Title:
  [MIR] rust-rav1e

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


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

Reply via email to