Source: sdbus-cpp
Version: 0.8.3-3
Tags: patch

Dear Maintainer,

Please find attached some patches to enable multiarch support and
nodoc/nocheck build profiles (for easier
crossbuild/bootstrap/backport).

-- 
Kind regards,
Luca Boccassi
From 168de8ec595b374883c40fdfea317c288ddd4349 Mon Sep 17 00:00:00 2001
From: Luca Boccassi <luca.bocca...@microsoft.com>
Date: Mon, 22 Feb 2021 13:34:05 +0000
Subject: [PATCH 1/5] libsdbus-c++-dev: downgrade Depends on libsdbus-c++-bin
 to Suggests

It is not actually necessary to use the library headers and link against
the shared object, it's a useful development tool. A Suggests is enough
and doesn't have side effects on Multiarch installations.
---
 debian/control | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/debian/control b/debian/control
index 88cd943..5863c9f 100644
--- a/debian/control
+++ b/debian/control
@@ -34,10 +34,11 @@ Description: High-level C++ D-Bus library for Linux in modern C++ (utilities)
 Package: libsdbus-c++-dev
 Architecture: linux-any
 Depends:
- libsdbus-c++-bin (= ${binary:Version}),
  libsdbus-c++0 (= ${binary:Version}),
  ${misc:Depends},
  ${shlibs:Depends},
+Suggests:
+ libsdbus-c++-bin,
 Description: High-level C++ D-Bus library for Linux in modern C++ (development files)
  sdbus-c++ is a high-level C++ D-Bus library for Linux designed to provide
  expressive, easy-to-use API in modern C++. It adds another layer of
-- 
2.29.2

From 195a46bf1e5693546aef92727bbf48cf14301209 Mon Sep 17 00:00:00 2001
From: Luca Boccassi <luca.bocca...@microsoft.com>
Date: Mon, 22 Feb 2021 13:40:21 +0000
Subject: [PATCH 2/5] Enable Multiarch support

---
 debian/control | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/debian/control b/debian/control
index 5863c9f..6ab5c31 100644
--- a/debian/control
+++ b/debian/control
@@ -33,6 +33,7 @@ Description: High-level C++ D-Bus library for Linux in modern C++ (utilities)
 
 Package: libsdbus-c++-dev
 Architecture: linux-any
+Multi-Arch: same
 Depends:
  libsdbus-c++0 (= ${binary:Version}),
  ${misc:Depends},
@@ -49,6 +50,7 @@ Description: High-level C++ D-Bus library for Linux in modern C++ (development f
 Package: libsdbus-c++-doc
 Section: doc
 Architecture: all
+Multi-Arch: foreign
 Depends:
  ${misc:Depends},
  ${shlibs:Depends},
@@ -62,6 +64,9 @@ Description: High-level C++ D-Bus library for Linux in modern C++ (documentation
 Package: libsdbus-c++0
 Section: libs
 Architecture: linux-any
+Multi-Arch: same
+Pre-Depends:
+ ${misc:Pre-Depends},
 Depends:
  ${misc:Depends},
  ${shlibs:Depends},
-- 
2.29.2

From 14bff4c1d7c4c1af021d189ff4df378e41d50141 Mon Sep 17 00:00:00 2001
From: Luca Boccassi <luca.bocca...@microsoft.com>
Date: Mon, 22 Feb 2021 13:43:34 +0000
Subject: [PATCH 3/5] Add support for nocheck build option/profile

---
 debian/control |  4 ++--
 debian/rules   | 11 ++++++++++-
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/debian/control b/debian/control
index 6ab5c31..6b1c8b9 100644
--- a/debian/control
+++ b/debian/control
@@ -5,9 +5,9 @@ Maintainer: Shengjing Zhu <z...@debian.org>
 Rules-Requires-Root: no
 Build-Depends:
  cmake,
- dbus,
+ dbus <!nocheck>,
  debhelper-compat (= 13),
- googletest (>= 1.10.0~),
+ googletest (>= 1.10.0~) <!nocheck>,
  libexpat1-dev,
  libsystemd-dev,
  pkg-config,
diff --git a/debian/rules b/debian/rules
index 45f038e..8891790 100644
--- a/debian/rules
+++ b/debian/rules
@@ -1,12 +1,20 @@
 #!/usr/bin/make -f
 
+ENABLE_TESTS=OFF
+ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
+ifeq (,$(filter nocheck,$(DEB_BUILD_PROFILES)))
+ENABLE_TESTS=ON
+endif
+endif
+
 %:
 	dh $@
 
 override_dh_auto_configure-arch:
-	dh_auto_configure -- -DBUILD_CODE_GEN=ON -DBUILD_TESTS=ON
+	dh_auto_configure -- -DBUILD_CODE_GEN=ON -DBUILD_TESTS=$(ENABLE_TESTS)
 
 override_dh_auto_test-arch:
+ifeq ($(ENABLE_TESTS), ON)
 	-kill -9 $$(cat /tmp/sdbuscpp.pid)
 	-rm -v debian/dbus.conf /tmp/sdbuscpp_bus /tmp/sdbuscpp.pid
 
@@ -20,6 +28,7 @@ override_dh_auto_test-arch:
 
 	-kill -9 $$(cat /tmp/sdbuscpp.pid)
 	-rm -v debian/dbus.conf /tmp/sdbuscpp_bus /tmp/sdbuscpp.pid
+endif
 
 override_dh_auto_configure-indep:
 	dh_auto_configure -- -DBUILD_DOXYGEN_DOC=ON
-- 
2.29.2

From 6b8385a3e0f132f1d0e8981d3893f3e20cd805a1 Mon Sep 17 00:00:00 2001
From: Luca Boccassi <luca.bocca...@microsoft.com>
Date: Mon, 22 Feb 2021 13:46:42 +0000
Subject: [PATCH 4/5] Mark d/rules as executable

'dpkg-buildpackage: warning: debian/rules is not executable; fixing that'
---
 debian/rules | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 mode change 100644 => 100755 debian/rules

diff --git a/debian/rules b/debian/rules
old mode 100644
new mode 100755
-- 
2.29.2

From 754afde9ece1024faddc2b781c4f447246f02aa8 Mon Sep 17 00:00:00 2001
From: Luca Boccassi <luca.bocca...@microsoft.com>
Date: Mon, 22 Feb 2021 13:59:29 +0000
Subject: [PATCH 5/5] Add support for nodoc build option/profile

Facilitates cross-building and bootstrapping
---
 debian/control |  3 ++-
 debian/rules   | 15 ++++++++++++++-
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/debian/control b/debian/control
index 6b1c8b9..438d2b1 100644
--- a/debian/control
+++ b/debian/control
@@ -12,7 +12,7 @@ Build-Depends:
  libsystemd-dev,
  pkg-config,
 Build-Depends-Indep:
- doxygen,
+ doxygen <!nodoc>,
 Standards-Version: 4.5.1
 Homepage: https://github.com/Kistler-Group/sdbus-cpp
 Vcs-Git: https://salsa.debian.org/zhsj/sdbus-cpp.git
@@ -49,6 +49,7 @@ Description: High-level C++ D-Bus library for Linux in modern C++ (development f
 
 Package: libsdbus-c++-doc
 Section: doc
+Build-Profiles: <!nodoc>
 Architecture: all
 Multi-Arch: foreign
 Depends:
diff --git a/debian/rules b/debian/rules
index 8891790..4ba1313 100755
--- a/debian/rules
+++ b/debian/rules
@@ -7,11 +7,18 @@ ENABLE_TESTS=ON
 endif
 endif
 
+ENABLE_DOCS=OFF
+ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS)))
+ifeq (,$(filter nodoc,$(DEB_BUILD_PROFILES)))
+ENABLE_DOCS=ON
+endif
+endif
+
 %:
 	dh $@
 
 override_dh_auto_configure-arch:
-	dh_auto_configure -- -DBUILD_CODE_GEN=ON -DBUILD_TESTS=$(ENABLE_TESTS)
+	dh_auto_configure -- -DBUILD_CODE_GEN=ON -DBUILD_TESTS=$(ENABLE_TESTS) -DBUILD_DOC=$(ENABLE_DOCS)
 
 override_dh_auto_test-arch:
 ifeq ($(ENABLE_TESTS), ON)
@@ -31,12 +38,18 @@ ifeq ($(ENABLE_TESTS), ON)
 endif
 
 override_dh_auto_configure-indep:
+ifeq ($(ENABLE_DOCS), ON)
 	dh_auto_configure -- -DBUILD_DOXYGEN_DOC=ON
+endif
 
 override_dh_auto_build-indep:
+ifeq ($(ENABLE_DOCS), ON)
 	dh_auto_build -- doc
+endif
 
 override_dh_auto_install-indep:
+ifeq ($(ENABLE_DOCS), ON)
 	dh_auto_install -- -C docs
+endif
 
 override_dh_auto_test-indep:
-- 
2.29.2

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to