[SCM] Samba Shared Repository - branch master updated
Andrew Bartlett
abartlet at samba.org
Tue Mar 29 23:32:01 UTC 2022
The branch, master has been updated
via 420bbb1d92f wafsamba: require PYTHONHASHSEED=1 to be exported
via aa02cf3c444 ctdb/packaging/RPM: don't use waf directly
via 22c46d9f418 configure/Makefile: export PYTHONHASHSEED=1 in all 'configure/Makefile' scripts
via a6b1e4b5766 wafsamba: let test_duplicate_symbol.sh export PYTHONHASHSEED=1
via 0be4f567233 s4:selftest/provisions: make use of 'make testenv' and avoid direct waf
via 10d69da1d34 lib/fuzzing/README.md: don't use waf directly
via 42eeed05f1a buildtools: remove unused testwaf.sh
from 825dcc6a13d smbd: Don't NULL out "::$DATA"
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 420bbb1d92fd2a28725b53f425ba3d214831b660
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Mar 28 13:00:03 2022 +0200
wafsamba: require PYTHONHASHSEED=1 to be exported
This avoids a lot of trouble with random build failures,
if people try to use waf directly.
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Autobuild-User(master): Andrew Bartlett <abartlet at samba.org>
Autobuild-Date(master): Tue Mar 29 23:31:38 UTC 2022 on sn-devel-184
commit aa02cf3c4449cb0a22da8f359f0b3edc4f1d9bb7
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Mar 28 12:38:36 2022 +0200
ctdb/packaging/RPM: don't use waf directly
./configure && make && make install is will always work.
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit 22c46d9f41876d9ec7187148e658d1692bf37cdd
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Mar 28 12:59:12 2022 +0200
configure/Makefile: export PYTHONHASHSEED=1 in all 'configure/Makefile' scripts
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit a6b1e4b5766205b7337e0e4b00944184289bfc36
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Mar 28 12:50:55 2022 +0200
wafsamba: let test_duplicate_symbol.sh export PYTHONHASHSEED=1
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit 0be4f5672338802042b06308c5cf0ea04bcaf48e
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Mar 28 12:49:50 2022 +0200
s4:selftest/provisions: make use of 'make testenv' and avoid direct waf
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit 10d69da1d34b2b11920d9bf051f5a26dbbcadf02
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Mar 28 12:49:24 2022 +0200
lib/fuzzing/README.md: don't use waf directly
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit 42eeed05f1aed10b48f7008a18e47cf15ac2c010
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Mar 28 12:38:02 2022 +0200
buildtools: remove unused testwaf.sh
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
-----------------------------------------------------------------------
Summary of changes:
buildtools/scripts/Makefile.waf | 4 +-
buildtools/scripts/configure.waf | 11 +++-
buildtools/testwaf.sh | 70 ----------------------
buildtools/wafsamba/test_duplicate_symbol.sh | 3 +
buildtools/wafsamba/wscript | 4 ++
configure | 4 ++
ctdb/Makefile | 2 +-
ctdb/configure | 7 +++
ctdb/packaging/RPM/ctdb.spec.in | 6 +-
lib/fuzzing/README.md | 12 ++--
lib/ldb/configure | 7 +++
lib/replace/configure | 7 +++
lib/talloc/configure | 7 +++
lib/tdb/configure | 7 +++
lib/tevent/configure | 7 +++
.../release-4-1-0rc3/steps-to-reproduce.txt | 2 +-
16 files changed, 75 insertions(+), 85 deletions(-)
delete mode 100755 buildtools/testwaf.sh
Changeset truncated at 500 lines:
diff --git a/buildtools/scripts/Makefile.waf b/buildtools/scripts/Makefile.waf
index 5fc939c99e0..a15a5f87607 100644
--- a/buildtools/scripts/Makefile.waf
+++ b/buildtools/scripts/Makefile.waf
@@ -1,7 +1,7 @@
# simple makefile wrapper to run waf
-WAF_BINARY=BUILDTOOLS/bin/waf
-WAF=WAF_MAKE=1 $(WAF_BINARY)
+WAF_BINARY=$(PYTHON) BUILDTOOLS/bin/waf
+WAF=PYTHONHASHSEED=1 WAF_MAKE=1 $(WAF_BINARY)
all:
$(WAF) build
diff --git a/buildtools/scripts/configure.waf b/buildtools/scripts/configure.waf
index a7d8d1dbd64..ccb62849a54 100755
--- a/buildtools/scripts/configure.waf
+++ b/buildtools/scripts/configure.waf
@@ -1,6 +1,6 @@
#!/bin/sh
-PREVPATH=`dirname $0`
+PREVPATH=$(dirname $0)
WAF=BUILDTOOLS/bin/waf
@@ -9,6 +9,13 @@ WAF=BUILDTOOLS/bin/waf
JOBS=1
export JOBS
+# Make sure we don't have any library preloaded.
+unset LD_PRELOAD
+
+# Make sure we get stable hashes
+PYTHONHASHSEED=1
+export PYTHONHASHSEED
+
cd BUILDPATH || exit 1
-$WAF configure "$@" || exit 1
+$PYTHON $WAF configure "$@" || exit 1
cd $PREVPATH
diff --git a/buildtools/testwaf.sh b/buildtools/testwaf.sh
deleted file mode 100755
index 3e8e6431c78..00000000000
--- a/buildtools/testwaf.sh
+++ /dev/null
@@ -1,70 +0,0 @@
-#!/bin/bash
-
-set -e
-set -x
-
-d=$(dirname $0)
-
-cd $d/..
-PREFIX=$HOME/testprefix
-
-if [ $# -gt 0 ]; then
- tests="$*"
-else
- tests="lib/replace lib/talloc lib/tevent lib/tdb lib/ldb"
-fi
-
-echo "testing in dirs $tests"
-
-for d in $tests; do
- echo "$(date): testing $d"
- pushd $d
- rm -rf bin
- type waf
- waf dist
- ./configure -C --enable-developer --prefix=$PREFIX
- time make
- make install
- make distcheck
- case $d in
- "lib/ldb")
- ldd bin/ldbadd
- ;;
- "lib/replace")
- ldd bin/replace_testsuite
- ;;
- "lib/talloc")
- ldd bin/talloc_testsuite
- ;;
- "lib/tdb")
- ldd bin/tdbtool
- ;;
- esac
- popd
-done
-
-echo "testing python portability"
-pushd lib/talloc
-versions="python2.4 python2.5 python2.6 python3.0 python3.1"
-for p in $versions; do
- ret=$(which $p || echo "failed")
- if [ $ret = "failed" ]; then
- echo "$p not found, skipping"
- continue
- fi
- echo "Testing $p"
- $p ../../buildtools/bin/waf configure -C --enable-developer --prefix=$PREFIX
- $p ../../buildtools/bin/waf build install
-done
-popd
-
-echo "testing cross compiling"
-pushd lib/talloc
-ret=$(which arm-linux-gnueabi-gcc || echo "failed")
-if [ $ret != "failed" ]; then
- CC=arm-linux-gnueabi-gcc ./configure -C --prefix=$PREFIX --cross-compile --cross-execute='runarm'
- make && make install
-else
- echo "Cross-compiler not installed, skipping test"
-fi
-popd
diff --git a/buildtools/wafsamba/test_duplicate_symbol.sh b/buildtools/wafsamba/test_duplicate_symbol.sh
index 46f44a67dcf..dffac757002 100755
--- a/buildtools/wafsamba/test_duplicate_symbol.sh
+++ b/buildtools/wafsamba/test_duplicate_symbol.sh
@@ -5,6 +5,9 @@
subunit_start_test duplicate_symbols
+PYTHONHASHSEED=1
+export PYTHONHASHSEED
+
if $PYTHON ./buildtools/bin/waf build --dup-symbol-check; then
subunit_pass_test duplicate_symbols
else
diff --git a/buildtools/wafsamba/wscript b/buildtools/wafsamba/wscript
index a4d6f3e5c49..8729b0829da 100644
--- a/buildtools/wafsamba/wscript
+++ b/buildtools/wafsamba/wscript
@@ -8,6 +8,10 @@ import wafsamba
from samba_utils import symlink
from optparse import SUPPRESS_HELP
+phs = os.environ.get("PYTHONHASHSEED", None)
+if phs != "1":
+ raise Errors.WafError('''PYTHONHASHSEED=1 missing! Don't use waf directly, use ./configure and make!''')
+
# this forces configure to be re-run if any of the configure
# sections of the build scripts change. We have to check
# for this in sys.argv as options have not yet been parsed when
diff --git a/configure b/configure
index 237d2306f79..ef80911d944 100755
--- a/configure
+++ b/configure
@@ -12,6 +12,10 @@ export JOBS
# Make sure we don't have any library preloaded.
unset LD_PRELOAD
+# Make sure we get stable hashes
+PYTHONHASHSEED=1
+export PYTHONHASHSEED
+
cd . || exit 1
$PYTHON $WAF configure "$@" || exit 1
cd $PREVPATH
diff --git a/ctdb/Makefile b/ctdb/Makefile
index ec362e29408..5dbc7acdc54 100644
--- a/ctdb/Makefile
+++ b/ctdb/Makefile
@@ -1,7 +1,7 @@
# simple makefile wrapper to run waf
WAF_BINARY=$(PYTHON) ../buildtools/bin/waf
-WAF=WAF_MAKE=1 $(WAF_BINARY)
+WAF=PYTHONHASHSEED=1 WAF_MAKE=1 $(WAF_BINARY)
all:
$(WAF) build
diff --git a/ctdb/configure b/ctdb/configure
index dbb0c1446b5..48b786b1612 100755
--- a/ctdb/configure
+++ b/ctdb/configure
@@ -10,6 +10,13 @@ WAF=buildtools/bin/waf
JOBS=1
export JOBS
+# Make sure we don't have any library preloaded.
+unset LD_PRELOAD
+
+# Make sure we get stable hashes
+PYTHONHASHSEED=1
+export PYTHONHASHSEED
+
cd . || exit 1
$PYTHON $WAF configure "$@" || exit 1
cd $PREVPATH
diff --git a/ctdb/packaging/RPM/ctdb.spec.in b/ctdb/packaging/RPM/ctdb.spec.in
index 8fea8911ad2..46bced14334 100644
--- a/ctdb/packaging/RPM/ctdb.spec.in
+++ b/ctdb/packaging/RPM/ctdb.spec.in
@@ -88,7 +88,7 @@ fi
export CC
CFLAGS="$RPM_OPT_FLAGS $EXTRA -D_GNU_SOURCE" \
-$PYTHON ./buildtools/bin/waf configure \
+./configure \
--builtin-libraries=replace,popt \
--bundled-libraries=!talloc,!tevent,!tdb \
--minimum-library-version=talloc:%libtalloc_version,tdb:%libtdb_version,tevent:%libtevent_version \
@@ -103,7 +103,7 @@ $PYTHON ./buildtools/bin/waf configure \
--mandir=%{_mandir} \
--localstatedir=%{_localstatedir}
-$PYTHON ./buildtools/bin/waf build
+make -j
%install
# Clean up in case there is trash left from a previous build
@@ -112,7 +112,7 @@ rm -rf $RPM_BUILD_ROOT
# Create the target build directory hierarchy
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sudoers.d
-DESTDIR=$RPM_BUILD_ROOT $PYTHON ./buildtools/bin/waf install
+DESTDIR=$RPM_BUILD_ROOT make -j install
install -m644 config/ctdb.conf $RPM_BUILD_ROOT%{_sysconfdir}/ctdb
install -m644 config/ctdb.tunables $RPM_BUILD_ROOT%{_sysconfdir}/ctdb
diff --git a/lib/fuzzing/README.md b/lib/fuzzing/README.md
index 33d33b92390..d3e34bd79a3 100644
--- a/lib/fuzzing/README.md
+++ b/lib/fuzzing/README.md
@@ -17,9 +17,9 @@ Example command line to build binaries for use with
[honggfuzz](https://github.com/google/honggfuzz/):
```sh
-buildtools/bin/waf -C --without-gettext --enable-debug --enable-developer \
+./configure -C --without-gettext --enable-debug --enable-developer \
--address-sanitizer --enable-libfuzzer --abi-check-disable \
- CC=.../honggfuzz/hfuzz_cc/hfuzz-clang configure \
+ CC=.../honggfuzz/hfuzz_cc/hfuzz-clang \
LINK_CC=.../honggfuzz/hfuzz_cc/hfuzz-clang
```
@@ -30,7 +30,7 @@ Example for fuzzing `tiniparser` using `honggfuzz` (see `--help` for more
options):
```sh
-buildtools/bin/waf --targets=fuzz_tiniparser build && \
+make bin/fuzz_tiniparser && \
.../honggfuzz/honggfuzz --sanitizers --timeout 3 --max_file_size 256 \
--rlimit_rss 100 -f .../tiniparser-corpus -- bin/fuzz_tiniparser
```
@@ -43,9 +43,9 @@ Example command line to build binaries for use with
[afl](http://lcamtuf.coredump.cx/afl/)
```sh
-buildtools/bin/waf -C --without-gettext --enable-debug --enable-developer \
+./configure -C --without-gettext --enable-debug --enable-developer \
--enable-afl-fuzzer --abi-check-disable \
- CC=afl-gcc configure
+ CC=afl-gcc
```
## Fuzzing tiniparser
@@ -54,7 +54,7 @@ Example for fuzzing `tiniparser` using `afl-fuzz` (see `--help` for more
options):
```sh
-buildtools/bin/waf --targets=fuzz_tiniparser build && \
+make bin/fuzz_tiniparser build && \
afl-fuzz -m 200 -i inputdir -o outputdir -- bin/fuzz_tiniparser
```
diff --git a/lib/ldb/configure b/lib/ldb/configure
index 8979f07581b..2ed32403fd7 100755
--- a/lib/ldb/configure
+++ b/lib/ldb/configure
@@ -16,6 +16,13 @@ fi
JOBS=1
export JOBS
+# Make sure we don't have any library preloaded.
+unset LD_PRELOAD
+
+# Make sure we get stable hashes
+PYTHONHASHSEED=1
+export PYTHONHASHSEED
+
cd . || exit 1
$PYTHON $WAF configure "$@" || exit 1
cd $PREVPATH
diff --git a/lib/replace/configure b/lib/replace/configure
index d0ab6685fbe..af761854ef4 100755
--- a/lib/replace/configure
+++ b/lib/replace/configure
@@ -16,6 +16,13 @@ fi
JOBS=1
export JOBS
+# Make sure we don't have any library preloaded.
+unset LD_PRELOAD
+
+# Make sure we get stable hashes
+PYTHONHASHSEED=1
+export PYTHONHASHSEED
+
cd . || exit 1
$PYTHON $WAF configure "$@" || exit 1
cd $PREVPATH
diff --git a/lib/talloc/configure b/lib/talloc/configure
index d0ab6685fbe..af761854ef4 100755
--- a/lib/talloc/configure
+++ b/lib/talloc/configure
@@ -16,6 +16,13 @@ fi
JOBS=1
export JOBS
+# Make sure we don't have any library preloaded.
+unset LD_PRELOAD
+
+# Make sure we get stable hashes
+PYTHONHASHSEED=1
+export PYTHONHASHSEED
+
cd . || exit 1
$PYTHON $WAF configure "$@" || exit 1
cd $PREVPATH
diff --git a/lib/tdb/configure b/lib/tdb/configure
index d0ab6685fbe..af761854ef4 100755
--- a/lib/tdb/configure
+++ b/lib/tdb/configure
@@ -16,6 +16,13 @@ fi
JOBS=1
export JOBS
+# Make sure we don't have any library preloaded.
+unset LD_PRELOAD
+
+# Make sure we get stable hashes
+PYTHONHASHSEED=1
+export PYTHONHASHSEED
+
cd . || exit 1
$PYTHON $WAF configure "$@" || exit 1
cd $PREVPATH
diff --git a/lib/tevent/configure b/lib/tevent/configure
index 63e4a2a00b5..7b972bd0bc8 100755
--- a/lib/tevent/configure
+++ b/lib/tevent/configure
@@ -16,6 +16,13 @@ fi
JOBS=1
export JOBS
+# Make sure we don't have any library preloaded.
+unset LD_PRELOAD
+
+# Make sure we get stable hashes
+PYTHONHASHSEED=1
+export PYTHONHASHSEED
+
cd . || exit 1
$PYTHON $WAF configure "$@" || exit 1
cd $PREVPATH
diff --git a/source4/selftest/provisions/release-4-1-0rc3/steps-to-reproduce.txt b/source4/selftest/provisions/release-4-1-0rc3/steps-to-reproduce.txt
index fc0dfddf8ac..19466e252f6 100644
--- a/source4/selftest/provisions/release-4-1-0rc3/steps-to-reproduce.txt
+++ b/source4/selftest/provisions/release-4-1-0rc3/steps-to-reproduce.txt
@@ -6,7 +6,7 @@ patch -p1 < rename-domains.patch
# MASTER_SRC needs to point at where the schema files can be found, not the 4.1.0rc1 checkout
-SELFTEST_TESTENV=promoted_dc:local ./buildtools/bin/waf test --testenv
+SELFTEST_TESTENV=promoted_dc:local make testenv
# then in the testenv, run:
--
Samba Shared Repository
More information about the samba-cvs
mailing list