From fd3f72820eaf94fbedc475148b221eef691139c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= Date: Wed, 19 Jun 2024 16:38:05 +0200 Subject: [PATCH] build: use cargo wrapper when building package MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit else we don't pick up the options set by the wrapper, which include generation of debug symbols. until rustc 1.77, this was not needed because compiled binaries always included a non-stripped libstd. now, without this change, the binaries built with `cargo build --release` have no debug symbols at all trigger a warning. fix this and include debug symbols when building a package, like was originally intended for release package builds. Signed-off-by: Fabian Grünbichler --- Makefile | 4 ++-- debian/rules | 2 +- docs/Makefile | 4 ++-- pxar-bin/tests/pxar.rs | 18 +++++++++++------- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index 43759b4b..943d38e2 100644 --- a/Makefile +++ b/Makefile @@ -38,9 +38,9 @@ SUBCRATES != cargo metadata --no-deps --format-version=1 \ ifeq ($(BUILD_MODE), release) CARGO_BUILD_ARGS += --release -COMPILEDIR := target/release +COMPILEDIR := target/$(DEB_HOST_RUST_TYPE)/release else -COMPILEDIR := target/debug +COMPILEDIR := target/$(DEB_HOST_RUST_TYPE)/debug endif ifeq ($(valgrind), yes) diff --git a/debian/rules b/debian/rules index 54a3c22b..a82c3e12 100755 --- a/debian/rules +++ b/debian/rules @@ -8,7 +8,7 @@ include /usr/share/rustc/architecture.mk export BUILD_MODE=release -CARGO=/usr/share/cargo/bin/cargo +export CARGO=/usr/share/cargo/bin/cargo export CFLAGS CXXFLAGS CPPFLAGS LDFLAGS export DEB_HOST_RUST_TYPE DEB_HOST_GNU_TYPE diff --git a/docs/Makefile b/docs/Makefile index d6c61c86..d23796b7 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -90,10 +90,10 @@ SPHINXBUILD = sphinx-build BUILDDIR = output ifeq ($(BUILD_MODE), release) -COMPILEDIR := ../target/release +COMPILEDIR := ../target/$(DEB_HOST_RUST_TYPE)/release SPHINXOPTS += -t release else -COMPILEDIR := ../target/debug +COMPILEDIR := ../target/$(DEB_HOST_RUST_TYPE)/debug SPHINXOPTS += -t devbuild endif diff --git a/pxar-bin/tests/pxar.rs b/pxar-bin/tests/pxar.rs index 321f24c3..0a4fbcad 100644 --- a/pxar-bin/tests/pxar.rs +++ b/pxar-bin/tests/pxar.rs @@ -7,15 +7,17 @@ fn pxar_create_and_extract() { let src_dir = "../tests/catar_data/test_xattrs_src/"; let dest_dir = "../tests/catar_data/test_xattrs_dest/"; + let target_subdir = std::env::var("DEB_HOST_RUST_TYPE").unwrap_or(String::new()); + let exec_path = if cfg!(debug_assertions) { - "../target/debug/pxar" + format!("../target/{target_subdir}/debug/pxar") } else { - "../target/release/pxar" + format!("../target/{target_subdir}/release/pxar") }; println!("run '{} create archive.pxar {}'", exec_path, src_dir); - Command::new(exec_path) + Command::new(&exec_path) .arg("create") .arg("./tests/archive.pxar") .arg(src_dir) @@ -24,7 +26,7 @@ fn pxar_create_and_extract() { println!("run '{} extract archive.pxar {}'", exec_path, dest_dir); - Command::new(exec_path) + Command::new(&exec_path) .arg("extract") .arg("./tests/archive.pxar") .arg("--target") @@ -81,13 +83,15 @@ fn pxar_create_and_extract() { #[test] fn pxar_list_with_payload_input() { + let target_subdir = std::env::var("DEB_HOST_RUST_TYPE").unwrap_or(String::new()); + let exec_path = if cfg!(debug_assertions) { - "../target/debug/pxar" + format!("../target/{target_subdir}/debug/pxar") } else { - "../target/release/pxar" + format!("../target/{target_subdir}/release/pxar") }; - let output = Command::new(exec_path) + let output = Command::new(&exec_path) .args([ "list", "../tests/pxar/backup-client-pxar-expected.mpxar",