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
|
||||
|
||||
|
3
lv2.spec
3
lv2.spec
@ -34,6 +34,8 @@ Source0: http://lv2plug.in/spec/lv2-%{version}.tar.bz2
|
||||
Source1: lv2-rpmlintrc
|
||||
# Patch-Fix-Upstream lv2pkgconfig.patch davejplater@gmail.com -- Add "/" to end of -I directory because otherwise pkg-config outputs nothing.
|
||||
Patch0: lv2pkgconfig.patch
|
||||
# Patch-Fix-Upstream reproducible.patch bmwiedemann
|
||||
Patch1: reproducible.patch
|
||||
BuildRequires: pkg-config
|
||||
BuildRequires: python-rdflib
|
||||
BuildRequires: pkgconfig(gtk+-2.0) >= 2.18.0
|
||||
@ -168,6 +170,7 @@ This package contains the LV2 API documentation.
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0
|
||||
%patch1 -p1
|
||||
|
||||
%build
|
||||
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