sort input files
authorBernhard M. Wiedemann <bwiedemann@suse.de>
Mon, 5 Jun 2017 19:37:38 +0000 (21:37 +0200)
committerA. Maitland Bottoms <bottoms@debian.org>
Wed, 28 Mar 2018 01:54:29 +0000 (02:54 +0100)
when building packages (e.g. for openSUSE Linux)
(random) filesystem order of input files
influences ordering of entries in the output,
thus without the patch, builds (in disposable VMs) would usually differ.

See https://reproducible-builds.org/ for why this matters.

Gbp-Pq: Name sort-input-files

gen/volk_kernel_defs.py
python/volk_modtool/volk_modtool_generate.py

index f246db0f961546a05f1f1b616a7661d0a9ca6bf1..6ac4f15f650b31f33ba2f8c9ddea411379eb3557 100644 (file)
@@ -202,7 +202,7 @@ class kernel_class:
 ########################################################################
 __file__ = os.path.abspath(__file__)
 srcdir = os.path.dirname(os.path.dirname(__file__))
-kernel_files = glob.glob(os.path.join(srcdir, "kernels", "volk", "*.h"))
+kernel_files = sorted(glob.glob(os.path.join(srcdir, "kernels", "volk", "*.h")))
 kernels = map(kernel_class, kernel_files)
 
 if __name__ == '__main__':
index 75232ed41761a64be6dd9c55594e5ff840a271d1..8ad838910d86f471911bb715ce0e0be91ca40db7 100644 (file)
@@ -58,10 +58,10 @@ class volk_modtool:
         else:
             name = self.get_basename(base)
         if name == '':
-            hdr_files = glob.glob(os.path.join(base, "kernels/volk/*.h"))
+            hdr_files = sorted(glob.glob(os.path.join(base, "kernels/volk/*.h")))
             begins = re.compile("(?<=volk_).*")
         else:
-            hdr_files = glob.glob(os.path.join(base, "kernels/volk_" + name + "/*.h"))
+            hdr_files = sorted(glob.glob(os.path.join(base, "kernels/volk_" + name + "/*.h")))
             begins = re.compile("(?<=volk_" + name + "_).*")
 
         datatypes = []
@@ -156,7 +156,7 @@ class volk_modtool:
         open(dest, 'w+').write(outstring)
 
         # copy orc proto-kernels if they exist
-        for orcfile in glob.glob(inpath + '/kernels/volk/asm/orc/' + top + name + '*.orc'):
+        for orcfile in sorted(glob.glob(inpath + '/kernels/volk/asm/orc/' + top + name + '*.orc')):
             if os.path.isfile(orcfile):
                 instring = open(orcfile, 'r').read()
                 outstring = re.sub(oldvolk, 'volk_' + self.my_dict['name'], instring)