[Pkg-javascript-devel] Bug#1059565: pkg-js-tools: Tests (autopkgtests) uses `fakeroot` without dependency

Niels Thykier niels at thykier.net
Thu Dec 28 13:15:49 GMT 2023


Package: pkg-js-tools
Severity: serious
X-Debbugs-Cc: niels at thykier.net
Control: affects -1 src:devscripts
Justification: Autopkgtests failures are RC per RT decision

Hi

A new version of `devscripts` removed its dependency on `fakeroot`. 
After this, the pkg-js-tools's autopkgtests started failing with errors 
like:

759s Can't exec "fakeroot": No such file or directory at 
/usr/share/perl5/Dpkg/IPC.pm line 312.
759s dh_eslint.t: error: unable to execute fakeroot dh_auto_install 
--buildsystem=nodejs: No such file or directory
759s dh_eslint.t: error: fakeroot dh_auto_install --buildsystem=nodejs 
subprocess returned exit status 25


https://ci.debian.net/packages/p/pkg-js-tools/testing/amd64/41355085/#L12525

This implies that `pkg-js-tools` was missing a (test) dependency on 
`fakeroot`.  Looking a bit deeper into the tests, I think the `fakeroot` 
usage is unnecessary. Example from dh_badfilesfield.t:

spawn(

     exec       => [ 'fakeroot', 'dh_auto_install', '...' ],

     wait_child => 1

);


Generally, `dh_auto_install` (nor any other `debhelper` tool) does not 
require `fakeroot` and should be runnable without it assuming the 
underlying build system is ready for it (which is generally should be 
these days).  You *may* need to set `DEB_RULES_REQUIRES_ROOT=no` to 
avoid triggering a safety check inside debhelper.

I would recommend that you remove all uses of `fakeroot` where possible 
instead of just blindly adding the depends.

Best regards,
Niels



More information about the Pkg-javascript-devel mailing list