Accepting request 508201 from GNOME:Factory

Reproducible builds fix.

OBS-URL: https://build.opensuse.org/request/show/508201
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gtk-doc?expand=0&rev=35
This commit is contained in:
Dominique Leuenberger 2017-07-08 10:26:15 +00:00 committed by Git OBS Bridge
commit cdf6928f71
3 changed files with 89 additions and 1 deletions

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Thu Jun 29 08:14:06 UTC 2017 - bwiedemann@suse.com
- Add reproducible.patch to sort input file lists
to fix indeterminism in gstreamer and vte html docs (bgo#784177).
-------------------------------------------------------------------
Wed Jun 1 16:53:10 UTC 2016 - jengelh@inai.de

View File

@ -1,7 +1,7 @@
#
# spec file for package gtk-doc
#
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -24,6 +24,8 @@ License: GPL-2.0+
Group: Productivity/Publishing/SGML
Url: http://www.gtk.org/gtk-doc/
Source: http://download.gnome.org/sources/gtk-doc/1.25/%{name}-%{version}.tar.xz
# PATCH-FIX-UPSTREAM reproducible.patch bgo#784177 bwiedemann@suse.com -- Sort input file lists
Patch0: reproducible.patch
# When updating this package, please don't forget to update the gtk-doc.m4 Source
# in glib2.
BuildRequires: docbook-xsl-stylesheets
@ -56,6 +58,7 @@ generate the documentation for GLib, Gtk+, and GNOME.
%lang_package
%prep
%setup -q
%patch0 -p1
%build
%configure --disable-scrollkeeper

79
reproducible.patch Normal file
View File

@ -0,0 +1,79 @@
sort directory listings
because ordering matters in some places
when we want to generate reproducible results
to fix https://bugzilla.gnome.org/show_bug.cgi?id=784177
See also https://reproducible-builds.org/docs/stable-inputs/ on that topic
Index: gtk-doc-1.25/gtkdoc-scan.in
===================================================================
--- gtk-doc-1.25.orig/gtkdoc-scan.in
+++ gtk-doc-1.25/gtkdoc-scan.in
@@ -223,7 +223,7 @@ sub ScanHeaders {
opendir (SRCDIR, $source_dir)
|| die "Can't open source directory $source_dir: $!";
my $file;
- foreach $file (readdir (SRCDIR)) {
+ foreach $file (sort (readdir (SRCDIR))) {
if ($file eq '.' || $file eq '..' || $file =~ /^\./) {
next;
} elsif (-d "$source_dir/$file") {
Index: gtk-doc-1.25/gtkdoc-fixxref.in
===================================================================
--- gtk-doc-1.25.orig/gtkdoc-fixxref.in
+++ gtk-doc-1.25/gtkdoc-fixxref.in
@@ -204,7 +204,7 @@ sub ScanIndices {
opendir (HTMLDIR, $scan_dir) || return;
my $file;
- foreach $file (readdir (HTMLDIR)) {
+ foreach $file (sort (readdir (HTMLDIR))) {
if ($file eq '.' || $file eq '..') {
next;
} elsif (-d "$scan_dir/$file") {
@@ -323,7 +323,7 @@ sub FixCrossReferences {
opendir (HTMLDIR, $scan_dir)
|| die "Can't open HTML directory $scan_dir: $!";
my $file;
- foreach $file (readdir (HTMLDIR)) {
+ foreach $file (sort (readdir (HTMLDIR))) {
if ($file eq '.' || $file eq '..') {
next;
} elsif ($file =~ m/.html?$/) {
Index: gtk-doc-1.25/gtkdoc-mkdb.in
===================================================================
--- gtk-doc-1.25.orig/gtkdoc-mkdb.in
+++ gtk-doc-1.25/gtkdoc-mkdb.in
@@ -3900,7 +3900,7 @@ sub ReadSourceDocumentation {
opendir (SRCDIR, $source_dir)
|| die "Can't open source directory $source_dir: $!";
- foreach $file (readdir (SRCDIR)) {
+ foreach $file (sort (readdir (SRCDIR))) {
if ($file =~ /^\./) {
next;
} elsif (-d "$source_dir/$file") {
Index: gtk-doc-1.25/gtkdoc-rebase.in
===================================================================
--- gtk-doc-1.25.orig/gtkdoc-rebase.in
+++ gtk-doc-1.25/gtkdoc-rebase.in
@@ -157,7 +157,7 @@ sub ScanDirectory {
my $file;
my $onlinedir;
my $have_index = 0;
- foreach $file (readdir(HTMLDIR)) {
+ foreach $file (sort (readdir(HTMLDIR))) {
if ($file eq '.' or $file eq '..') {
next;
}
@@ -291,7 +291,7 @@ sub RebaseReferences {
my ($dir) = @_;
opendir(HTMLDIR, $dir) || die "Can't open HTML directory $dir: $!";
- foreach my $file (readdir(HTMLDIR)) {
+ foreach my $file (sort (readdir(HTMLDIR))) {
if ($file =~ m/\.html?$/) {
&RebaseFile("$dir$file");
}