Source: node-nodedbi Version: 1.0.13+dfsg-1 Severity: wishlist Tags: patch User: reproducible-bui...@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-b...@lists.alioth.debian.org
Hi, Whilst working on the Reproducible Builds effort [0] we noticed that node-nodedbi could not be built reproducibly. This is because it embedded the build path within files under a /.dep/ directory. For example: /usr/lib/x86_64-linux-gnu/nodejs/nodedbi/build/Release/.deps/Release/obj.target/nodedbi/src/query.o.d This is all a little confusing as you exclude .deps (via -X/.deps/) in debian/rules, but this is not making any difference as the files are installed via dh_auto_install (not dh_install)... but surely the Debhelper buildsystem should be excluding these anyway..? You also attempt to fix some permissions for a directory that can only exist under .deps due to the wildcard, so when I prevent the .deps being installed via some ugly means, this line then fails. Patch attached that, at least, makes it build reproducibly but moreoever a concrete demonstration of what I mean in the above rambling paragraphs; you likely do not want to apply it as-is. :) [0] https://reproducible-builds.org/ Regards, -- ,''`. : :' : Chris Lamb `. `'` la...@debian.org / chris-lamb.co.uk `-
--- a/debian/rules 2020-03-11 13:57:51.570469074 +0000 --- b/debian/rules 2020-03-11 17:03:39.316224988 +0000 @@ -2,7 +2,7 @@ # -*- makefile -*- # Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 +export DH_VERBOSE=1 export DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow @@ -12,9 +12,9 @@ %: dh $@ --with nodejs -override_dh_fixperms: - dh_fixperms - chmod -x $(TMP)/usr/lib/*/nodejs/nodedbi/build/Release/nodedbi.node - override_dh_install: - dh_install -X/.deps/ -X/Makefile + dh_install -X/Makefile + +override_dh_auto_install: + rm -rf ./build/Release/.deps + dh_auto_install