]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
rec and dnsdist: properly set up env vars 15915/head
authorOtto Moerbeek <otto.moerbeek@open-xchange.com>
Thu, 24 Jul 2025 13:41:50 +0000 (15:41 +0200)
committerOtto Moerbeek <otto.moerbeek@open-xchange.com>
Thu, 24 Jul 2025 13:50:47 +0000 (15:50 +0200)
env.append() appends to an existing value

Should fix the error in #15896, but the reported location of cargo
still might be wrong.

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
pdns/dnsdistdist/dnsdist-rust-lib/rust/build_dnsdist_rust_library
pdns/dnsdistdist/dnsdist-rust-lib/rust/meson.build
pdns/recursordist/rec-rust-lib/rust/build_recrust
pdns/recursordist/rec-rust-lib/rust/meson.build

index 6b6f4d1ffec1a60d7aec08dc64ec85e77b791c32..dee4f4df2c86703bc3bce83609449c31e3604730 100644 (file)
@@ -1,5 +1,7 @@
 #!/bin/sh -e
 
+export CARGO="${CARGO:-$_defaultCARGO}"
+
 #echo "PWD=$PWD"
 #echo "srcdir=$srcdir"
 #echo "builddir=$builddir"
index 2559ef2b49ce8d3896831e5ab39f02f1cf0e53c8..f60ec0232101cbbe7ea0f0fdd1a208d93366f8bd 100644 (file)
@@ -4,13 +4,14 @@ infile = 'Cargo.toml'
 outfile = 'libdnsdist_rust.a'
 
 env = environment()
-env.append('CARGO', cargo.full_path())
-env.append('SYSCONFDIR', conf.get('SYSCONFDIR'))
-env.append('builddir', '.')
-env.append('generatedheadersdir', meson.current_build_dir() + '/..')
-env.append('srcdir', meson.current_source_dir())
-env.append('RUST_TARGET', '')
-env.append('RUSTC_TARGET_ARCH', '')
+env.set('_defaultCARGO', cargo.full_path())
+env.set('SYSCONFDIR', conf.get('SYSCONFDIR'))
+env.set('builddir', '.')
+env.set('generatedheadersdir', meson.current_build_dir() + '/..')
+env.set('srcdir', meson.current_source_dir())
+# The two calls below set the env var to an empty string if it does not exist already and leave it alone otherwise
+env.append('RUST_TARGET', '', separator: '')
+env.append('RUSTC_TARGET_ARCH', '', separator: '')
 
 lib_dnsdist_rust = custom_target('libdnsdist_rust.a',
   output: [outfile, 'cxx.h'],
index 965bb559ab8bc4b26aa8cc199f140b7d8a956dc7..294f5ce7111026b3e0491f7fa3310a2f3a596efe 100755 (executable)
@@ -1,5 +1,7 @@
 #!/bin/sh -e
 
+export CARGO="${CARGO:-$_defaultCARGO}"
+
 #echo "PWD=$PWD"
 #echo "srcdir=$srcdir"
 #echo "builddir=$builddir"
index f58afa86c55e297e0446faa4d12fd26e399cf83c..0ca0c80a2ebdbb7e20d680d0e773c76a95da7f4f 100644 (file)
@@ -6,14 +6,15 @@ outfile = 'librecrust.a'
 
 
 env = environment()
-env.append('CARGO', cargo.full_path())
-env.append('SYSCONFDIR', conf.get('SYSCONFDIR').strip('"'))
-env.append('NODCACHEDIRNOD', conf.get('NODCACHEDIRNOD').strip('"'))
-env.append('NODCACHEDIRUDR', conf.get('NODCACHEDIRUDR').strip('"'))
-env.append('builddir', '.')
-env.append('srcdir', meson.current_source_dir())
-env.append('RUST_TARGET', '')
-env.append('RUSTC_TARGET_ARCH', '')
+env.set('_defaultCARGO', cargo.full_path())
+env.set('SYSCONFDIR', conf.get('SYSCONFDIR').strip('"'))
+env.set('NODCACHEDIRNOD', conf.get('NODCACHEDIRNOD').strip('"'))
+env.set('NODCACHEDIRUDR', conf.get('NODCACHEDIRUDR').strip('"'))
+env.set('builddir', '.')
+env.set('srcdir', meson.current_source_dir())
+# The two calls below set the env var to the empty string if it does not exist already and leave it alone otherwise
+env.append('RUST_TARGET', '', separator: '')
+env.append('RUSTC_TARGET_ARCH', '', separator: '')
 
 lib_recrust = custom_target('librecrust.a',
   output: [outfile, 'cxx.h', 'lib.rs.h', 'misc.rs.h', 'web.rs.h'],