Hello Helmut, > curl is transitioning from libssh2 to libssh. > Since curl is required for > architecture bootstrap, so will be libssh. That's significant, because > you must be careful about your Build-Depends and avoid introducing > cycles.
Ouch, that wasn't intended at all. There are currently no plans of migrating to libssh. We recently merged a commit[0] that would allow Ubuntu to remove its delta due to the fact that they migrated to libssh already, The changes don't affect Debian's curl binaries, since libssh is not used in Debian's build. Though I didn't realise having it in Build-Depends would pose a problem to bootstrap (which makes sense). > Speaking of Build-Depends, libssh has some that are > inappropriate for architecture bootstrap and needs to be updated. There > are two aspects. For one thing, Build-Depends of packages involved in > architecture bootstrap must be real. No virtual packages are allowed, > because provides are computed at build-time and we have no way of > figuring out which source package is going to build a binary package > that provides a particular virtual package. This affects the libz-dev > dependency. I suggest updating it to zlib1g-dev | libz-dev (i.e. telling > the preferred provider). This leaves the full flexibility and avoids the > issue with virtual packages. The other is excessive dependencies for > testing. I figured that all of libcmocka-dev, openssh-client, > openssh-server and python3:any are only required for running tests. As > such, they can all be annotated <!nocheck>. Any dependency thus > annotated becomes fully irrelevant to architecture bootstrap. In other > words, you don't have to keep this bootstrap stuff in mind when you add > test dependencies annotated with <!nocheck>. I'm attaching a patch for > your convenience and hope it is going to be fine. All of these changes sound like something we should do at some point in time anyway, but we can surely revert the curl changes to allow people to enjoy their holidays/end of the year. > Given that the curl > maintainers already added the libssh-dev dependency without consulting > it first, there is urgency. Architecture bootstrap is presently broken > for all architectures due to that change. Please upload the change > quickly. If you lack the time to do it, I can NMU it. I'm sorry you had to do this, Helmut, and I appreciate your descriptiveness. I'm not familiar with how frequent people are doing architecture bootstraps on Debian, so would you like me to revert that specific change? I can surely do it with no problem, I'm asking because you already have a debdiff and now you might say it's ok to wait for an NMU (again, I don't know how grave it would be to block bootstraping in the meanwhile). I also don't wanna give you more work than you already have, so if you don't reply soon (+/-18h), I will go ahead with the revert (since this is the safest approach). [0] https://salsa.debian.org/debian/curl/-/merge_requests/12 Thank you, -- Samuel Henrique <samueloph>