Hey, > I would like to make delly[1] builds reproducible but I'm stuck with no > idea what the diffoscope log[2] means. I have little to no experience > with making packages reproducible but like to try my hand at it.
Sure thing. So, one telltale sign in the diffoscope output is the following hunk: │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -402,15 +402,15 @@ │ │ │ │ │ GLIBCXX_3.4.29 │ │ │ │ │ CXXABI_1.3 │ │ │ │ │ GLIBCXX_3.4 │ │ │ │ │ -/build/1st/delly-1.0.3/src/htslib/ │ │ │ │ │ +/build/2/delly-1.0.3/2nd/src/htslib/ │ │ │ │ │ AWAVAUATUSH │ │ │ │ │ []A\A]A^A_ In other words, your /usr/bin/delly binary is embedding the build path. Often this is because a package is not obeying CFLAGS/CXXFLAGS etc from dpkg-buildflags (which contains the magic -ffile-prefix-map= argument), but looking at the build log I think your package is always calling g++ in a way that respects this... even when calling Make recursively here: .htslib: $(HTSLIBSOURCES) if [ -r src/htslib/Makefile ]; then cd src/htslib && autoheader && autoconf && ./configure --disable-s3 --disable-gcs --disable-libcurl --disable-plugins && $(MAKE) && $(MAKE) lib-static && cd ../../ && touch .htslib; fi But a quick glance at your package's Makefile suggests that the path is coming from: # Submodules PWD = $(shell pwd) EBROOTHTSLIB ?= ${PWD}/src/htslib/ ... and may very well be related to how the "static-lib" target is compiled: # Flags for static compile ifeq (${STATIC}, 1) LDFLAGS += -static -static-libgcc -pthread -lhts -lz -llzma -lbz2 else LDFLAGS += -lhts -lz -llzma -lbz2 -Wl,-rpath,${EBROOTHTSLIB} endif ^^^^^^^^^^^^^^^^^^^^^^ As package maintainer though, you will probably have more insight into this; it seems like your package is doing rather interesting things with this htslib directory. :) Hope this quick message helps put you on the right path... Best wishes, -- o ⬋ ⬊ Chris Lamb o o reproducible-builds.org 💠 ⬊ ⬋ o _______________________________________________ Reproducible-builds mailing list Reproducible-builds@alioth-lists.debian.net https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/reproducible-builds