5
0
mirror of git://git.proxmox.com/git/proxmox-backup.git synced 2025-01-22 22:04:00 +03:00

build: use cargo wrapper when building package

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 <f.gruenbichler@proxmox.com>
This commit is contained in:
Fabian Grünbichler 2024-06-19 16:38:05 +02:00 committed by Wolfgang Bumiller
parent a92a745fdc
commit fd3f72820e
4 changed files with 16 additions and 12 deletions

View File

@ -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)

2
debian/rules vendored
View File

@ -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

View File

@ -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

View File

@ -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",