Source: srt Version: 1.4.1-5 Severity: serious Tags: patch ftbfs Justification: fails to build from source (but built successfully in the past)
Dear colleagues, Doing a no-change rebuild of srt for buster-backports/amd64, I noticed that 'gbp buildpackage' fails on 'dh clean --with sphinxdoc': dpkg-checkbuilddeps: error: Unmet build dependencies: cmake chrpath help2man libgnutls28-dev libssl-dev pkg-config tclsh .[1;33mW: Unmet build-dependency in source.[0m dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying 001-multiarch-rpath.patch dh clean --with sphinxdoc dh: error: unable to load addon sphinxdoc: Can't locate Debian/Debhelper/Sequence/sphinxdoc.pm in @INC (you may need to install the Debian::Debhelper::Sequence BEGIN failed--compilation aborted at (eval 14) line 1. make: *** [debian/rules:21: clean] Error 25 The core issue is that sphinxdoc is installed in chroot while dh_clean is first called on host system. Figuring this out, I noticed that libsrt-doc has no files except of changelog.gz and copyright. I fixed the issues and provided a doc-base registration of HTML manual. Please review the attached patches and upload a backportvto buster once fixed. Vasyl -- System Information: Debian Release: bullseye/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: amd64 (x86_64) Kernel: Linux 4.15.0-108-generic (SMP w/6 CPU cores) Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=C, LC_CTYPE=C (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8), LANGUAGE=C (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8) Shell: /bin/sh linked to /bin/dash Init: unable to detect
>From ec7f2e365f90ea8d2d9e7b7f730f902d9b59b6b8 Mon Sep 17 00:00:00 2001 From: Vasyl Gello <vasek.ge...@gmail.com> Date: Fri, 19 Jun 2020 08:09:12 +0000 Subject: [PATCH 1/4] debian: move python3-sphinx to Build-Depends-Indep Fixes FTBFS edge case using pbuilder chroot, when dh_clean invoked on host system to build source package fails to find debhelper sequence provided by a package listed in Build-Depends and installed later inside the chroot. The solution is adapted from pynfft package: https://salsa.debian.org/science-team/pynfft/-/commit/4c4c47acc0dba6ee0f3fa6cf4c3fc6f5555fbe41 The "override_dh_auto_build" conflicts with "override_dh_auto_build-{arch,indep}", so renaming "override_dh_auto_build" to "override_dh_auto_build-arch". Thanks-To: to Mattia Rizzolo <mat...@debian.org> Signed-off-by: Vasyl Gello <vasek.ge...@gmail.com> --- debian/control | 2 +- debian/rules | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/debian/control b/debian/control index 063cae9..58c9ae8 100644 --- a/debian/control +++ b/debian/control @@ -8,8 +8,8 @@ Build-Depends: debhelper-compat (= 13), libgnutls28-dev, libssl-dev, pkg-config, - python3-sphinx, tclsh +Build-Depends-Indep: python3-sphinx Standards-Version: 4.5.0 Section: libs Homepage: https://github.com/Haivision/srt diff --git a/debian/rules b/debian/rules index 7a832ed..081541a 100755 --- a/debian/rules +++ b/debian/rules @@ -18,7 +18,7 @@ include /usr/share/dpkg/default.mk # provides DEB_VERSION export USE_ENCLIB=gnutls %: - dh $@ --with sphinxdoc + dh $@ override_dh_auto_clean: dh_clean @@ -33,12 +33,14 @@ override_dh_auto_configure: cd build-openssl && cmake .. $(CMAKE_OPTS) -DUSE_ENCLIB=openssl cd build-gnutls && cmake .. $(CMAKE_OPTS) -DUSE_ENCLIB=gnutls -DTARGET_srt=srt-gnutls -override_dh_auto_build: +override_dh_auto_build-arch: #dh_auto_build --builddirectory=debian/build/openssl #dh_auto_build --builddirectory=debian/build/gnutls mkdir -p build-openssl build-gnutls cd build-openssl && $(MAKE) cd build-gnutls && $(MAKE) + +override_dh_auto_build-indep: http_proxy='http://127.0.0.1:9/' python3 -m sphinx -N -c debian -bhtml docs debian/html override_dh_auto_install: -- 2.27.0
>From 6a0ca791c0c832dda75f6f00b0453b34933cf4ab Mon Sep 17 00:00:00 2001 From: Vasyl Gello <vasek.ge...@gmail.com> Date: Sat, 27 Jun 2020 10:49:24 +0000 Subject: [PATCH 2/4] debian: install HTML documents to libsrt-doc Documents generated by sphinx were installed nowhere, and libsrt-doc had no document files at all. Fixing it by providing debian/libsrt-doc.docs Signed-off-by: Vasyl Gello <vasek.ge...@gmail.com> --- debian/libsrt-doc.docs | 1 + 1 file changed, 1 insertion(+) create mode 100644 debian/libsrt-doc.docs diff --git a/debian/libsrt-doc.docs b/debian/libsrt-doc.docs new file mode 100644 index 0000000..82dbdaf --- /dev/null +++ b/debian/libsrt-doc.docs @@ -0,0 +1 @@ +debian/html -- 2.27.0
>From de168b1ed490295a7fde12fc5db79bee44992044 Mon Sep 17 00:00:00 2001 From: Vasyl Gello <vasek.ge...@gmail.com> Date: Sat, 27 Jun 2020 11:48:23 +0000 Subject: [PATCH 3/4] debian: spare Sphinx doctrees into debian/doctrees * Fixes Lintisn warning 'package-contains-python-doctree-file' Signed-off-by: Vasyl Gello <vasek.ge...@gmail.com> --- debian/rules | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/rules b/debian/rules index 081541a..49603f0 100755 --- a/debian/rules +++ b/debian/rules @@ -22,7 +22,7 @@ export USE_ENCLIB=gnutls override_dh_auto_clean: dh_clean - rm -rf CMakeFiles/ debian/html build-openssl build-gnutls + rm -rf CMakeFiles/ debian/doctrees debian/html build-openssl build-gnutls override_dh_auto_configure: #dh_auto_configure --builddirectory=debian/build/openssl \ @@ -41,7 +41,7 @@ override_dh_auto_build-arch: cd build-gnutls && $(MAKE) override_dh_auto_build-indep: - http_proxy='http://127.0.0.1:9/' python3 -m sphinx -N -c debian -bhtml docs debian/html + http_proxy='http://127.0.0.1:9/' python3 -m sphinx -N -c debian -d debian/doctrees -bhtml docs debian/html override_dh_auto_install: #dh_auto_install -- 2.27.0
>From 0e23af202b32cb2c00e6fe38fc8c8df2bd29fe7e Mon Sep 17 00:00:00 2001 From: Vasyl Gello <vasek.ge...@gmail.com> Date: Sat, 27 Jun 2020 12:11:01 +0000 Subject: [PATCH 4/4] debian: Add doc-base registration Signed-off-by: Vasyl Gello <vasek.ge...@gmail.com> --- debian/libsrt-doc.doc-base | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 debian/libsrt-doc.doc-base diff --git a/debian/libsrt-doc.doc-base b/debian/libsrt-doc.doc-base new file mode 100644 index 0000000..e8a2295 --- /dev/null +++ b/debian/libsrt-doc.doc-base @@ -0,0 +1,10 @@ +Document: libsrt-doc +Title: Documentation for SRT (Secure Reliable Transport) library +Author: Haivision, Inc +Abstract: This manual describes the Secure Reliable Transport + protocol and application development using libsrt. +Section: Programming/C++ + +Format: HTML +Index: /usr/share/doc/libsrt-doc/html/API.html +Files: /usr/share/doc/libsrt-doc/html/*.html -- 2.27.0