summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBernhard M. Wiedemann <bwiedemann@suse.de>2018-03-24 19:47:21 (GMT)
committerTobias Markmann <tm@ayena.de>2018-05-29 12:47:03 (GMT)
commitf0e4635dfda897e1b4ab7ce2f8ebd2e97f1714f3 (patch)
treea8cadb5f82dab9f129c6219067a39a81bb2dc5e9 /BuildTools/SCons
parentccb69544950110bc1d738162ed008444340ee0aa (diff)
downloadswift-f0e4635dfda897e1b4ab7ce2f8ebd2e97f1714f3.zip
swift-f0e4635dfda897e1b4ab7ce2f8ebd2e97f1714f3.tar.bz2
Sort input file list
so that the swift-im openSUSE package builds in a reproducible way in spite of indeterministic filesystem readdir order See https://reproducible-builds.org/ for why this is good. License: This patch is BSD licensed - see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Builds on different machines should no longer have differences in Swiften.h Change-Id: I8066a66db83c7d7ff10858196cb72b13af3f6008
Diffstat (limited to 'BuildTools/SCons')
-rw-r--r--BuildTools/SCons/SConstruct6
1 files changed, 4 insertions, 2 deletions
diff --git a/BuildTools/SCons/SConstruct b/BuildTools/SCons/SConstruct
index 70bffbc..55b604b 100644
--- a/BuildTools/SCons/SConstruct
+++ b/BuildTools/SCons/SConstruct
@@ -707,6 +707,8 @@ if ARGUMENTS.get("replace_pragma_once", False) :
return path[i+1:]
for actual_root, dirs, files in os.walk(root) :
+ dirs.sort()
+ files.sort()
if "3rdParty" in actual_root :
continue
for file in files :
@@ -733,14 +735,14 @@ if ARGUMENTS.get("dump_trace", False) :
# Modules
modules = []
if os.path.isdir(Dir("#/3rdParty").abspath) :
- for dir in os.listdir(Dir("#/3rdParty").abspath) :
+ for dir in sorted(os.listdir(Dir("#/3rdParty").abspath)) :
full_dir = os.path.join(Dir("#/3rdParty").abspath, dir)
if not os.path.isdir(full_dir) :
continue
sconscript = os.path.join(full_dir, "SConscript")
if os.path.isfile(sconscript) :
modules.append("3rdParty/" + dir)
-for dir in os.listdir(Dir("#").abspath) :
+for dir in sorted(os.listdir(Dir("#").abspath)) :
full_dir = os.path.join(Dir("#").abspath, dir)
if not os.path.isdir(full_dir) :
continue