- Package:
- src:llhttp
- Source:
- src:llhttp
- Submitter:
- Adrian Bunk
- Date:
- 2026-06-24 13:27:01 UTC
- Severity:
- normal
- Tags:
debian/control of llhttp: Source: llhttp ... Build-Depends-Arch: ... , libllhttp-source (>= 9.4.2+~cs12.11.9~) ... Package: libllhttp-source ... Architecture: all While this kinda works in unstable, it depends on implementation details and is rather fragile. This cannot work when amd64+all is a combined build, as some of our derivatives (e.g. Ubuntu) are doing. In unstable it works due to incoming.debian.org providing the binary-all packages for 2 days. llhttp is a package not unlikely to have DSAs once it is in a stable release, and I doubt this setup would work in security when a DSA updates to a new upstream version. I would guess the original motivation was supporting ports architectures without Node.js and LLVM, but the current setup causes more problems than it solves. Less bad options might be a separate source package for the binary-any build (with Static-Built-Using), or using a different HTTP Parser in libgit on ports architectures.
Note that the build-dependency is not on the *same* version being uploaded,
but on *any* release of the form 9.4.2+~cs12.11.9-x.
This is at most a minor bootstrapping problem. As soon as some recent
version of libllhttp-source exists, everybody will be able to build
the package.
A minor bootstrapping problem is not RC.
Not a big deal.
While we are at it: I can't build this package from source right now,
but the reason is definitely NOT that the package build-depends on
libllhttp-source.
This is what I get:
node --import tsx bin/generate.ts
file:///usr/share/nodejs/tsx/dist/loader.mjs:1199
import { isFileIncluded } from "get-tsconfig";
^^^^^^^^^^^^^^
SyntaxError: The requested module 'get-tsconfig' does not provide an export named 'isFileIncluded'
at #asyncInstantiate (node:internal/modules/esm/module_job:327:21)
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
at async ModuleJob.run (node:internal/modules/esm/module_job:431:5)
at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:633:26)
at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:96:9)
Node.js v24.17.0
make[2]: *** [Makefile:89: generate] Error 1
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
rm: cannot remove 'release/LICENSE': No such file or directory
rm: cannot remove 'release/README.md': No such file or directory
make[1]: *** [debian/rules:52: release] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:17: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
Any ideas?
Thanks.
The would have to bootstrap it for every new upstream version. As already mentioned, this might also imply having to bootstrap in security if a DSA brings a new upstream version. cu Adrian
Le dim. 21 juin 2026 à 14:37, Santiago Vila <sanvila@debian.org> a écrit : I was trying to find an elegant and minimalist solution to that bootstrap issue. On debuild build servers, it works pretty nicely, because they build first the arch "all" and then arch "any" binaries can follow. I wasn't aware Ubuntu wasn't doing that. The *only* other solution is to upload the package twice, which I was doing previously. They can bootstrap their package using our libllhttp-source binary package. This one is fixed in node-tsx 4.22.4+~cs13.31.0-2
created yesterday.
The error today is different:
Install main build dependencies (apt-based resolver)
----------------------------------------------------
Installing build dependencies
Reading package lists...
Building dependency tree...
Reading state information...
Solving dependencies...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
sbuild-build-depends-main-dummy : Depends: debhelper-compat (= 13)
Depends: dh-cmake-compat (= 1)
Depends: dh-cmake but it is not going to be installed
Depends: cmake but it is not going to be installed
Depends: libllhttp-source (>= 9.4.2+~cs12.11.9~) but it is not going to be installed
Depends: dh-nodejs but it is not going to be installed
Depends: binaryen but it is not going to be installed
Depends: clang but it is not going to be installed
Depends: libclang-rt-dev-wasm32 but it is not going to be installed
Depends: lld (>= 1:16) but it is not going to be installed
Depends: node-debug but it is not going to be installed
Depends: node-markdown-it (>= 22.2.3+dfsg+~12.2.3-2~) but it is not going to be installed
Depends: node-semver but it is not going to be installed
Depends: node-typescript but it is not going to be installed
Depends: node-tsx
Depends: ts-node but it is not going to be installed
Depends: wasi-libc but it is not going to be installed
E: Unable to satisfy dependencies. Reached two conflicting assignments:
1. webpack:amd64=5.107.2+dfsg1+~cs15.16.25-1 is selected for install because:
1. sbuild-build-depends-main-dummy:amd64=0.invalid.0 is selected for install
2. sbuild-build-depends-main-dummy:amd64 Depends node-tsx
3. tsx:amd64 Depends node-fastest-levenshtein
2. webpack:amd64 Depends node-eslint-visitor-keys
but none of the choices are installable:
- node-eslint-visitor-keys:amd64 is available in version 3.3.0+~1.0.0-2
but none of the choices are installable:
- node-eslint-visitor-keys:amd64=3.3.0+~1.0.0-2 is not selected for install because:
1. sbuild-build-depends-main-dummy:amd64=0.invalid.0 is selected for install as above
2. sbuild-build-depends-main-dummy:amd64 Depends ts-node
3. ts-node:amd64 Depends node-acorn
4. node-acorn:amd64 Breaks node-eslint-visitor-keys (< 3.3.0+~1.0.0-3~)
apt-get failed.
E: Package installation failed
I have no idea about what could be the reason for this.
Thanks.
Le dim. 21 juin 2026 à 16:15, Santiago Vila <sanvila@debian.org> a écrit : Yadd fixed the issue with node-tsx (that was my bad). Rouca is currently working on webpack, and he made some uploads today, hopefully fixing it.
Le dim. 21 juin 2026 à 17:39, Jérémy Lal <kapouer@melix.org> a écrit : It builds on an updated sbuild here, so it's just a matter of minutes.