diff --git a/reproducible-debuginfo.patch b/reproducible-debuginfo.patch new file mode 100644 index 0000000..58de531 --- /dev/null +++ b/reproducible-debuginfo.patch @@ -0,0 +1,27 @@ +commit 5b29a1d4b1d25a16c24c2365980ac5fd847e1aa6 +Author: Bernhard M. Wiedemann +Date: Mon Jul 30 19:02:46 2018 +0200 + + find-debuginfo.sh: sort output of find + + to make build results more reproducible + in spite of indeterministic filesystem readdir order. + + For openSUSE, this helped to make squid, openssh, postfix and shadow + packages build reproducibly. + + See https://reproducible-builds.org/ for why this is good. + +diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh +index 44d164299..11397b7e8 100755 +--- scripts/find-debuginfo.sh ++++ scripts/find-debuginfo.sh +@@ -487,7 +487,7 @@ fi + # Invoke the DWARF Compressor utility. + if $run_dwz \ + && [ -d "${RPM_BUILD_ROOT}/usr/lib/debug" ]; then +- readarray dwz_files < <(cd "${RPM_BUILD_ROOT}/usr/lib/debug"; find -type f -name \*.debug) ++ readarray dwz_files < <(cd "${RPM_BUILD_ROOT}/usr/lib/debug"; find -type f -name \*.debug | LC_ALL=C sort) + if [ ${#dwz_files[@]} -gt 0 ]; then + dwz_multifile_name="${RPM_PACKAGE_NAME}-${RPM_PACKAGE_VERSION}-${RPM_PACKAGE_RELEASE}.${RPM_ARCH}" + dwz_multifile_suffix= diff --git a/rpm.changes b/rpm.changes index 390db45..aa3fae0 100644 --- a/rpm.changes +++ b/rpm.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Aug 8 05:12:24 UTC 2018 - bwiedemann@suse.com + +- Add reproducible-debuginfo.patch to generate debuginfo + in a reproducible way + ------------------------------------------------------------------- Fri Jul 20 13:15:28 CEST 2018 - mls@suse.de diff --git a/rpm.spec b/rpm.spec index fe7976d..782b628 100644 --- a/rpm.spec +++ b/rpm.spec @@ -121,6 +121,8 @@ Patch93: weakdepscompat.diff Patch94: checksepwarn.diff Patch99: enable-postin-scripts-error.diff Patch100: rpm-findlang-inject-metainfo.patch +# https://github.com/rpm-software-management/rpm/pull/485 +Patch101: reproducible-debuginfo.patch Patch102: emptymanifest.diff Patch103: find-lang-qt-qm.patch Patch108: debugedit-macro.diff @@ -228,7 +230,7 @@ rm -f rpmdb/db.h %patch -P 70 -P 71 -P 73 -P 74 -P 75 -P 77 -P 78 %patch -P 85 %patch -P 93 -P 94 -P 99 -%patch -P 100 -P 102 -P 103 -P 108 +%patch -P 100 -P 101 -P 102 -P 103 -P 108 %patch -P 109 -P 111 -P 112 -P 113 -P 114 -P 115 -P 116 -P 117 %ifarch aarch64 ppc64le riscv64