diff --git a/lirc.changes b/lirc.changes index 037dc37..5d5d086 100644 --- a/lirc.changes +++ b/lirc.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Sun Nov 18 04:44:21 UTC 2018 - Bernhard Wiedemann + +- Add reproducible.patch to drop build date, kernel version, + sort python glob to make build reproducible (boo#1047218, boo#1101107) + ------------------------------------------------------------------- Tue Oct 30 07:53:39 UTC 2018 - Luigi Baldoni diff --git a/lirc.spec b/lirc.spec index 0b4ef5c..074575a 100644 --- a/lirc.spec +++ b/lirc.spec @@ -29,6 +29,7 @@ Group: Hardware/Other URL: http://www.lirc.org/ Source0: https://downloads.sourceforge.net/project/lirc/LIRC/%{version}/lirc-%{version}.tar.bz2 Source1: baselibs.conf +Patch0: reproducible.patch BuildRequires: doxygen BuildRequires: fdupes BuildRequires: gcc-c++ @@ -187,6 +188,7 @@ Some seldom used X11-based tools for debugging lirc configurations. %prep %setup -q +%patch0 -p1 # Don't provide or require anything from _docdir, per policy. %global __provides_exclude_from ^%{_docdir}/.*$ %global __requires_exclude_from ^%{_docdir}/.*$ diff --git a/reproducible.patch b/reproducible.patch new file mode 100644 index 0000000..7749610 --- /dev/null +++ b/reproducible.patch @@ -0,0 +1,70 @@ +https://sourceforge.net/p/lirc/tickets/301/ +https://sourceforge.net/p/lirc/git/merge-requests/33/ +https://sourceforge.net/p/lirc/git/merge-requests/34/ +https://sourceforge.net/p/lirc/git/merge-requests/36/ + +Index: lirc-0.10.1/tools/lirc-lsplugins.cpp +=================================================================== +--- lirc-0.10.1.orig/tools/lirc-lsplugins.cpp ++++ lirc-0.10.1/tools/lirc-lsplugins.cpp +@@ -415,10 +415,9 @@ static void print_header(void) + static void print_yaml_header(void) + { + static const char* const YAML_HEADER = +- "#\n# Generated by lirc-lsplugins --yaml (%s) at %s#\n "; +- const time_t now = time(NULL); ++ "#\n# Generated by lirc-lsplugins --yaml (%s)#\n "; + +- printf(YAML_HEADER, VERSION, ctime(&now)); ++ printf(YAML_HEADER, VERSION); + printf("\ndrivers:\n"); + } + +Index: lirc-0.10.1/python-pkg/lirc/database.py +=================================================================== +--- lirc-0.10.1.orig/python-pkg/lirc/database.py ++++ lirc-0.10.1/python-pkg/lirc/database.py +@@ -156,7 +156,7 @@ class Database(object): + d['device_hint'] = hint + + configs = {} +- for path in glob.glob(configdir + '/*.conf'): ++ for path in sorted(glob.glob(configdir + '/*.conf')): + with open(path) as f: + cf = yaml.load(f.read()) + configs[cf['config']['id']] = cf['config'] +Index: lirc-0.10.1/tools/irdb-get +=================================================================== +--- lirc-0.10.1.orig/tools/irdb-get ++++ lirc-0.10.1/tools/irdb-get +@@ -9,7 +9,6 @@ import fnmatch + import os + import os.path + import sys +-import time + import urllib.error # pylint: disable=no-name-in-module,F0401,E0611 + import urllib.request # pylint: disable=no-name-in-module,F0401,E0611 + +@@ -193,7 +192,7 @@ def do_yaml_config(): + lircmd_by_driver[driver].append("%s/%s" % (tokens[0], tokens[2])) + + print("#") +- print("# Created by 'irdb-get yaml-config' at " + time.ctime()) ++ print("# Created by 'irdb-get yaml-config'") + print("#") + print("\nlircd_by_driver:") + print_yaml_dict(lircd_by_driver) +Index: lirc-0.10.1/tools/lirc-make-devinput +=================================================================== +--- lirc-0.10.1.orig/tools/lirc-make-devinput ++++ lirc-0.10.1/tools/lirc-make-devinput +@@ -61,8 +61,7 @@ if test -n "$lirc_map"; then + fi + + +-echo "# Generated by $(basename $0) on $(uname -r)" +-echo "# Date: $(date)" ++echo "# Generated by $(basename $0)" + cat <