[Reproducible-builds] Bug#791755: go-md2man: FTFBFS: src/github.com/russross/blackfriday/sanitize.go:6:2: code in directory /tmp/buildd/go-md2man-1.0.2/obj-x86_64-linux-gnu/src/code.google.com/p/go.ne
Source: go-md2man Version: 1.0.2-1 Severity: serious User: reproducible-builds@lists.alioth.debian.org Usertags: ftbfs Dear maintianer, you package FTBFS as follow in my pbuilder: debian/rules build dh build --buildsystem=golang --with=golang debian/rules override_dh_auto_build make[1]: Entering directory '/tmp/buildd/go-md2man-1.0.2' dh_auto_build cd obj-x86_64-linux-gnu go install -v github.com/cpuguy83/go-md2man github.com/cpuguy83/go-md2man/mangen src/github.com/russross/blackfriday/sanitize.go:6:2: code in directory /tmp/buildd/go-md2man-1.0.2/obj-x86_64-linux-gnu/src/code.google.com/p/go.net/html expects import "golang.org/x/net/html" dh_auto_build: go install -v github.com/cpuguy83/go-md2man github.com/cpuguy83/go-md2man/mangen returned exit code 1 debian/rules:13: recipe for target 'override_dh_auto_build' failed make[1]: *** [override_dh_auto_build] Error 1 make[1]: Leaving directory '/tmp/buildd/go-md2man-1.0.2' debian/rules:10: recipe for target 'build' failed make: *** [build] Error 2 dpkg-buildpackage: error: debian/rules build gave error exit status 2 Alternative (full) build log: https://reproducible.debian.net/rb-pkg/unstable/amd64/go-md2man.html -- regards, Mattia Rizzolo GPG Key: 66AE 2B4A FCCF 3F52 DA18 4D18 4B04 3FCD B944 4540 .''`. more about me: http://mapreri.org : :' : Launchpad user: https://launchpad.net/~mapreri `. `'` Debian QA page: https://qa.debian.org/developer.php?login=mattia `- signature.asc Description: Digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#791815: libxslt: please support timestamps from environment
Source: libxslt Version: 1.1.28-2 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: toolchain timestamps Hi! While working on the “reproducible builds” effort [1], we have noticed that libxslt embeds timestamps when generating documentation. We have a proposal for using a deterministic timestamp [2] (based on the latest debian/changelog entry) which is contained in the environment variable SOURCE_DATE_EPOCH (currently exported by debhelper in our experimental framework). The attached patch proposes a way to use this variable to get reproducible timestamps when generating docs, if the variable has been set (if not, it falls back to the old behavior). [1]: https://wiki.debian.org/ReproducibleBuilds [2]: https://wiki.debian.org/ReproducibleBuilds/TimestampsProposal Regards, -- Dhole diff -Nru libxslt-1.1.28/debian/changelog libxslt-1.1.28/debian/changelog --- libxslt-1.1.28/debian/changelog 2015-07-01 12:00:21.0 +0200 +++ libxslt-1.1.28/debian/changelog 2015-07-08 15:19:03.0 +0200 @@ -1,9 +1,14 @@ -libxslt (1.1.28-2.0~reproducible3) UNRELEASED; urgency=low +libxslt (1.1.28-2.0~reproducible4) UNRELEASED; urgency=low + [ Jérémy Bobbio ] * Add a patch from Daniel Veillard to make generate-id() provide stable IDs to make its output reproducible. - -- Jérémy Bobbio Wed, 01 Jul 2015 11:49:58 +0200 + [ Eduard Sanou ] + * Add support for reproducible builds by using $SOURCE_DATE_EPOCH as the +date when processing docs (when using the var $date). + + -- Dhole Wed, 08 Jul 2015 15:05:07 +0200 libxslt (1.1.28-2) unstable; urgency=low diff -Nru libxslt-1.1.28/debian/patches/0010-Replace-timestamp-with-SOURCE_DATE_EPOCH libxslt-1.1.28/debian/patches/0010-Replace-timestamp-with-SOURCE_DATE_EPOCH --- libxslt-1.1.28/debian/patches/0010-Replace-timestamp-with-SOURCE_DATE_EPOCH 1970-01-01 01:00:00.0 +0100 +++ libxslt-1.1.28/debian/patches/0010-Replace-timestamp-with-SOURCE_DATE_EPOCH 2015-07-08 15:18:26.0 +0200 @@ -0,0 +1,65 @@ +Description: Replace date timestamp by SOURCE_DATE_EPOCH env var +Author: Dhole + +--- + +--- libxslt-1.1.28.orig/libexslt/date.c libxslt-1.1.28/libexslt/date.c +@@ -46,6 +46,7 @@ + #include "exslt.h" + + #include ++#include + + #ifdef HAVE_MATH_H + #include +@@ -747,21 +748,46 @@ static exsltDateValPtr + exsltDateCurrent (void) + { + struct tm localTm, gmTm; ++struct tm *tb = NULL; + time_t secs; + int local_s, gm_s; + exsltDateValPtr ret; ++char *source_date_epoch; + + ret = exsltDateCreateDate(XS_DATETIME); + if (ret == NULL) + return NULL; + +-/* get current time */ + secs= time(NULL); ++/* ++ * Allow the date and time to be set externally by an exported ++ * environment variable to enable reproducible builds. ++ */ ++source_date_epoch = getenv("SOURCE_DATE_EPOCH"); ++if (source_date_epoch) { ++ errno = 0; ++ secs = (time_t) strtol (source_date_epoch, NULL, 10); ++ if (errno == 0) { ++ tb = gmtime(&secs); ++ if (tb == NULL) { ++ /* SOURCE_DATE_EPOCH is not a valid date */ ++ return NULL; ++ } else { ++ localTm = *tb; ++ } ++ } else { ++ /* SOURCE_DATE_EPOCH is not a valid number */ ++ return NULL; ++ } ++} else { ++ /* get current time */ + #if HAVE_LOCALTIME_R +-localtime_r(&secs, &localTm); ++ localtime_r(&secs, &localTm); + #else +-localTm = *localtime(&secs); ++ localTm = *localtime(&secs); + #endif ++} ++ + + /* get real year, not years since 1900 */ + ret->value.date.year = localTm.tm_year + 1900; diff -Nru libxslt-1.1.28/debian/patches/series libxslt-1.1.28/debian/patches/series --- libxslt-1.1.28/debian/patches/series2015-07-01 12:00:21.0 +0200 +++ libxslt-1.1.28/debian/patches/series2015-07-08 15:13:19.0 +0200 @@ -7,3 +7,4 @@ 0007-EXSLT-function-str-replace-is-broken-as-is.patch 0008-Fix-quoting-of-xlocale-test-program-in-configure.in.patch 0009-Make-generate-id-deterministic.patch +0010-Replace-timestamp-with-SOURCE_DATE_EPOCH signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
Re: [Reproducible-builds] Bug#791815: libxslt: please support timestamps from environment
Hi, not replying to the bug on purpose... On Mittwoch, 8. Juli 2015, Dhole wrote: > We have a proposal for using a deterministic timestamp [2] (based on > the latest debian/changelog entry) which is contained in the environment > variable SOURCE_DATE_EPOCH (currently exported by debhelper in our > experimental framework). If I would read this as a maintainer, I would probably think "this should at least wait til its used by debhelper in unstable"... also I'd be curious about the bug number for this feature in debhelper. cheers, Holger signature.asc Description: This is a digitally signed message part. ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] debhelper: set SOURCE_DATE_EPOCH env var for reproducible builds
Source: debhelper Version: 9.20150628 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: toolchain timestamps Hi! While working on the “reproducible builds” effort [1] we have a proposal of using deterministic timestamps [2] (based on the latest debian/changelog entry) which is to be set in the environment variable SOURCE_DATE_EPOCH. The attached patch makes debhelper export the SOURCE_DATE_EPOCH env variable during the execution with the latest debian/changelog entry timestamp, so that packages running during the build process can read it and replace localtime date/times calls with the exported timestamp in order to have reproducible builds. Also, in order to help reproducible builds, a fixed timezone is exported (TZ=UTC). [1]: https://wiki.debian.org/ReproducibleBuilds [2]: https://wiki.debian.org/ReproducibleBuilds/TimestampsProposal Regards, -- Dhole diff -Nru debhelper-9.20150628/debian/changelog debhelper-9.20150628+nmu1/debian/changelog --- debhelper-9.20150628/debian/changelog 2015-06-28 13:56:15.0 +0200 +++ debhelper-9.20150628+nmu1/debian/changelog 2015-07-08 19:35:19.0 +0200 @@ -1,3 +1,12 @@ +debhelper (9.20150628+nmu1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * export the env var SOURCE_DATE_EPOCH with the last debian/changelog +timestamp. + * set env TZ=UTC + + -- Dhole Wed, 08 Jul 2015 19:34:46 +0200 + debhelper (9.20150628) unstable; urgency=medium * Upload to unstable with ddebs support disabled by default. diff -Nru debhelper-9.20150628/Debian/Debhelper/Dh_Lib.pm debhelper-9.20150628+nmu1/Debian/Debhelper/Dh_Lib.pm --- debhelper-9.20150628/Debian/Debhelper/Dh_Lib.pm 2015-06-28 13:24:32.0 +0200 +++ debhelper-9.20150628+nmu1/Debian/Debhelper/Dh_Lib.pm2015-07-08 19:34:25.0 +0200 @@ -1144,12 +1144,44 @@ } } +# Read latest debian/changelog timestamp and export the environment variable +# SOURCE_DATE_EPOCH with its value, so that any package can read it and replace +# calls to localtime (or other undeterministic timestamps) with the exported +# timestamp to get reproducible builds. +sub set_source_date_epoch { + eval "use Dpkg::Changelog::Debian"; + if ($@) { + warning "unable to set SOURCE_DATE_EPOCH: $@"; + return; + } + eval "use Time::Piece"; + if ($@) { + warning "unable to set SOURCE_DATE_EPOCH: $@"; + return; + } + + my $changelog = Dpkg::Changelog::Debian->new(); + $changelog->load("debian/changelog"); + + my $tt = @{$changelog}[0]->get_timestamp(); + $tt =~ s/\s*\([^\)]+\)\s*$//; # Remove the optional timezone codename + my $timestamp = Time::Piece->strptime($tt, "%a, %d %b %Y %T %z"); + + $ENV{SOURCE_DATE_EPOCH} = $timestamp->epoch(); +} + # Sets environment variables from dpkg-buildflags. Avoids changing # any existing environment variables. sub set_buildflags { - return if $ENV{DH_INTERNAL_BUILDFLAGS} || compat(8); + return if $ENV{DH_INTERNAL_BUILDFLAGS}; $ENV{DH_INTERNAL_BUILDFLAGS}=1; + set_source_date_epoch(); + # Set env timezone to UTC to help packages build reproducibly + $ENV{TZ} = "UTC"; + + return if compat(8); + eval "use Dpkg::BuildFlags"; if ($@) { warning "unable to load build flags: $@"; signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
Re: [Reproducible-builds] Bug#791815: libxslt: please support timestamps from environment
On 07/08/2015 06:44 PM, Dhole wrote: > Source: libxslt > Version: 1.1.28-2 > Severity: wishlist > Tags: patch > User: reproducible-builds@lists.alioth.debian.org > Usertags: toolchain timestamps > > Hi! > > While working on the “reproducible builds” effort [1], we have noticed > that libxslt embeds timestamps when generating documentation. > > We have a proposal for using a deterministic timestamp [2] (based on > the latest debian/changelog entry) which is contained in the environment > variable SOURCE_DATE_EPOCH (currently exported by debhelper in our > experimental framework). > > The attached patch proposes a way to use this variable to get > reproducible timestamps when generating docs, if the variable has been > set (if not, it falls back to the old behavior). > > > [1]: https://wiki.debian.org/ReproducibleBuilds > [2]: https://wiki.debian.org/ReproducibleBuilds/TimestampsProposal > The submitted bug for the mentioned feature in debhelper can be found at: https://bugs.debian.org/791823 Regards, -- Dhole signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#791815: Info received ( Bug#791815: libxslt: please support timestamps from environment)
Thank you for the additional information you have supplied regarding this Bug report. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): Debian XML/SGML Group If you wish to submit further information on this problem, please send it to 791...@bugs.debian.org. Please do not send mail to ow...@bugs.debian.org unless you wish to report a problem with the Bug-tracking system. -- 791815: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=791815 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#791834: bitcoin: please make the build reproducible
Source: bitcoin Version: 0.10.2-3 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: locale X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi! While working on the "reproducible builds" effort [1], we have noticed that bitcoin could not be built reproducibly. A file list is sorted differently depending on the locale. The attached patch fixes this by setting to LC_ALL to C before sorting. Regards, Reiner [1]: https://wiki.debian.org/ReproducibleBuilds diff --git a/debian/patches/1008_reproducible_build.patch b/debian/patches/1008_reproducible_build.patch new file mode 100644 index 000..e1efccc --- /dev/null +++ b/debian/patches/1008_reproducible_build.patch @@ -0,0 +1,20 @@ +Author: Reiner Herrmann +Description: Locale-independent sorting of file list + sort behaves differently depending on the configured locale, + which results in an unreproducible build. + By setting LC_ALL to C before sorting, the file list will + always be the same. + +Index: bitcoin-0.10.2/src/leveldb/build_detect_platform +=== +--- bitcoin-0.10.2.orig/src/leveldb/build_detect_platform bitcoin-0.10.2/src/leveldb/build_detect_platform +@@ -188,7 +188,7 @@ set -f # temporarily disable globbing so + PRUNE_TEST="-name *test*.cc -prune" + PRUNE_BENCH="-name *_bench.cc -prune" + PRUNE_TOOL="-name leveldb_main.cc -prune" +-PORTABLE_FILES=`find $DIRS $PRUNE_TEST -o $PRUNE_BENCH -o $PRUNE_TOOL -o -name '*.cc' -print | sort | sed "s,^$PREFIX/,," | tr "\n" " "` ++PORTABLE_FILES=`find $DIRS $PRUNE_TEST -o $PRUNE_BENCH -o $PRUNE_TOOL -o -name '*.cc' -print | LC_ALL=C sort | sed "s,^$PREFIX/,," | tr "\n" " "` + + set +f # re-enable globbing + diff --git a/debian/patches/series b/debian/patches/series index feeb0e2..5ace2d5 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -3,4 +3,5 @@ #1005_use_system_leveldb.patch 1006_libmemenv_kfrebsd.patch 1007_libmemenv_hurd.patch +1008_reproducible_build.patch 2002_libmemenv_debian-ports.patch signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] [PATCH 2/5] DocBook: Don't store mtime (or name) in compressed man pages
The mtime on a man page is the build time. As gzip stores the mtime and original name in the compressed file by default, this makes compressed man pages unreproducible. Neither of these are important metadata in this case, so turn this off. Reported-by: Jérémy Bobbio Signed-off-by: Ben Hutchings --- Documentation/DocBook/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile index b6a6a2e..11a4145 100644 --- a/Documentation/DocBook/Makefile +++ b/Documentation/DocBook/Makefile @@ -56,7 +56,7 @@ htmldocs: $(HTML) MAN := $(patsubst %.xml, %.9, $(BOOKS)) mandocs: $(MAN) - find $(obj)/man -name '*.9' | xargs gzip -f + find $(obj)/man -name '*.9' | xargs gzip -nf installmandocs: mandocs mkdir -p /usr/local/man/man9/ -- Ben Hutchings If the facts do not conform to your theory, they must be disposed of. signature.asc Description: This is a digitally signed message part ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] [PATCH 3/5] DocBook: Generate consistent IDs
By default, DocBook XSL uses a non-deterministic function to generate IDs for HTML elements where it can't take a name from the input document. However, it has the option to generate 'consistent' (deterministic) IDs instead. Enable this to make the HTML pages reproducible. Reported-by: Jérémy Bobbio Signed-off-by: Ben Hutchings --- Documentation/DocBook/stylesheet.xsl | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/DocBook/stylesheet.xsl b/Documentation/DocBook/stylesheet.xsl index 85b2527..3bf4ecf 100644 --- a/Documentation/DocBook/stylesheet.xsl +++ b/Documentation/DocBook/stylesheet.xsl @@ -5,6 +5,7 @@ 80 0 +1 2 1 -- Ben Hutchings If the facts do not conform to your theory, they must be disposed of. signature.asc Description: This is a digitally signed message part ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] [PATCH 0/5] Reproducible document builds
As part of the reproducible builds project, Jérémy Bobbio identified several time-dependent and non-deterministic functions in the document build process (htmldocs, mandocs targets). This patch series should fix all of those. Ben. Ben Hutchings (4): DocBook: Don't store mtime (or name) in compressed man pages DocBook: Generate consistent IDs DocBook: Avoid building man pages repeatedly and inconsistently scripts/kernel-doc: Use $KBUILD_BUILD_TIMESTAMP as man page date Jérémy Bobbio (1): scripts/kernel-doc: parse kernel-doc deterministically Documentation/DocBook/Makefile| 12 ++-- Documentation/DocBook/device-drivers.tmpl | 6 ++ Documentation/DocBook/gadget.tmpl | 3 +++ Documentation/DocBook/kernel-api.tmpl | 6 ++ Documentation/DocBook/stylesheet.xsl | 1 + scripts/kernel-doc| 17 + 6 files changed, 39 insertions(+), 6 deletions(-) -- Ben Hutchings If the facts do not conform to your theory, they must be disposed of. signature.asc Description: This is a digitally signed message part ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] [PATCH 5/5] scripts/kernel-doc: Use $KBUILD_BUILD_TIMESTAMP as man page date
Together with the preceding changes, this allows man pages to be built reproducibly. Signed-off-by: Ben Hutchings --- scripts/kernel-doc | 15 --- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/scripts/kernel-doc b/scripts/kernel-doc index 71ada00..0ac1a07 100755 --- a/scripts/kernel-doc +++ b/scripts/kernel-doc @@ -253,11 +253,20 @@ my %highlights = %highlights_man; my $blankline = $blankline_man; my $modulename = "Kernel API"; my $function_only = 0; +my $show_not_found = 0; + +my @build_time; +if (defined($ENV{'KBUILD_BUILD_TIMESTAMP'}) && +(my $seconds = `date -d"${ENV{'KBUILD_BUILD_TIMESTAMP'}}" +%s`) ne '') { +@build_time = gmtime($seconds); +} else { +@build_time = localtime; +} + my $man_date = ('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', - 'November', 'December')[(localtime)[4]] . - " " . ((localtime)[5]+1900); -my $show_not_found = 0; + 'November', 'December')[$build_time[4]] . + " " . ($build_time[5]+1900); # Essentially these are globals. # They probably want to be tidied up, made more localised or something. -- Ben Hutchings If the facts do not conform to your theory, they must be disposed of. signature.asc Description: This is a digitally signed message part ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] [PATCH 1/5] scripts/kernel-doc: parse kernel-doc deterministically
From: Jérémy Bobbio Regular expressions for highlights in kernel-doc are stored in a Perl hash. These hashes are ordered differently for each Perl run. This will prevent kernel-doc to behave deterministically when parsing “@foo()” as in some runs it will be interpreted as a parameter and in the others it will be interpreted as a function. We now sort the %highlights hash to get the same behavior on every run. Signed-off-by: Jérémy Bobbio Signed-off-by: Ben Hutchings --- scripts/kernel-doc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/kernel-doc b/scripts/kernel-doc index 9922e66..71ada00 100755 --- a/scripts/kernel-doc +++ b/scripts/kernel-doc @@ -2587,7 +2587,7 @@ $kernelversion = get_kernel_version(); # generate a sequence of code that will splice in highlighting information # using the s// operator. -foreach my $pattern (keys %highlights) { +foreach my $pattern (sort keys %highlights) { # print STDERR "scanning pattern:$pattern, highlight:($highlights{$pattern})\n"; $dohighlight .= "\$contents =~ s:$pattern:$highlights{$pattern}:gs;\n"; } -- Ben Hutchings If the facts do not conform to your theory, they must be disposed of. signature.asc Description: This is a digitally signed message part ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] [PATCH 4/5] DocBook: Avoid building man pages repeatedly and inconsistently
Some kernel-doc sections are included in multiple DocBook files. This means the mandocs target will generate the same manual page multiple times with different metadata (author name/address and manual title, taken from the including DocBook file). If it's invoked in a parallel build, the output is nondeterminstic. For each section that is duplicated, mark the less specific manual's inclusion as 'extra' and exclude it during conversion to manual pages. Use xmlif for this, as that is bundled with xmlto which we already use. I would have preferred to use more conventional markup for this, but each of the following approaches failed: 1. Wrap the extra inclusions with a new element and add a template to the stylesheet to include/exclude them. Unfortunately DocBook XSL doesn't seem to support foreign elements at an intermediate level in the document tree. 2. Use DocBook profiling. This works but requires passing an absolute path to the profile stylesheet to xmlto, so it's not portable. 3. Use SGML marked sections. docbook2x can handle these but xmlto chokes on them. Reported-by: Jérémy Bobbio Signed-off-by: Ben Hutchings --- Documentation/DocBook/Makefile| 10 +- Documentation/DocBook/device-drivers.tmpl | 6 ++ Documentation/DocBook/gadget.tmpl | 3 +++ Documentation/DocBook/kernel-api.tmpl | 6 ++ 4 files changed, 24 insertions(+), 1 deletion(-) diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile index 11a4145..83fcb6c 100644 --- a/Documentation/DocBook/Makefile +++ b/Documentation/DocBook/Makefile @@ -56,6 +56,13 @@ htmldocs: $(HTML) MAN := $(patsubst %.xml, %.9, $(BOOKS)) mandocs: $(MAN) + @dups=$$(sed -n 's/.*\([^<]*\)<\/refname>.*/\1/p' \ +$(obj)/*.xml.noextra | sort | uniq -d);\ + if [ -n "$$dups" ]; then\ + echo >&2 "The following manual pages are generated more than once:"; \ + printf >&2 '%s\n' "$$dups"; \ + exit 1; \ + fi find $(obj)/man -name '*.9' | xargs gzip -nf installmandocs: mandocs @@ -150,7 +157,7 @@ quiet_cmd_db2html = HTML$@ cp $(PNG-$(basename $(notdir $@))) $(patsubst %.html,%,$@); fi quiet_cmd_db2man = MAN $@ - cmd_db2man = if grep -q refentry $<; then xmlto man $(XMLTOFLAGS) -o $(obj)/man $< ; fi + cmd_db2man = if grep -q refentry $<; then xmlif excludeextra=1 <$< >$<.noextra && xmlto man $(XMLTOFLAGS) -o $(obj)/man $<.noextra ; fi %.9 : %.xml @(which xmlto > /dev/null 2>&1) || \ (echo "*** You need to install xmlto ***"; \ @@ -217,6 +224,7 @@ clean-files := $(DOCBOOKS) \ $(patsubst %.xml, %.ps, $(DOCBOOKS)) \ $(patsubst %.xml, %.pdf, $(DOCBOOKS)) \ $(patsubst %.xml, %.html, $(DOCBOOKS)) \ + $(patsubst %, %.noextra, $(DOCBOOKS)) \ $(patsubst %.xml, %.9,$(DOCBOOKS)) \ $(index) diff --git a/Documentation/DocBook/device-drivers.tmpl b/Documentation/DocBook/device-drivers.tmpl index faf09d4..87853ea 100644 --- a/Documentation/DocBook/device-drivers.tmpl +++ b/Documentation/DocBook/device-drivers.tmpl @@ -194,8 +194,13 @@ X!Edrivers/pnp/system.c Sound Devices + + !Iinclude/sound/core.h + !Esound/sound_core.c + + !Iinclude/sound/pcm.h !Esound/core/pcm.c !Esound/core/device.c @@ -211,6 +216,7 @@ X!Edrivers/pnp/system.c !Esound/core/hwdep.c !Esound/core/pcm_native.c !Esound/core/memalloc.c + diff --git a/Documentation/DocBook/gadget.tmpl b/Documentation/DocBook/gadget.tmpl index 6416292..e1b87bd 100644 --- a/Documentation/DocBook/gadget.tmpl +++ b/Documentation/DocBook/gadget.tmpl @@ -488,7 +488,10 @@ These are the same types and constants used by host side drivers (and usbcore). + + !Iinclude/linux/usb/ch9.h + Core Objects and Methods diff --git a/Documentation/DocBook/kernel-api.tmpl b/Documentation/DocBook/kernel-api.tmpl index ecfd0ea..722249a 100644 --- a/Documentation/DocBook/kernel-api.tmpl +++ b/Documentation/DocBook/kernel-api.tmpl @@ -58,8 +58,11 @@ String Conversions !Elib/vsprintf.c + + !Finclude/linux/kernel.h kstrtol !Finclude/linux/kernel.h kstrtoul + !Elib/kstrtox.c String Manipulation @@ -178,7 +181,10 @@ X!Ekernel/module.c Hardware Interfaces Interrupt Handling + + !Ekernel/irq/manage.c + DMA Channels -- Ben Hutchings If the facts do not conform to your theory, they must be disposed of. signature.asc Description: This is a digitally signed message part ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#791845: yacas: please make the build reproducible
Source: yacas Version: 1.3.3-2 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: locale X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi! While working on the "reproducible builds" effort [1], we have noticed that yacas could not be built reproducibly. The hints file is sorted differently depending on the configured locale. The attached patch fixes this by setting LC_ALL to C before sorting. Regards, Reiner [1]: https://wiki.debian.org/ReproducibleBuilds diff --git a/debian/patches/02_reproducible-build.patch b/debian/patches/02_reproducible-build.patch new file mode 100644 index 000..da6b98c --- /dev/null +++ b/debian/patches/02_reproducible-build.patch @@ -0,0 +1,16 @@ +Author: Reiner Herrmann +Description: normalize locale to get reproducible order + +Index: yacas-1.3.3/manmake/Makefile.am +=== +--- yacas-1.3.3.orig/manmake/Makefile.am yacas-1.3.3/manmake/Makefile.am +@@ -22,7 +22,7 @@ hints: manripper removeduplicates $(REFS + rm -f hints.unsorted + for file in ref.book.txt $(REFSOURCES) refprog.book.txt $(REFPROGSOURCES); do \ + ./manripper $(srcdir)/"$$file" >> hints.unsorted ; done +- sort -t ":" hints.unsorted > hints.sorted ++ LC_ALL=C sort -t ":" hints.unsorted > hints.sorted + ./removeduplicates hints.sorted hints.singlesorted + echo "" > tail.txt + cat hints.singlesorted tail.txt > hints diff --git a/debian/patches/series b/debian/patches/series index f1af840..57cb584 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1 +1,2 @@ 01_locchanges.patch +02_reproducible-build.patch signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#791851: scowl: please make the build reproducible
Source: scowl Version: 7.1-1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: locale X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi! While working on the "reproducible builds" effort [1], we have noticed that scowl could not be built reproducibly. The dictionary files are sorted differently depending on the configured locale. The attached patch fixes this by setting LC_ALL to C before sorting. Regards, Reiner [1]: https://wiki.debian.org/ReproducibleBuilds diff --git a/debian/rules b/debian/rules index a66c8e7..ccbdb40 100755 --- a/debian/rules +++ b/debian/rules @@ -75,8 +75,8 @@ build-stamp: fi;\ done;\ done;\ - echo "cat $$SPELLING-english$$SIZE.unsorted | sort -u | iconv -t 'utf-8' > $$SPELLING-english$$SIZE; rm $$SPELLING-english$$SIZE.unsorted";\ - cat $$SPELLING-english$$SIZE.unsorted | sort -u | iconv -f 'iso8859-1' -t 'utf-8' > $$SPELLING-english$$SIZE; rm $$SPELLING-english$$SIZE.unsorted;\ + echo "cat $$SPELLING-english$$SIZE.unsorted | LC_ALL=C sort -u | iconv -t 'utf-8' > $$SPELLING-english$$SIZE; rm $$SPELLING-english$$SIZE.unsorted";\ + cat $$SPELLING-english$$SIZE.unsorted | LC_ALL=C sort -u | iconv -f 'iso8859-1' -t 'utf-8' > $$SPELLING-english$$SIZE; rm $$SPELLING-english$$SIZE.unsorted;\ done;\ done signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds