Waf rebuilding issue with python3
Andrew Bartlett
abartlet at samba.org
Thu Dec 13 00:48:16 UTC 2018
On Wed, 2018-12-12 at 18:58 +0100, Stefan Metzmacher wrote:
>
> Maybe there're some ordering/sorting differences between
> python2 and python3. Or is somehow uses a different
> hashing algorithm.
>
> metze
Yes, that is it, the per-exec seed for the hash function used to avoid
hash attacks on production servers. Attached is a workaround I've
pushed to autobuild while someone finds the rouge hash.
Andrew Bartlett
--
Andrew Bartlett
https://samba.org/~abartlet/
Authentication Developer, Samba Team https://samba.org
Samba Development and Support, Catalyst IT
https://catalyst.net.nz/services/samba
-------------- next part --------------
From 3ceefd584d21260c0bd3d650ec2b97fcb1691fba Mon Sep 17 00:00:00 2001
From: Andrew Bartlett <abartlet at samba.org>
Date: Thu, 13 Dec 2018 13:06:48 +1300
Subject: [PATCH] build: Workaround python3 hash order issues (for now)
This works around python3 having a new hash seed each time it starts to allow
a second "make" not to rebuild the world.
This should probably be reverted once we find the hash that is causing
the issue, but should reduce frustration for now.
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
---
Makefile | 2 +-
lib/ldb/Makefile | 2 +-
lib/replace/Makefile | 2 +-
lib/talloc/Makefile | 2 +-
lib/tdb/Makefile | 2 +-
lib/tevent/Makefile | 2 +-
6 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/Makefile b/Makefile
index 4290986a939..c13843d3a4b 100644
--- a/Makefile
+++ b/Makefile
@@ -2,7 +2,7 @@
PYTHON?=python3
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/lib/ldb/Makefile b/lib/ldb/Makefile
index 75517a774d3..0ac14aae74e 100644
--- a/lib/ldb/Makefile
+++ b/lib/ldb/Makefile
@@ -2,7 +2,7 @@
PYTHON?=python3
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/lib/replace/Makefile b/lib/replace/Makefile
index 923605f9a13..3e54a16927c 100644
--- a/lib/replace/Makefile
+++ b/lib/replace/Makefile
@@ -2,7 +2,7 @@
PYTHON?=python3
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/lib/talloc/Makefile b/lib/talloc/Makefile
index b8e6d6ca288..7cfac0cafc9 100644
--- a/lib/talloc/Makefile
+++ b/lib/talloc/Makefile
@@ -2,7 +2,7 @@
PYTHON?=python3
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/lib/tdb/Makefile b/lib/tdb/Makefile
index 9066e5ba03e..0f088ea2231 100644
--- a/lib/tdb/Makefile
+++ b/lib/tdb/Makefile
@@ -2,7 +2,7 @@
PYTHON?=python3
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/lib/tevent/Makefile b/lib/tevent/Makefile
index 8bbf3cdbab7..989f4b9845c 100644
--- a/lib/tevent/Makefile
+++ b/lib/tevent/Makefile
@@ -1,7 +1,7 @@
# simple makefile wrapper to run waf
PYTHON?=python3
WAF_BINARY=$(PYTHON) ../../buildtools/bin/waf
-WAF=WAF_MAKE=1 $(WAF_BINARY)
+WAF=PYTHONHASHSEED=1 WAF_MAKE=1 $(WAF_BINARY)
all:
$(WAF) build
--
2.11.0
More information about the samba-technical
mailing list