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

Reply via email to