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