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

Reply via email to