diff --git a/libpgm-5.2.122-reproducible.patch b/libpgm-5.2.122-reproducible.patch new file mode 100644 index 0000000..96464f9 --- /dev/null +++ b/libpgm-5.2.122-reproducible.patch @@ -0,0 +1,27 @@ +commit f4debdce3de8da1bd401d8542c5acbfaa0982b76 +Author: Bernhard M. Wiedemann +Date: Wed Jan 25 03:52:14 2017 +0000 + + allow to override build date + + to enable reproducible builds. + See https://reproducible-builds.org/ for why this is good + and https://reproducible-builds.org/specs/source-date-epoch/ + for the definition of this variable. + +Index: pgm/version_generator.py +=================================================================== +--- pgm.orig/version_generator.py ++++ pgm/version_generator.py +@@ -4,8 +4,9 @@ import os + import platform + import time + +-build_date = time.strftime ("%Y-%m-%d") +-build_time = time.strftime ("%H:%M:%S") ++timestamp = time.gmtime(int(os.environ.get('SOURCE_DATE_EPOCH', time.time()))) ++build_date = time.strftime ("%Y-%m-%d", timestamp) ++build_time = time.strftime ("%H:%M:%S", timestamp) + build_rev = filter (str.isdigit, "$Revision$") + + print """ diff --git a/libpgm-5.2.122.tar.bz2 b/libpgm-5.2.122.tar.bz2 deleted file mode 100644 index 3e97ca5..0000000 --- a/libpgm-5.2.122.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2f6fcdad7fcf08368bce100db2598abdd57cb1e55869df68c0032a12ffe86d93 -size 821143 diff --git a/openpgm-release-5-2-122.tar.gz b/openpgm-release-5-2-122.tar.gz new file mode 100644 index 0000000..a90b93d --- /dev/null +++ b/openpgm-release-5-2-122.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:acc1545fd8060aa66b17327110e2859e451cfc685ebd3b2211619728e3471b66 +size 583469 diff --git a/openpgm.changes b/openpgm.changes index d7f2f88..eab5567 100644 --- a/openpgm.changes +++ b/openpgm.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Oct 6 13:22:06 UTC 2017 - bwiedemann@suse.com + +- Add libpgm-5.2.122-reproducible.patch to make build reproducible + (boo#1047218) + ------------------------------------------------------------------- Tue Feb 3 14:11:33 UTC 2015 - jengelh@inai.de diff --git a/openpgm.spec b/openpgm.spec index 442a0ea..7f9ea95 100644 --- a/openpgm.spec +++ b/openpgm.spec @@ -1,5 +1,8 @@ # vim: set sw=4 ts=4 et nu: - +# +# spec file for package openpgm +# +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2012 Pascal Bleser # # All modifications and additions to the file contributed by third parties @@ -11,27 +14,37 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + # Please submit bugfixes or comments via http://bugs.opensuse.org/ %define major 5.2 %define mpkg 5_2 %define soname 0 +%define tarball_version 5-2-122 %define libname libpgm-%{mpkg}-%{soname} -Name: openpgm -Version: 5.2.122 -Release: 0 -Summary: OpenPGM implementation of the Reliable Multicast Protocol -URL: https://code.google.com/p/openpgm/ -Group: Development/Libraries/C and C++ -License: LGPL-2.1+ -Source: https://openpgm.googlecode.com/files/libpgm-%{version}.tar.bz2 -BuildRoot: %{_tmppath}/build-%{name}-%{version} -BuildRequires: python-devel -BuildRequires: gcc-c++ -BuildRequires: make -BuildRequires: glibc-devel -BuildRequires: pkg-config +Name: openpgm +Version: 5.2.122 +Release: 0 +Summary: OpenPGM implementation of the Reliable Multicast Protocol +License: LGPL-2.1+ +Group: Development/Libraries/C and C++ +Url: https://github.com/steve-o/openpgm +Source: https://github.com/steve-o/openpgm/archive/release-5-2-122.tar.gz#/openpgm-release-%{tarball_version}.tar.gz +# PATCH-FIX-UPSTREAM bmwiedemann https://github.com/steve-o/openpgm/pull/48 +Patch0: libpgm-5.2.122-reproducible.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: gcc-c++ +BuildRequires: glibc-devel +BuildRequires: libtool +BuildRequires: make +BuildRequires: pkg-config +BuildRequires: python-devel %description OpenPGM is an implementation of the Pragmatic General Multicast (PGM) @@ -40,8 +53,8 @@ that enables receivers to detect loss, request retransmission of lost data, or notify an application of unrecoverable loss. %package -n %{libname} -Summary: PGM Reliable Multicast Protocol library -Group: System/Libraries +Summary: PGM Reliable Multicast Protocol library +Group: System/Libraries %description -n %{libname} OpenPGM is an implementation of the Pragmatic General Multicast (PGM) @@ -50,9 +63,9 @@ that enables receivers to detect loss, request retransmission of lost data, or notify an application of unrecoverable loss. %package devel -Summary: Development files for the OpenPGM Reliable Multicast Protocol library -Group: Development/Libraries/C and C++ -Requires: %{libname} = %{version} +Summary: Development files for the OpenPGM Reliable Multicast Protocol library +Group: Development/Libraries/C and C++ +Requires: %{libname} = %{version} %description devel OpenPGM is an implementation of the Pragmatic General Multicast (PGM) @@ -63,9 +76,11 @@ notify an application of unrecoverable loss. This subpackage contains the header files for OpenPGM. %prep -%setup -q -n "libpgm-%{version}/openpgm/pgm" +%setup -q -n "%{name}-release-%{tarball_version}/openpgm/pgm" +%patch0 -p1 %build +autoreconf -fi %{configure} \ --disable-static