[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1068912: marked as done (bookworm-pu: package node-undici/5.15.0+dfsg1+~cs20.10.9.3-1+deb12u4)



Your message dated Sat, 29 Jun 2024 10:46:18 +0000
with message-id <E1sNVb0-002bdp-IC@coccia.debian.org>
and subject line Released with 12.6
has caused the Debian Bug report #1068912,
regarding bookworm-pu: package node-undici/5.15.0+dfsg1+~cs20.10.9.3-1+deb12u4
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
1068912: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1068912
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: bookworm
X-Debbugs-Cc: node-undici@packages.debian.org, Debian Javascript Maintainers <pkg-javascript-devel@lists.alioth.debian.org>
Control: affects -1 + src:node-undici
User: release.debian.org@packages.debian.org
Usertags: pu

[ Reason ]
node-undici: FTBFS with nodejs 18.19.0+dfsg-6~deb12u1
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1063530

[ Impact ]
node-undici FTBFS, also several other packages need node-undici
to properly export its typescript types, which it currently doesn't.

[ Tests ]
(What automated or manual tests cover the affected code?)
Rebuild+Autopkgtest should be enough to cover the affected code.
All this is caused by a regression introduced by nodejs 18.19.0+dfsg-6~deb12u1

[ Risks ]
No further risks.

[ Checklist ]
  [x] *all* changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in (old)stable
  [x] the issue is verified as fixed in unstable

[ Changes ]
  * Import upstream patch that moves index.d.ts to types/ (closes #1063530)
  * Force @types/node to use local copy of undici-types
  * Fix build failures on lld 15+

[ Other info ]
node-zx, node-v8-compile-cache, node-babel7 will also be proposed,
to fix their tests suites w.r.t. the aforementioned regression.
diff -Nru node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/changelog node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/changelog
--- node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/changelog	2023-12-21 11:14:59.000000000 +0100
+++ node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/changelog	2024-04-13 11:22:02.000000000 +0200
@@ -1,3 +1,12 @@
+node-undici (5.15.0+dfsg1+~cs20.10.9.3-1+deb12u4) UNRELEASED; urgency=medium
+
+  [ Ryan Gonzalez ]
+  * Import upstream patch that moves index.d.ts to types/ (closes #1063530)
+  * Force @types/node to use local copy of undici-types
+  * Fix build failures on lld 15+
+
+ -- Jérémy Lal <kapouer@melix.org>  Sat, 13 Apr 2024 11:22:02 +0200
+
 node-undici (5.15.0+dfsg1+~cs20.10.9.3-1+deb12u3) bookworm-security; urgency=medium
 
   * Team upload.
diff -Nru node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/gbp.conf node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/gbp.conf
--- node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/gbp.conf	2023-12-21 11:08:13.000000000 +0100
+++ node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/gbp.conf	2024-04-13 11:19:52.000000000 +0200
@@ -1,4 +1,5 @@
 [DEFAULT]
+debian-branch = bookworm
 pristine-tar=True
 filter=[ '.gitignore', '.travis.yml', '.git*' ]
 component=['llhttp', 'llparse', 'llparse-frontend', 'llparse-builder', 'binary-search']
diff -Nru node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/nodejs/build node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/nodejs/build
--- node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/nodejs/build	2023-12-21 11:08:13.000000000 +0100
+++ node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/nodejs/build	2024-04-13 11:18:29.000000000 +0200
@@ -10,7 +10,7 @@
 #  - direct clang call
 clang -nodefaultlibs --sysroot=/usr -target wasm32-unknown-wasi \
 	-Ofast -fno-exceptions -fvisibility=hidden \
-	-mexec-model=reactor -Wl,-lc -Wl,-error-limit=0 -Wl,-O3 \
+	-mexec-model=reactor -Wl,-lc -Wl,--error-limit=0 -Wl,-O3 \
 	-Wl,--lto-O3 -Wl,--strip-all -Wl,--allow-undefined \
 	-Wl,--export-dynamic -Wl,--export-table -Wl,--export=malloc \
 	-Wl,--export=free \
diff -Nru node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/nodejs/extcopies node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/nodejs/extcopies
--- node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/nodejs/extcopies	1970-01-01 01:00:00.000000000 +0100
+++ node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/nodejs/extcopies	2024-04-13 11:18:29.000000000 +0200
@@ -0,0 +1 @@
+@types/node
diff -Nru node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/nodejs/extlinks node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/nodejs/extlinks
--- node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/nodejs/extlinks	2022-10-22 13:28:40.000000000 +0200
+++ node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/nodejs/extlinks	2024-04-13 11:18:29.000000000 +0200
@@ -1,4 +1,3 @@
 busboy
 @types/debug
-@types/node
 @types/semver
diff -Nru node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/patches/Add-publish-types-script-2273.patch node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/patches/Add-publish-types-script-2273.patch
--- node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/patches/Add-publish-types-script-2273.patch	1970-01-01 01:00:00.000000000 +0100
+++ node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/patches/Add-publish-types-script-2273.patch	2024-04-13 11:18:29.000000000 +0200
@@ -0,0 +1,341 @@
+From: Ethan Arrowood <ethan@arrowood.dev>
+Date: Wed, 20 Sep 2023 15:02:42 -0600
+Subject: Add publish types script (#2273)
+
+* add publish types script
+
+* use postpublish script
+
+* 5.24.0-test.0
+
+* 5.24.0-test.1
+
+* uncomment
+
+* 5.24.0-test.2
+
+* simplify automation
+
+* 5.24.0-test.3
+
+* fix script
+
+* 5.24.0-test.4
+
+* fix script
+
+* 5.24.0-test.5
+
+* undici-type@5.24.0-test.5
+
+* restore versions
+
+* delete generated file
+
+* Update update-undici-types-version.js
+
+Co-authored-by: Superchupu <53496941+SuperchupuDev@users.noreply.github.com>
+
+* fix contributor list and fix types export
+
+* this should fix types
+
+* one more adjustment
+
+* 5.24.0-test.6
+
+* undici-types@5.24.0-test.6
+
+* revert versions and add README for undici-types
+
+---------
+
+Co-authored-by: Superchupu <53496941+SuperchupuDev@users.noreply.github.com>
+Origin: upstream, https://github.com/nodejs/undici/commit/5c2e597bd938ce99a0246f9dfbfac6d3f3a31be9
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1063530
+---
+ index.d.ts                             | 55 ++--------------------------------
+ package.json                           | 32 +++++++++++++++++++-
+ scripts/update-undici-types-version.js | 18 +++++++++++
+ types/README.md                        |  6 ++++
+ types/index.d.ts                       | 54 +++++++++++++++++++++++++++++++++
+ types/package.json                     | 55 ++++++++++++++++++++++++++++++++++
+ 6 files changed, 166 insertions(+), 54 deletions(-)
+ create mode 100644 scripts/update-undici-types-version.js
+ create mode 100644 types/README.md
+ create mode 100644 types/index.d.ts
+ create mode 100644 types/package.json
+
+diff --git a/index.d.ts b/index.d.ts
+index e914634..83a786d 100644
+--- a/index.d.ts
++++ b/index.d.ts
+@@ -1,54 +1,3 @@
+-import Dispatcher from'./types/dispatcher'
+-import { setGlobalDispatcher, getGlobalDispatcher } from './types/global-dispatcher'
+-import { setGlobalOrigin, getGlobalOrigin } from './types/global-origin'
+-import Pool from'./types/pool'
+-import { RedirectHandler, DecoratorHandler } from './types/handlers'
+-
+-import BalancedPool from './types/balanced-pool'
+-import Client from'./types/client'
+-import buildConnector from'./types/connector'
+-import errors from'./types/errors'
+-import Agent from'./types/agent'
+-import MockClient from'./types/mock-client'
+-import MockPool from'./types/mock-pool'
+-import MockAgent from'./types/mock-agent'
+-import mockErrors from'./types/mock-errors'
+-import ProxyAgent from'./types/proxy-agent'
+-import { request, pipeline, stream, connect, upgrade } from './types/api'
+-
+-export * from './types/cookies'
+-export * from './types/fetch'
+-export * from './types/file'
+-export * from './types/filereader'
+-export * from './types/formdata'
+-export * from './types/diagnostics-channel'
+-export * from './types/websocket'
+-export { Interceptable } from './types/mock-interceptor'
+-
+-export { Dispatcher, BalancedPool, Pool, Client, buildConnector, errors, Agent, request, stream, pipeline, connect, upgrade, setGlobalDispatcher, getGlobalDispatcher, setGlobalOrigin, getGlobalOrigin, MockClient, MockPool, MockAgent, mockErrors, ProxyAgent, RedirectHandler, DecoratorHandler }
++export * from './types/index'
++import Undici from './types/index'
+ export default Undici
+-
+-declare namespace Undici {
+-  var Dispatcher: typeof import('./types/dispatcher').default
+-  var Pool: typeof import('./types/pool').default;
+-  var RedirectHandler: typeof import ('./types/handlers').RedirectHandler
+-  var DecoratorHandler: typeof import ('./types/handlers').DecoratorHandler
+-  var createRedirectInterceptor: typeof import ('./types/interceptors').createRedirectInterceptor
+-  var BalancedPool: typeof import('./types/balanced-pool').default;
+-  var Client: typeof import('./types/client').default;
+-  var buildConnector: typeof import('./types/connector').default;
+-  var errors: typeof import('./types/errors').default;
+-  var Agent: typeof import('./types/agent').default;
+-  var setGlobalDispatcher: typeof import('./types/global-dispatcher').setGlobalDispatcher;
+-  var getGlobalDispatcher: typeof import('./types/global-dispatcher').getGlobalDispatcher;
+-  var request: typeof import('./types/api').request;
+-  var stream: typeof import('./types/api').stream;
+-  var pipeline: typeof import('./types/api').pipeline;
+-  var connect: typeof import('./types/api').connect;
+-  var upgrade: typeof import('./types/api').upgrade;
+-  var MockClient: typeof import('./types/mock-client').default;
+-  var MockPool: typeof import('./types/mock-pool').default;
+-  var MockAgent: typeof import('./types/mock-agent').default;
+-  var mockErrors: typeof import('./types/mock-errors').default;
+-  var fetch: typeof import('./types/fetch').fetch;
+-}
+diff --git a/package.json b/package.json
+index 44e2146..5c76ff9 100644
+--- a/package.json
++++ b/package.json
+@@ -11,12 +11,41 @@
+     "url": "git+https://github.com/nodejs/undici.git";
+   },
+   "license": "MIT",
+-  "author": "Matteo Collina <hello@matteocollina.com>",
+   "contributors": [
++    {
++      "name": "Daniele Belardi",
++      "url": "https://github.com/dnlup";,
++      "author": true
++    },
++    {
++      "name": "Ethan Arrowood",
++      "url": "https://github.com/ethan-arrowood";,
++      "author": true
++    },
++    {
++      "name": "Matteo Collina",
++      "url": "https://github.com/mcollina";,
++      "author": true
++    },
++    {
++      "name": "Matthew Aitken",
++      "url": "https://github.com/KhafraDev";,
++      "author": true
++    },
+     {
+       "name": "Robert Nagy",
+       "url": "https://github.com/ronag";,
+       "author": true
++    },
++    {
++      "name": "Szymon Marczak",
++      "url": "https://github.com/szmarczak";,
++      "author": true
++    },
++    {
++      "name": "Tomas Della Vedova",
++      "url": "https://github.com/delvedor";,
++      "author": true
+     }
+   ],
+   "keywords": [
+@@ -64,6 +93,7 @@
+     "bench:run": "CONNECTIONS=1 node --experimental-wasm-simd benchmarks/benchmark.js; CONNECTIONS=50 node --experimental-wasm-simd benchmarks/benchmark.js",
+     "serve:website": "docsify serve .",
+     "prepare": "husky install",
++    "postpublish": "node scripts/update-undici-types-version.js && cd types && npm publish",
+     "fuzz": "jsfuzz test/fuzzing/fuzz.js corpus"
+   },
+   "devDependencies": {
+diff --git a/scripts/update-undici-types-version.js b/scripts/update-undici-types-version.js
+new file mode 100644
+index 0000000..2308e97
+--- /dev/null
++++ b/scripts/update-undici-types-version.js
+@@ -0,0 +1,18 @@
++const fs = require('node:fs')
++const path = require('node:path')
++const childProcess = require('node:child_process')
++
++const packageJSONPath = path.join(__dirname, '..', 'package.json')
++const packageJSONRaw = fs.readFileSync(packageJSONPath, 'utf-8')
++const packageJSON = JSON.parse(packageJSONRaw)
++const version = packageJSON.version
++
++const packageTypesJSONPath = path.join(__dirname, '..', 'types', 'package.json')
++const packageTypesJSONRaw = fs.readFileSync(packageTypesJSONPath, 'utf-8')
++const packageTypesJSON = JSON.parse(packageTypesJSONRaw)
++packageTypesJSON.version = version
++
++fs.writeFileSync(packageTypesJSONPath, JSON.stringify(packageTypesJSON, null, 2))
++
++childProcess.execSync('git add types/package.json', { cwd: path.join(__dirname, '..') })
++childProcess.execSync(`git commit -n -m 'undici-types@${version}'`, { cwd: path.join(__dirname, '..') })
+diff --git a/types/README.md b/types/README.md
+new file mode 100644
+index 0000000..20a721c
+--- /dev/null
++++ b/types/README.md
+@@ -0,0 +1,6 @@
++# undici-types
++
++This package is a dual-publish of the [undici](https://www.npmjs.com/package/undici) library types. The `undici` package **still contains types**. This package is for users who _only_ need undici types (such as for `@types/node`). It is published alongside every release of `undici`, so you can always use the same version.
++
++- [GitHub nodejs/undici](https://github.com/nodejs/undici)
++- [Undici Documentation](https://undici.nodejs.org/#/)
+diff --git a/types/index.d.ts b/types/index.d.ts
+new file mode 100644
+index 0000000..4afadd6
+--- /dev/null
++++ b/types/index.d.ts
+@@ -0,0 +1,54 @@
++import Dispatcher from'./dispatcher'
++import { setGlobalDispatcher, getGlobalDispatcher } from './global-dispatcher'
++import { setGlobalOrigin, getGlobalOrigin } from './global-origin'
++import Pool from'./pool'
++import { RedirectHandler, DecoratorHandler } from './handlers'
++
++import BalancedPool from './balanced-pool'
++import Client from'./client'
++import buildConnector from'./connector'
++import errors from'./errors'
++import Agent from'./agent'
++import MockClient from'./mock-client'
++import MockPool from'./mock-pool'
++import MockAgent from'./mock-agent'
++import mockErrors from'./mock-errors'
++import ProxyAgent from'./proxy-agent'
++import { request, pipeline, stream, connect, upgrade } from './api'
++
++export * from './cookies'
++export * from './fetch'
++export * from './file'
++export * from './filereader'
++export * from './formdata'
++export * from './diagnostics-channel'
++export * from './websocket'
++export { Interceptable } from './mock-interceptor'
++
++export { Dispatcher, BalancedPool, Pool, Client, buildConnector, errors, Agent, request, stream, pipeline, connect, upgrade, setGlobalDispatcher, getGlobalDispatcher, setGlobalOrigin, getGlobalOrigin, MockClient, MockPool, MockAgent, mockErrors, ProxyAgent, RedirectHandler, DecoratorHandler }
++export default Undici
++
++declare namespace Undici {
++  var Dispatcher: typeof import('./dispatcher').default
++  var Pool: typeof import('./pool').default;
++  var RedirectHandler: typeof import ('./handlers').RedirectHandler
++  var DecoratorHandler: typeof import ('./handlers').DecoratorHandler
++  var createRedirectInterceptor: typeof import ('./interceptors').createRedirectInterceptor
++  var BalancedPool: typeof import('./balanced-pool').default;
++  var Client: typeof import('./client').default;
++  var buildConnector: typeof import('./connector').default;
++  var errors: typeof import('./errors').default;
++  var Agent: typeof import('./agent').default;
++  var setGlobalDispatcher: typeof import('./global-dispatcher').setGlobalDispatcher;
++  var getGlobalDispatcher: typeof import('./global-dispatcher').getGlobalDispatcher;
++  var request: typeof import('./api').request;
++  var stream: typeof import('./api').stream;
++  var pipeline: typeof import('./api').pipeline;
++  var connect: typeof import('./api').connect;
++  var upgrade: typeof import('./api').upgrade;
++  var MockClient: typeof import('./mock-client').default;
++  var MockPool: typeof import('./mock-pool').default;
++  var MockAgent: typeof import('./mock-agent').default;
++  var mockErrors: typeof import('./mock-errors').default;
++  var fetch: typeof import('./fetch').fetch;
++}
+diff --git a/types/package.json b/types/package.json
+new file mode 100644
+index 0000000..f5690fc
+--- /dev/null
++++ b/types/package.json
+@@ -0,0 +1,55 @@
++{
++  "name": "undici-types",
++  "version": "5.24.0",
++  "description": "A stand-alone types package for Undici",
++  "homepage": "https://undici.nodejs.org";,
++  "bugs": {
++    "url": "https://github.com/nodejs/undici/issues";
++  },
++  "repository": {
++    "type": "git",
++    "url": "git+https://github.com/nodejs/undici.git";
++  },
++  "license": "MIT",
++  "types": "index.d.ts",
++  "files": [
++    "*.d.ts"
++  ],
++  "contributors": [
++    {
++      "name": "Daniele Belardi",
++      "url": "https://github.com/dnlup";,
++      "author": true
++    },
++    {
++      "name": "Ethan Arrowood",
++      "url": "https://github.com/ethan-arrowood";,
++      "author": true
++    },
++    {
++      "name": "Matteo Collina",
++      "url": "https://github.com/mcollina";,
++      "author": true
++    },
++    {
++      "name": "Matthew Aitken",
++      "url": "https://github.com/KhafraDev";,
++      "author": true
++    },
++    {
++      "name": "Robert Nagy",
++      "url": "https://github.com/ronag";,
++      "author": true
++    },
++    {
++      "name": "Szymon Marczak",
++      "url": "https://github.com/szmarczak";,
++      "author": true
++    },
++    {
++      "name": "Tomas Della Vedova",
++      "url": "https://github.com/delvedor";,
++      "author": true
++    }
++  ]
++}
diff -Nru node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/patches/build-Fix-incorrect-syntax-for-error-limit.patch node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/patches/build-Fix-incorrect-syntax-for-error-limit.patch
--- node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/patches/build-Fix-incorrect-syntax-for-error-limit.patch	1970-01-01 01:00:00.000000000 +0100
+++ node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/patches/build-Fix-incorrect-syntax-for-error-limit.patch	2024-04-13 11:18:29.000000000 +0200
@@ -0,0 +1,26 @@
+From: Ryan Gonzalez <ryan.gonzalez@collabora.com>
+Date: Mon, 12 Feb 2024 18:00:22 -0600
+Subject: build: Fix incorrect syntax for --error-limit
+
+lld 15+ removed support for single dashes:
+
+https://github.com/llvm/llvm-project/commit/87628f5804e23a40986692f6cdcf66654ce3f017
+
+Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com>
+---
+ llhttp/bin/build_wasm.ts | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/llhttp/bin/build_wasm.ts b/llhttp/bin/build_wasm.ts
+index d0fb1ad..7286432 100644
+--- a/llhttp/bin/build_wasm.ts
++++ b/llhttp/bin/build_wasm.ts
+@@ -61,7 +61,7 @@ execSync(`${WASI_ROOT}/bin/clang \
+  -fvisibility=hidden \
+  -mexec-model=reactor \
+  -Wl,-lc \
+- -Wl,-error-limit=0 \
++ -Wl,--error-limit=0 \
+  -Wl,-O3 \
+  -Wl,--lto-O3 \
+  -Wl,--strip-all \
diff -Nru node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/patches/series node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/patches/series
--- node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/patches/series	2023-12-21 11:14:59.000000000 +0100
+++ node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/patches/series	2024-04-13 11:18:29.000000000 +0200
@@ -10,3 +10,5 @@
 update-httpbin.org-test-timeout.patch
 CVE-2023-45143.patch
 generate-undici-package-types.patch
+Add-publish-types-script-2273.patch
+build-Fix-incorrect-syntax-for-error-limit.patch
diff -Nru node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/rules node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/rules
--- node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/rules	2022-07-20 12:53:10.000000000 +0200
+++ node-undici-5.15.0+dfsg1+~cs20.10.9.3/debian/rules	2024-04-13 11:18:29.000000000 +0200
@@ -10,6 +10,11 @@
 %:
 	dh $@
 
+override_dh_auto_build:
+	# Override the global undici-types with our local copy.
+	cp -r types node_modules/undici-types
+	dh_auto_build --buildsystem=nodejs
+
 override_dh_auto_test:
 	# autopkgtest only
 

--- End Message ---
--- Begin Message ---
Version: 12.6

The upload requested in this bug has been released as part of 12.6.

--- End Message ---

Reply to: