[Pkg-javascript-devel] Bug#1070940: node-follow-redirects: FTBFS in bullseye

Santiago Vila sanvila at debian.org
Sat May 11 20:52:00 BST 2024


Package: src:node-follow-redirects
Version: 1.13.1-1+deb11u1
Severity: serious
Control: close -1 1.15.2+~1.14.1-1
Tags: ftbfs bullseye

Dear maintainer:

During a rebuild of all packages in bullseye, your package failed to build:

--------------------------------------------------------------------------------
[...]
  debian/rules binary
dh binary
    dh_update_autotools_config
    dh_autoreconf
    dh_auto_configure --buildsystem=nodejs
    dh_auto_build --buildsystem=nodejs
No build command found, searching known files
    dh_auto_test --buildsystem=nodejs
	mkdir -p node_modules
	ln -s ../. node_modules/follow-redirects
	/bin/sh -ex debian/tests/pkg-js/test
+ mocha


   follow-redirects
     ✓ http.get with string and callback - redirect (41ms)
     ✓ http.get with URL object and callback - redirect
     ✓ http.get with options object and callback - redirect
     ✓ http.get with string and callback - no redirect
     ✓ http.get with options object and callback - no redirect
     ✓ http.get with host option and callback - redirect
     ✓ http.get with response event
     ✓ should return with the original status code if the response does not contain a location header
     ✓ should emit connection errors on the returned stream
     ✓ should emit socket events on the returned stream
     ✓ should emit connect events on the returned stream
     1) emits an error on redirects with an invalid location
     ✓ should destroy responses
     ✓ should honor query params in redirects
     ✓ should allow aborting
     ✓ should provide connection
     ✓ should provide flushHeaders
     ✓ should provide getHeader
     ✓ should provide removeHeader
     ✓ should provide setHeader
     ✓ should provide setNoDelay
     ✓ should provide setSocketKeepAlive
     ✓ should provide setTimeout
     ✓ should provide socket
     ✓ should wait for an explicit call to end
     ✓ errors on write after end
     ✓ should support writing into request stream without redirects
     ✓ should support writing into request stream with redirects
     ✓ should support piping into request stream without redirects
     ✓ should support piping into request stream with redirects
     ✓ should support piping into request stream with explicit Content-Length without redirects
     ✓ should support piping into request stream with explicit Content-Length with redirects
     setTimeout
       ✓ clears timeouts after a successful response
       ✓ clears timeouts after an error response
       ✓ sets a timeout when the socket already exists
       ✓ should timeout on the final request
       ✓ should include redirect delays in the timeout
       ✓ overrides existing timeouts
     should obey a `maxRedirects` property
       ✓ which defaults to 21 (52ms)
       ✓ which can be set globally
       ✓ set as an option on an individual request
     the trackRedirects option
       when not set
         ✓ should not track redirects
       when set to true
         ✓ should track redirects
     when the client passes an header named Authorization
       ✓ ignores it when null
     when the client passes an header named Cookie
       ✓ ignores it when null
     should switch to safe methods when appropriate
       when redirecting with status code 300
         ✓ should reuse GET
         ✓ should reuse HEAD
         ✓ should reuse POST
         ✓ should reuse PUT
         ✓ should reuse DELETE
       when redirecting with status code 301
         ✓ should reuse GET
         ✓ should reuse HEAD
         ✓ should switch from POST to GET
         ✓ should reuse PUT
         ✓ should reuse DELETE
       when redirecting with status code 302
         ✓ should reuse GET
         ✓ should reuse HEAD
         ✓ should switch from POST to GET
         ✓ should reuse PUT
         ✓ should reuse DELETE
       when redirecting with status code 303
         ✓ should reuse GET
         ✓ should reuse HEAD
         ✓ should switch from POST to GET
         ✓ should switch from PUT to GET
         ✓ should switch from DELETE to GET
       when redirecting with status code 307
         ✓ should reuse GET
         ✓ should reuse HEAD
         ✓ should reuse POST
         ✓ should reuse PUT
         ✓ should reuse DELETE
     should error on an unsupported protocol redirect
       ✓ (http -> about)
     should obey a `maxBodyLength` property
       ✓ which defaults to 10MB
       ✓ set globally, on write
       ✓ set per request, on write
       ✓ set globally, on end
       ✓ set per request, on end
     writing invalid data
       ✓ throws an error
     when switching from POST to GET
       ✓ should drop the entity and associated headers
     when redirecting to a different host while the host header is set
       ✓ uses the new host header
     when the client passes an Authorization header
       ✓ keeps the header when redirected to the same host
       ✓ keeps the header when redirected to the same host via header
       ✓ drops the header when redirected to a different host
       ✓ drops the header when redirected from a different host via header
     when the followRedirects option is set to false
       ✓ does not redirect
     should not hang on empty writes
       ✓ when data is the empty string without encoding
       ✓ when data is the empty string with encoding
       ✓ when data is Buffer.from('')
     end accepts as arguments
       ✓ (none)
       ✓ the empty string
       ✓ a non-empty string
       ✓ a non-empty string and an encoding
       ✓ a non-empty string, an encoding, and a callback
       ✓ a non-empty string and a callback
       ✓ a callback
     change request options before redirects
       ✓ only call beforeRedirect on redirects, not the inital http call
       ✓ ignore beforeRedirect if not a function
       ✓ append new header with every redirect
       ✓ abort request chain after throwing an error
       ✓ access response header in beforeRedirect


   98 passing (416ms)
   1 failing

   1) follow-redirects
        emits an error on redirects with an invalid location:

       AssertionError [ERR_ASSERTION]: 'HPE_INVALID_HEADER_TOKEN' == 'ERR_FR_REDIRECTION_FAILURE'
       + expected - actual

       -HPE_INVALID_HEADER_TOKEN
       +ERR_FR_REDIRECTION_FAILURE
       
       at /<<PKGBUILDDIR>>/test/test.js:283:16
       at processTicksAndRejections (internal/process/task_queues.js:97:5)



dh_auto_test: error: /bin/sh -ex debian/tests/pkg-js/test returned exit code 1
make: *** [debian/rules:8: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

The above is just how the build ends and not necessarily the most relevant part.
If required, the full build log is available here:

https://people.debian.org/~sanvila/build-logs/bullseye/

About the archive rebuild: The build was made on virtual machines
of type m6a.large and r6a.large from AWS, using sbuild and a
reduced chroot with only build-essential packages.

If you could not reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and affects, so that this is still visible in the BTS web
page for this package.

Thanks.



More information about the Pkg-javascript-devel mailing list