test: cross-build linux-riscv from resolute, noble known-broken
The e2e pulled linux-riscv from questing, which went EOL in July 2026 and has since been removed from the mirrors entirely — not even old-releases carries a Release file for it, so the chroot bootstrap cannot resolve the series and the e2e can no longer run. Point it at resolute (26.04), the current LTS: linux-riscv is packaged there like in every supported series, and an LTS stays pullable for years where an interim series turns the test stale within months. Keep a noble fixture next to it, also not run by default: noble-era controls declare their build tools unqualified (the :native idiom landed in later series), so exact dpkg semantics demand host-architecture instances of them (python3:riscv64, gcc-13:riscv64, ...), and the two-architecture install set is unsolvable — t64 libraries conflict with their own foreign-arch variant, and the riscv64 toolchain instances drag depends chains that do not resolve from the chroot sources.
This commit is contained in:
+23
-1
@@ -603,12 +603,34 @@ mod tests {
|
|||||||
/// NOTE: Ideally, we want to run this in CI, but it takes more than 1h
|
/// NOTE: Ideally, we want to run this in CI, but it takes more than 1h
|
||||||
/// to fully build the linux-riscv package on an amd64 builder, which is too
|
/// to fully build the linux-riscv package on an amd64 builder, which is too
|
||||||
/// much time
|
/// much time
|
||||||
|
/// The series is the current LTS (26.04) rather than an interim one:
|
||||||
|
/// interim series vanish from the mirrors a few months after their EOL
|
||||||
|
/// (questing is already unreachable), an LTS stays pullable for years.
|
||||||
#[ignore]
|
#[ignore]
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
#[test_log::test]
|
#[test_log::test]
|
||||||
#[cfg(target_arch = "x86_64")]
|
#[cfg(target_arch = "x86_64")]
|
||||||
async fn test_deb_linux_riscv_ubuntu_cross_end_to_end() {
|
async fn test_deb_linux_riscv_ubuntu_cross_end_to_end() {
|
||||||
test_build_end_to_end("linux-riscv", "questing", None, Some("riscv64"), true).await;
|
test_build_end_to_end("linux-riscv", "resolute", None, Some("riscv64"), true).await;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// KNOWN-BROKEN cross build of the noble-era kernel, kept as an
|
||||||
|
/// ignored fixture to work from. Noble controls declare their build
|
||||||
|
/// tools unqualified (the `:native` idiom landed later), so exact dpkg
|
||||||
|
/// semantics demand host-architecture instances of them
|
||||||
|
/// (python3:riscv64, gcc-13:riscv64, clang-17:riscv64, ...) and the
|
||||||
|
/// resulting two-architecture install set is unsolvable: t64
|
||||||
|
/// libraries (libclang1-17t64) conflict with their own foreign-arch
|
||||||
|
/// variant, and the riscv64 toolchain instances drag depends chains
|
||||||
|
/// (gcc:riscv64) that do not resolve from the chroot sources. A real
|
||||||
|
/// run fails at the apt transaction with 'Unable to correct problems'.
|
||||||
|
/// Resolute-era controls declare :native properly; see the test above.
|
||||||
|
#[ignore]
|
||||||
|
#[tokio::test]
|
||||||
|
#[test_log::test]
|
||||||
|
#[cfg(target_arch = "x86_64")]
|
||||||
|
async fn test_deb_linux_riscv_noble_cross_end_to_end() {
|
||||||
|
test_build_end_to_end("linux-riscv", "noble", None, Some("riscv64"), true).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// This is a specific test case for the latest gcc package on Debian
|
/// This is a specific test case for the latest gcc package on Debian
|
||||||
|
|||||||
Reference in New Issue
Block a user