Re: [Reproducible-builds] licencing reproducible/presentations.git
On Thu, Feb 04, 2016 at 11:07:41AM +0100, Holger Levsen wrote: > but in any case the question is: are you fine to licence your work under > Creative Commons Attribution-Share Alike 3.0 License or (at the choice of the > user of the works) under GNU Free Documentation License, Version 1.3 or > later, > with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts? Yes, I'm fine with that. Regards, Reiner 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] package uploaded to our repo
texlive-bin_2015.20150524.37493-7.0~reproducible3.dsc has just been uploaded to https://wiki.debian.org/ReproducibleBuilds/ExperimentalToolchain ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#813932: sunpy: FTBFS: IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices
Source: sunpy Version: 0.6.1-2 Severity: serious Justification: fails to build from source User: reproducible-builds@lists.alioth.debian.org Usertags: ftbfs X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Dear Maintainer, sunpy fails to build from source in unstable/amd64: [..] -- new_delt : float New delta between consecutive values. """ if self.t_delt == new_delt: return self factor = self.t_delt / float(new_delt) # The last data-point does not change! new_size = floor((self.shape[1] - 1) * factor + 1) # pylint: disable=E1101 data = ndimage.zoom(self.data, (1, new_size / self.shape[1])) # pylint: disable=E1101 params = self._get_params() params.update({ 'time_axis': np.linspace( self.time_axis[0], > self.time_axis[(new_size - 1) * new_delt / self.t_delt], new_size ), 't_delt': new_delt, }) E IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices sunpy/spectra/spectrogram.py:960: IndexError __ test_combine_freqs __ def test_combine_freqs(): image = np.random.rand(5, 3600) spec = LinearTimeSpectrogram(image, np.linspace(0, image.shape[1] - 1, image.shape[1]), np.array([8, 6, 4, 2, 0]), datetime(2010, 1, 1, 0, 15), datetime(2010, 1, 1, 0, 30), 900, 0.25 ) image = np.random.rand(5, 3600) spec2 = LinearTimeSpectrogram(image, np.linspace(0, image.shape[1] - 1, image.shape[1]), np.array([9, 7, 5, 3, 1]), datetime(2010, 1, 1, 0, 15), datetime(2010, 1, 1, 0, 30), 900, 0.25 ) > comb = LinearTimeSpectrogram.combine_frequencies([spec, spec2]) sunpy/spectra/tests/test_spectrogram.py:575: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ sunpy/spectra/spectrogram.py:1162: in combine_frequencies specs = cls.intersect_time(specs) sunpy/spectra/spectrogram.py:1144: in intersect_time cut = [sp[:, (start - sp.t_init) / delt:] for sp in specs] sunpy/spectra/spectrogram.py:601: in __getitem__ return self._slice(key[0], key[1]) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = y_range = slice(None, None, None), x_range = slice(0.0, None, None) def _slice(self, y_range, x_range): """Return new spectrogram reduced to the values passed as slices. Implementation detail.""" > data = self.data[y_range, x_range] E IndexError: invalid slice sunpy/spectra/spectrogram.py:339: IndexError _ test_intersect_time __ def test_intersect_time(): image = np.random.rand(5, 3600) spec = LinearTimeSpectrogram(image, np.linspace(0, 0.25 * (image.shape[1] - 1), image.shape[1]), np.array([8, 6, 4, 2, 0]), datetime(2010, 1, 1, 0, 15), datetime(2010, 1, 1, 0, 30), 900, 0.25 ) image = np.random.rand(5, 3600) spec2 = LinearTimeSpectrogram(image, np.linspace(0, 0.25 * (image.shape[1] - 1), image.shape[1]), np.array([9, 7, 5, 3, 1]), datetime(2010, 1, 1, 0, 15), datetime(2010, 1, 1, 0, 30), 901, 0.25 ) one, other = LinearTimeSpectrogram.intersect_time( > [spec, spec2] ) sunpy/spectra/tests/test_spectrogram.py:632: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ sunpy/spectra/spectrogram.py:1144: in intersect_time cut = [sp[:, (start - sp.t_init) / delt:] for sp in specs] sunpy/spectra/spectrogram.py:601: in __getitem__ return self._slice(key[0], key[1]) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = y_range = slice(None, None, None), x_range = slice(4.0, None, None) def _slice(self, y_range, x_range): """Return new spectrogram reduced to the values passed as slices. Implementation detail.""" > data = self.data[y_range, x_range] E IndexError: invalid slice sunpy/spectra/spectrogram.py:339: IndexError test_linearize def test_linearize(): image = np.random.rand(5, 900) spec = LinearTimeSpectrogram(image, np.linspace(0, 1 *
[Reproducible-builds] Bug#813944: cvm: please make the build reproducible
Source: cvm Version: 0.96-1.2 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps fileordering umask X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi! While working on the "reproducible builds" effort [1], we have noticed that cvm could not be built reproducibly. Build timestamps are embedded in gzip headers, the permissions of some directories are influenced by the umask and the order of the md5sums file can vary. The attached patch fixes those issues. Regards, Reiner [1]: https://wiki.debian.org/ReproducibleBuilds diff --git a/debian/implicit b/debian/implicit index 57a444a..b009aa1 100644 --- a/debian/implicit +++ b/debian/implicit @@ -35,7 +35,7 @@ deb-checkuid: debian/$*/usr/share/doc/$*/changelog' @test -s debian/$*/usr/share/doc/$*/changelog || \ sh -cx 'rm -f debian/$*/usr/share/doc/$*/changelog' - @gzip -9 debian/$*/usr/share/doc/$*/changelog* + @gzip -9n debian/$*/usr/share/doc/$*/changelog* %.deb-docs-docs: @for i in `cat debian/$*.docs 2>/dev/null || :`; do \ sh -cx "install -m0644 $$i debian/$*/usr/share/doc/$*/" || exit 1; \ @@ -46,7 +46,7 @@ deb-checkuid: @if test -r debian/$*.NEWS.Debian; then \ sh -cx 'install -m0644 debian/$*.NEWS.Debian \ debian/$*/usr/share/doc/$*/NEWS.Debian && \ - gzip -9 debian/$*/usr/share/doc/$*/NEWS.Debian'; \ + gzip -9n debian/$*/usr/share/doc/$*/NEWS.Debian'; \ fi %.deb-docs-examples: @rm -rf debian/$*/usr/share/doc/$*/examples @@ -79,7 +79,7 @@ deb-checkuid: : debian/$*/DEBIAN/md5sums @rm -f debian/$*/DEBIAN/md5sums @cd debian/$* && find * -path 'DEBIAN' -prune -o \ - -type f -exec md5sum {} >>DEBIAN/md5sums \; + -type f -exec md5sum {} \; | LC_ALL=C sort >>DEBIAN/md5sums %.deb-DEBIAN: %.deb-checkdir %.deb-DEBIAN-base %.deb-DEBIAN-scripts \ %.deb-DEBIAN-md5sums : debian/$*/DEBIAN/ ok diff --git a/debian/rules b/debian/rules index db4c430..addac7d 100755 --- a/debian/rules +++ b/debian/rules @@ -90,24 +90,26 @@ install: deb-checkdir deb-checkuid build-stamp cvm-qmail.8 cvm-testclient.8 cvm-unix.8 cvm-vmailmgr.8; do \ install -m0644 debian/$$i '$(DIR)'/usr/share/man/man8/ || exit 1; \ done - gzip -9 '$(DIR)'/usr/share/man/man8/*.8 + gzip -9n '$(DIR)'/usr/share/man/man8/*.8 install -d -m0755 '$(DIR)'/usr/share/man/man7 install -m0644 debian/cvm-sql.7 '$(DIR)'/usr/share/man/man7/ - gzip -9 '$(DIR)'/usr/share/man/man7/*.7 + gzip -9n '$(DIR)'/usr/share/man/man7/*.7 # cvm-mysql install -d -m0755 '$(DIR)'-mysql/usr/bin mv '$(DIR)'/usr/bin/cvm-mysql* '$(DIR)'-mysql/usr/bin/ install -d -m0755 '$(DIR)'-mysql/usr/share/man/man8 install -m0644 debian/cvm-mysql.8 '$(DIR)'-mysql/usr/share/man/man8/ - gzip -9 '$(DIR)'-mysql/usr/share/man/man8/*.8 + gzip -9n '$(DIR)'-mysql/usr/share/man/man8/*.8 # cvm-pgsql install -d -m0755 '$(DIR)'-pgsql/usr/bin mv '$(DIR)'/usr/bin/cvm-pgsql* '$(DIR)'-pgsql/usr/bin/ install -d -m0755 '$(DIR)'-pgsql/usr/share/man/man8 install -m0644 debian/cvm-pgsql.8 '$(DIR)'-pgsql/usr/share/man/man8/ - gzip -9 '$(DIR)'-pgsql/usr/share/man/man8/*.8 + gzip -9n '$(DIR)'-pgsql/usr/share/man/man8/*.8 # changelog rm -f changelog && ln -s ChangeLog changelog + # fix directory permissions + find '$(DIR)' '$(LDIR)'-dev -type d -print0 | xargs -0r chmod 0755 binary: binary-indep binary-arch binary-indep: signature.asc Description: PGP signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] please don't build on archs that packages don't declare support for
Hello reproducible builds team! I think you all are the bee's knees. However, some of the packages I maintain aren't compatible with 32 bit architectures, like armhf, and are explicitly marked as such. Yet the reproducible builds infrastructure still tries to build on the incompatible architecture and I get an error on tracker.d.o and elsewhere. Here is an example: https://tests.reproducible-builds.org/rb-pkg/unstable/amd64/khmer.html Package: khmer Architecture: amd64 any-arm64 any-mips64 any-mips64el any-ia64 any-ppc64el any-sparc64 (from https://sources.debian.net/src/khmer/2.0%2Bdfsg-4/debian/control/ ) Could, perhaps, this not happen? Thanks in advance, ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#813892: dietlibc: please make the build reproducible
Source: dietlibc Version: 0.33~cvs20120325-6 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps fileordering X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi! While working on the "reproducible builds" effort [1], we have noticed that dietlibc could not be built reproducibly. It has build timestamps in the gzip headers of manpages and ChangeLog files, an unsorted md5sums file and several static libraries were linked with an unsorted order of object files. The attached patch fixes this. Regards, Reiner [1]: https://wiki.debian.org/ReproducibleBuilds diff --git a/debian/implicit b/debian/implicit index 639532b..e87ac4c 100644 --- a/debian/implicit +++ b/debian/implicit @@ -35,7 +35,7 @@ deb-checkuid: debian/$*/usr/share/doc/$*/changelog' @test -s debian/$*/usr/share/doc/$*/changelog || \ sh -cx 'rm -f debian/$*/usr/share/doc/$*/changelog' - @gzip -9 debian/$*/usr/share/doc/$*/changelog* + @gzip -9n debian/$*/usr/share/doc/$*/changelog* %.deb-docs-docs: %.deb-docs-base @for i in `cat debian/$*.docs 2>/dev/null || :`; do \ if test -d $$i; then \ @@ -54,7 +54,7 @@ deb-checkuid: @if test -r debian/$*.NEWS.Debian; then \ sh -cx 'install -m0644 debian/$*.NEWS.Debian \ debian/$*/usr/share/doc/$*/NEWS.Debian && \ - gzip -9 debian/$*/usr/share/doc/$*/NEWS.Debian'; \ + gzip -9n debian/$*/usr/share/doc/$*/NEWS.Debian'; \ fi %.deb-docs-examples: %.deb-docs-docs @rm -rf debian/$*/usr/share/doc/$*/examples @@ -87,7 +87,7 @@ deb-checkuid: : debian/$*/DEBIAN/md5sums @rm -f debian/$*/DEBIAN/md5sums @cd debian/$* && find * -path 'DEBIAN' -prune -o \ - -type f -exec md5sum {} >>DEBIAN/md5sums \; + -type f -exec md5sum {} \; | LC_ALL=C sort >>DEBIAN/md5sums %.deb-DEBIAN: %.deb-checkdir %.deb-DEBIAN-base %.deb-DEBIAN-scripts \ %.deb-DEBIAN-md5sums : debian/$*/DEBIAN/ ok diff --git a/debian/patches/0038-reproducible-build.diff b/debian/patches/0038-reproducible-build.diff new file mode 100644 index 000..524e657 --- /dev/null +++ b/debian/patches/0038-reproducible-build.diff @@ -0,0 +1,73 @@ +Author: Reiner Herrmann+Description: sort order of object files to get reproducible static libraries + +--- a/Makefile b/Makefile +@@ -108,23 +108,23 @@ + + VPATH=lib:libstdio:libugly:libcruft:libcrypt:libshell:liblatin1:libcompat:libdl:librpc:libregex:libm:profiling + +-SYSCALLOBJ=$(patsubst syscalls.s/%.S,$(OBJDIR)/%.o,$(wildcard syscalls.s/*.S)) ++SYSCALLOBJ=$(patsubst syscalls.s/%.S,$(OBJDIR)/%.o,$(sort $(wildcard syscalls.s/*.S))) + +-LIBOBJ=$(patsubst lib/%.c,$(OBJDIR)/%.o,$(wildcard lib/*.c)) +-LIBUGLYOBJ=$(patsubst libugly/%.c,$(OBJDIR)/%.o,$(wildcard libugly/*.c)) +-LIBSTDIOOBJ=$(patsubst libstdio/%.c,$(OBJDIR)/%.o,$(wildcard libstdio/*.c)) +-LIBCRUFTOBJ=$(patsubst libcruft/%.c,$(OBJDIR)/%.o,$(wildcard libcruft/*.c)) +-LIBCRYPTOBJ=$(patsubst libcrypt/%.c,$(OBJDIR)/%.o,$(wildcard libcrypt/*.c)) +-LIBSHELLOBJ=$(patsubst libshell/%.c,$(OBJDIR)/%.o,$(wildcard libshell/*.c)) +-LIBCOMPATOBJ=$(patsubst libcompat/%.c,$(OBJDIR)/%.o,$(wildcard libcompat/*.c)) $(OBJDIR)/syscall.o +-LIBMATH=$(patsubst libm/%.c,%.o,$(wildcard libm/*.c)) ++LIBOBJ=$(patsubst lib/%.c,$(OBJDIR)/%.o,$(sort $(wildcard lib/*.c))) ++LIBUGLYOBJ=$(patsubst libugly/%.c,$(OBJDIR)/%.o,$(sort $(wildcard libugly/*.c))) ++LIBSTDIOOBJ=$(patsubst libstdio/%.c,$(OBJDIR)/%.o,$(sort $(wildcard libstdio/*.c))) ++LIBCRUFTOBJ=$(patsubst libcruft/%.c,$(OBJDIR)/%.o,$(sort $(wildcard libcruft/*.c))) ++LIBCRYPTOBJ=$(patsubst libcrypt/%.c,$(OBJDIR)/%.o,$(sort $(wildcard libcrypt/*.c))) ++LIBSHELLOBJ=$(patsubst libshell/%.c,$(OBJDIR)/%.o,$(sort $(wildcard libshell/*.c))) ++LIBCOMPATOBJ=$(patsubst libcompat/%.c,$(OBJDIR)/%.o,$(sort $(wildcard libcompat/*.c))) $(OBJDIR)/syscall.o ++LIBMATH=$(patsubst libm/%.c,%.o,$(sort $(wildcard libm/*.c))) + +-LIBRPCOBJ=$(patsubst librpc/%.c,$(OBJDIR)/%.o,$(wildcard librpc/*.c)) +-LIBREGEXOBJ=$(patsubst libregex/%.c,$(OBJDIR)/%.o,$(wildcard libregex/*.c)) ++LIBRPCOBJ=$(patsubst librpc/%.c,$(OBJDIR)/%.o,$(sort $(wildcard librpc/*.c))) ++LIBREGEXOBJ=$(patsubst libregex/%.c,$(OBJDIR)/%.o,$(sort $(wildcard libregex/*.c))) + +-LIBDLOBJ=$(patsubst libdl/%.c,$(OBJDIR)/%.o,$(wildcard libdl/*.c)) $(OBJDIR)/_dl_jump.o ++LIBDLOBJ=$(patsubst libdl/%.c,$(OBJDIR)/%.o,$(sort $(wildcard libdl/*.c))) $(OBJDIR)/_dl_jump.o + +-LIBPTHREAD_OBJS=$(patsubst libpthread/%.c,$(OBJDIR)/%.o,$(shell ./threadsafe.sh)) $(OBJDIR)/__testandset.o ++LIBPTHREAD_OBJS=$(patsubst libpthread/%.c,$(OBJDIR)/%.o,$(sort $(shell ./threadsafe.sh))) $(OBJDIR)/__testandset.o + + LIBGMON_OBJS=$(OBJDIR)/__mcount.o $(OBJDIR)/monitor.o $(OBJDIR)/profil.o + +@@ -214,7 +214,7 @@ + + dummy.o: + +-LIBLATIN1_OBJS=$(patsubst liblatin1/%.c,$(OBJDIR)/%.o,$(wildcard liblatin1/*.c)) ++LIBLATIN1_OBJS=$(patsubst liblatin1/%.c,$(OBJDIR)/%.o,$(sort $(wildcard liblatin1/*.c))) + $(OBJDIR)/liblatin1.a: $(LIBLATIN1_OBJS) + $(CROSS)ar cru $@ $^ + +---