Source: libssh Version: 0.9.6-1 Severity: important Tags: patch User: helm...@debian.org Usertags: rebootstrap X-Debbugs-Cc: samuel...@debian.org
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. 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. 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. Helmut
diff --minimal -Nru libssh-0.9.6/debian/changelog libssh-0.9.6/debian/changelog --- libssh-0.9.6/debian/changelog 2021-08-28 12:51:05.000000000 +0200 +++ libssh-0.9.6/debian/changelog 2021-12-25 09:06:30.000000000 +0100 @@ -1,3 +1,10 @@ +libssh (0.9.6-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Reduce Build-Depends for architecture bootstrap. (Closes: #-1) + + -- Helmut Grohne <hel...@subdivi.de> Sat, 25 Dec 2021 09:06:30 +0100 + libssh (0.9.6-1) unstable; urgency=medium * New upstream version 0.9.6: diff --minimal -Nru libssh-0.9.6/debian/control libssh-0.9.6/debian/control --- libssh-0.9.6/debian/control 2021-08-28 12:51:05.000000000 +0200 +++ libssh-0.9.6/debian/control 2021-12-25 09:06:29.000000000 +0100 @@ -5,15 +5,15 @@ Uploaders: Mike Gabriel <sunwea...@debian.org>, Martin Pitt <mp...@debian.org> Build-Depends: cmake (>= 2.8.5), debhelper-compat (= 12), - libcmocka-dev, + libcmocka-dev <!nocheck>, libgcrypt-dev, libkrb5-dev | heimdal-dev, libssl-dev, - libz-dev, - openssh-client, - openssh-server, + zlib1g-dev | libz-dev, + openssh-client <!nocheck>, + openssh-server <!nocheck>, pkg-config, - python3:any + python3:any <!nocheck>, Build-Depends-Indep: doxygen <!nodoc>, graphviz <!nodoc> Standards-Version: 4.6.0 Rules-Requires-Root: no diff --minimal -Nru libssh-0.9.6/debian/rules libssh-0.9.6/debian/rules --- libssh-0.9.6/debian/rules 2021-08-28 12:51:05.000000000 +0200 +++ libssh-0.9.6/debian/rules 2021-12-25 09:06:30.000000000 +0100 @@ -1,6 +1,6 @@ #!/usr/bin/make -f -DEB_CMAKE_EXTRA_FLAGS := -DBUILD_STATIC_LIB=ON -DLIB_INSTALL_DIR=/usr/lib/$(DEB_HOST_MULTIARCH) -DUNIT_TESTING=ON -DWITH_GSSAPI=ON +DEB_CMAKE_EXTRA_FLAGS := -DBUILD_STATIC_LIB=ON -DLIB_INSTALL_DIR=/usr/lib/$(DEB_HOST_MULTIARCH) -DUNIT_TESTING=$(if $(filter nocheck,$(DEB_BUILD_OPTIONS)),OFF,ON) -DWITH_GSSAPI=ON export DEB_LDFLAGS_MAINT_APPEND = -Wl,-z,defs -Wl,-O1 -Wl,--as-needed export DEB_BUILD_MAINT_OPTIONS = hardening=+all