Reinhard Tartler <siretart@debian.org> writes:
Package: librust-tonic-dev
Version: 0.10.2+dfsg-12
Severity: serious
Justification: Breaks compilation of depending packages
[...]
The following packages have unmet dependencies:
librust-tonic-dev : Depends: librust-axum-0.6-dev but it is not installable
E: Unable to correct problems, you have held broken packages.
apt-get failed.
E: Package installation failed
I've tried the naive approach of "just" bumping the dependencies with
the attached patch. However, this runs into a compilation issue:
' CARGO_PKG_HOMEPAGE='https://github.com/hyperium/tonic' CARGO_PKG_LICENSE=MIT CARGO_PKG_LICENSE_FILE='' CARGO_PKG_NAME=tonic CARGO_PKG_README=../README.md CARGO_PKG_REPOSITORY='https://github.com/hyperium/tonic' CARGO_PKG_RUST_VERSION='' CARGO_PKG_VERSION=0.10.2 CARGO_PKG_VERSION_MAJOR=0 CARGO_PKG_VERSION_MINOR=10 CARGO_PKG_VERSION_PATCH=2 CARGO_PKG_VERSION_PRE='' CARGO_PRIMARY_PACKAGE=1 LD_LIBRARY_PATH=/build/reproducible-path/rust-tonic-0.10.2+dfsg/target/release/deps rustc --crate-name tonic --
s", "tls-roots-common", "transport"))' -C metadata=485a23f653a8e74a -C extra-filename=-decac77e6c54a626 --out-dir /build/reproducible-path/rust-tonic-0.10.2+dfsg/target/x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -C strip=debuginfo -L dependency=/build/reproducible-path/rust-tonic-0.10.2+dfsg/target/x86_64-unknown-linux-gnu/release/deps -L dependency=/build/reproducible-path/rust-tonic-0.10.2+dfsg/target/release/deps --extern async_stream=/build/reproducible-path/rust-
989.rmeta --extern bytes=/build/reproducible-path/rust-tonic-0.10.2+dfsg/target/x86_64-unknown-linux-gnu/release/deps/libbytes-049891ee00809e23.rmeta --extern flate2=/build/reproducible-path/rust-tonic-0.10.2+dfsg/target/x86_64-unknown-linux-gnu/release/deps/libflate2-d79784b4a9ba394f.rmeta --extern h2=/build/reproducible-path/rust-tonic-0.10.2+dfsg/target/x86_64-unknown-linux-gnu/release/deps/libh2-8499421b229fc163.rmeta --extern http=/build/reproducible-path/rust-tonic-0.10.2+dfsg/target/x86_
9933.rmeta --extern percent_encoding=/build/reproducible-path/rust-tonic-0.10.2+dfsg/target/x86_64-unknown-linux-gnu/release/deps/libpercent_encoding-14360a2752397cf5.rmeta --extern pin_project=/build/reproducible-path/rust-tonic-0.10.2+dfsg/target/x86_64-unknown-linux-gnu/release/deps/libpin_project-66922be3f1cda763.rmeta --extern prost=/build/reproducible-path/rust-tonic-0.10.2+dfsg/target/x86_64-unknown-linux-gnu/release/deps/libprost-bb55bf7e76c86d88.rmeta --extern rustls=/build/reproducible-
linux-gnu/release/deps/libtokio_rustls-b7a50ca23e565701.rmeta --extern tokio_stream=/build/reproducible-path/rust-tonic-0.10.2+dfsg/target/x86_64-unknown-linux-gnu/release/deps/libtokio_stream-1f9533b6b8b17828.rmeta --extern tower=/build/reproducible-path/rust-tonic-0.10.2+dfsg/target/x86_64-unknown-linux-gnu/release/deps/libtower-e87d80db1912db72.rmeta --extern tower_layer=/build/reproducible-path/rust-tonic-0.10.2+dfsg/target/x86_64-unknown-linux-gnu/release/deps/libtower_layer-755127e7643f220a.
h/rust-tonic-0.10.2+dfsg/target/x86_64-unknown-linux-gnu/release/build/ring-a6a76e47df4ffd6c/out`
error[E0432]: unresolved import `axum::body::BoxBody`
--> tonic/src/transport/mod.rs:109:16
|
109 | pub use axum::{body::BoxBody as AxumBoxBody, Router as AxumRouter};
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `BoxBody` in `body`
|
= help: consider importing one of these items instead:
crate::body::BoxBody
http_body::combinators::BoxBody
error[E0425]: cannot find value `boxed` in module `axum::body`
--> tonic/src/transport/service/router.rs:79:62
|
79 | let svc = svc.map_response(|res| res.map(axum::body::boxed));
| ^^^^^ not found in `axum::body`
|
So it seems that tonic 0.10.2 is not compatible with axum 0.7 at all. That's most unfornate.
I've also spent more time that I'd like to admit in attempting to
upgrade the package ot tonic 0.12 (is the first upstream version to use
axum 0.7), but this runs into a number of other version incompatibilities.
Jonas, this is threatening removal of large portions of the container
stack, such as podman. The reason for that is that podman has rewritten
its networking stack in rust with netavark/aardvark-dns, which require tonic.
What's the best way to proceed here? Trying to backport https://github.com/hyperium/tonic/commit/9c1f2f9402d97cfa4c9d9065b5af2fb99d2ef521
to tonic 0.10 or attempting to package 0.12?
What's the best way to proceed here? Trying to backport
https://github.com/hyperium/tonic/commit/9c1f2f9402d97cfa4c9d9065b5af2fb99d2ef521
to tonic 0.10 or attempting to package 0.12?
I don't know what is best until I have solved the puzzle.
What I am trying now is upgrade tonic to v0.12.
On 2025-03-15 14:00, Jonas Smedegaard wrote:
What's the best way to proceed here? Trying to backport
https://github.com/hyperium/tonic/commit/9c1f2f9402d97cfa4c9d9065b5af2fb99d2ef521
to tonic 0.10 or attempting to package 0.12?
I don't know what is best until I have solved the puzzle.
What I am trying now is upgrade tonic to v0.12.
I tried that as well, and pushed what I have so far to https://salsa.debian.org/debian/rust-tonic/-/tree/siretart/0.12?ref_type=heads
it wasn't easy, I have not even reached the goal. But maybe you find
those patches helpful? let me know.
When trying to use librust-tonic-dev as a build dependencies, it fails to install with:
The following packages have unmet dependencies:
librust-tonic-dev : Depends: librust-axum-0.6-dev but it is not installable
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 546 |
Nodes: | 16 (0 / 16) |
Uptime: | 156:32:43 |
Calls: | 10,384 |
Calls today: | 1 |
Files: | 14,056 |
Messages: | 6,416,469 |