Accepting request 621773 from home:bmwiedemann:branches:multimedia:libs
Add reproducible.patch to make lv2 package build reproducible (boo#1047218) OBS-URL: https://build.opensuse.org/request/show/621773 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/lv2?expand=0&rev=22
This commit is contained in:
parent
c500e60b68
commit
df9b6c829c
@ -1,3 +1,8 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jul 9 19:36:47 UTC 2018 - bwiedemann@suse.com
|
||||||
|
|
||||||
|
- Add reproducible.patch to make lv2 package build reproducible (boo#1047218)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Mar 21 13:09:17 UTC 2018 - dimstar@opensuse.org
|
Wed Mar 21 13:09:17 UTC 2018 - dimstar@opensuse.org
|
||||||
|
|
||||||
|
3
lv2.spec
3
lv2.spec
@ -34,6 +34,8 @@ Source0: http://lv2plug.in/spec/lv2-%{version}.tar.bz2
|
|||||||
Source1: lv2-rpmlintrc
|
Source1: lv2-rpmlintrc
|
||||||
# Patch-Fix-Upstream lv2pkgconfig.patch davejplater@gmail.com -- Add "/" to end of -I directory because otherwise pkg-config outputs nothing.
|
# Patch-Fix-Upstream lv2pkgconfig.patch davejplater@gmail.com -- Add "/" to end of -I directory because otherwise pkg-config outputs nothing.
|
||||||
Patch0: lv2pkgconfig.patch
|
Patch0: lv2pkgconfig.patch
|
||||||
|
# Patch-Fix-Upstream reproducible.patch bmwiedemann
|
||||||
|
Patch1: reproducible.patch
|
||||||
BuildRequires: pkg-config
|
BuildRequires: pkg-config
|
||||||
BuildRequires: python-rdflib
|
BuildRequires: python-rdflib
|
||||||
BuildRequires: pkgconfig(gtk+-2.0) >= 2.18.0
|
BuildRequires: pkgconfig(gtk+-2.0) >= 2.18.0
|
||||||
@ -168,6 +170,7 @@ This package contains the LV2 API documentation.
|
|||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch0
|
%patch0
|
||||||
|
%patch1 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
export CFLAGS='%{optflags}'
|
export CFLAGS='%{optflags}'
|
||||||
|
109
reproducible.patch
Normal file
109
reproducible.patch
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
Author: Bernhard M. Wiedemann <bwiedemann suse de>
|
||||||
|
Date: 2018-04-16
|
||||||
|
|
||||||
|
https://github.com/drobilla/lv2/pull/21
|
||||||
|
https://github.com/drobilla/lv2/pull/22
|
||||||
|
|
||||||
|
make lv2 package build reproducible
|
||||||
|
|
||||||
|
Index: lv2-1.14.0/lv2specgen/lv2specgen.py
|
||||||
|
===================================================================
|
||||||
|
--- lv2-1.14.0.orig/lv2specgen/lv2specgen.py
|
||||||
|
+++ lv2-1.14.0/lv2specgen/lv2specgen.py
|
||||||
|
@@ -45,6 +45,7 @@ import optparse
|
||||||
|
import os
|
||||||
|
import re
|
||||||
|
import sys
|
||||||
|
+import time
|
||||||
|
import xml.sax.saxutils
|
||||||
|
import xml.dom
|
||||||
|
import xml.dom.minidom
|
||||||
|
@@ -113,7 +114,7 @@ def findStatements(model, s, p, o):
|
||||||
|
def findOne(m, s, p, o):
|
||||||
|
l = findStatements(m, s, p, o)
|
||||||
|
try:
|
||||||
|
- return l.next()
|
||||||
|
+ return sorted(l)[0]
|
||||||
|
except:
|
||||||
|
return None
|
||||||
|
|
||||||
|
@@ -396,7 +397,7 @@ def rdfsPropertyInfo(term, m):
|
||||||
|
domains = findStatements(m, term, rdfs.domain, None)
|
||||||
|
domainsdoc = ""
|
||||||
|
first = True
|
||||||
|
- for d in domains:
|
||||||
|
+ for d in sorted(domains):
|
||||||
|
union = findOne(m, getObject(d), owl.unionOf, None)
|
||||||
|
if union:
|
||||||
|
uris = parseCollection(m, getObject(union))
|
||||||
|
@@ -414,7 +415,7 @@ def rdfsPropertyInfo(term, m):
|
||||||
|
ranges = findStatements(m, term, rdfs.range, None)
|
||||||
|
rangesdoc = ""
|
||||||
|
first = True
|
||||||
|
- for r in ranges:
|
||||||
|
+ for r in sorted(ranges):
|
||||||
|
union = findOne(m, getObject(r), owl.unionOf, None)
|
||||||
|
if union:
|
||||||
|
uris = parseCollection(m, getObject(union))
|
||||||
|
@@ -477,13 +478,14 @@ def rdfsClassInfo(term, m):
|
||||||
|
restrictions.append(getSubject(meta_type))
|
||||||
|
|
||||||
|
if len(superclasses) > 0:
|
||||||
|
+ superclasses.sort()
|
||||||
|
doc += "\n<tr><th>Sub-class of</th>"
|
||||||
|
first = True
|
||||||
|
for superclass in superclasses:
|
||||||
|
doc += getProperty(getTermLink(superclass), first)
|
||||||
|
first = False
|
||||||
|
|
||||||
|
- for r in restrictions:
|
||||||
|
+ for r in sorted(restrictions):
|
||||||
|
props = findStatements(m, r, None, None)
|
||||||
|
onProp = None
|
||||||
|
comment = None
|
||||||
|
@@ -529,6 +531,7 @@ def rdfsClassInfo(term, m):
|
||||||
|
# Find out about properties which have rdfs:domain of t
|
||||||
|
d = classdomains.get(str(term), "")
|
||||||
|
if d:
|
||||||
|
+ d.sort()
|
||||||
|
dlist = ''
|
||||||
|
first = True
|
||||||
|
for k in d:
|
||||||
|
@@ -539,6 +542,7 @@ def rdfsClassInfo(term, m):
|
||||||
|
# Find out about properties which have rdfs:range of t
|
||||||
|
r = classranges.get(str(term), "")
|
||||||
|
if r:
|
||||||
|
+ r.sort()
|
||||||
|
rlist = ''
|
||||||
|
first = True
|
||||||
|
for k in r:
|
||||||
|
@@ -606,7 +610,7 @@ def rdfsInstanceInfo(term, m):
|
||||||
|
doc = ""
|
||||||
|
|
||||||
|
first = True
|
||||||
|
- for match in findStatements(m, term, rdf.type, None):
|
||||||
|
+ for match in sorted(findStatements(m, term, rdf.type, None)):
|
||||||
|
doc += getProperty(getTermLink(getObject(match),
|
||||||
|
term,
|
||||||
|
rdf.type),
|
||||||
|
@@ -942,7 +946,7 @@ def releaseChangeset(m, release, prefix=
|
||||||
|
|
||||||
|
entry = ''
|
||||||
|
#entry = '<dd><ul>\n'
|
||||||
|
- for i in findStatements(m, getObject(changeset), dcs.item, None):
|
||||||
|
+ for i in sorted(findStatements(m, getObject(changeset), dcs.item, None)):
|
||||||
|
item = getObject(i)
|
||||||
|
label = findOne(m, item, rdfs.label, None)
|
||||||
|
if not label:
|
||||||
|
@@ -1276,8 +1280,9 @@ def specgen(specloc, indir, style_uri, d
|
||||||
|
else:
|
||||||
|
template = template.replace('@COMMENT@', '')
|
||||||
|
|
||||||
|
- template = template.replace('@DATE@', datetime.datetime.utcnow().strftime('%F'))
|
||||||
|
- template = template.replace('@TIME@', datetime.datetime.utcnow().strftime('%F %H:%M UTC'))
|
||||||
|
+ build_date = datetime.datetime.utcfromtimestamp(int(os.environ.get('SOURCE_DATE_EPOCH', time.time())))
|
||||||
|
+ template = template.replace('@DATE@', build_date.strftime('%F'))
|
||||||
|
+ template = template.replace('@TIME@', build_date.strftime('%F %H:%M UTC'))
|
||||||
|
|
||||||
|
return template
|
||||||
|
|
Loading…
Reference in New Issue
Block a user