diff --git a/.github/release-nest-v3 b/.github/release-nest-v3 index 56a6051..d8263ee 100644 --- a/.github/release-nest-v3 +++ b/.github/release-nest-v3 @@ -1 +1 @@ -1 \ No newline at end of file +2 \ No newline at end of file diff --git a/debian/changelog b/debian/changelog index 6d8d068..a4f0e9e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,116 @@ -upstream-name (1.0-101pika1) pika; urgency=medium +sdbus-cpp (2.0.0-1) unstable; urgency=medium - * Initial release. (Closes: #nnnn) + * New upstream release - -- ferreo Wed, 18 Jan 2023 21:48:14 +0000 + -- Ferreo Sun, 27 Oct 2024 10:12:17 +0800 + +sdbus-cpp (1.6.0-1) unstable; urgency=medium + + * New upstream release + + Fix FTBFS with GCC-14(Closes: #1075446) + * Drop patches applied in new version + + -- Shengjing Zhu Mon, 29 Jul 2024 10:12:17 +0800 + +sdbus-cpp (1.4.0-2) unstable; urgency=medium + + * Cherry pick upstream patch to fix resolving libsystemd dependency with + pkgconfig (Closes: #1059422) + + -- Shengjing Zhu Sat, 30 Dec 2023 05:00:40 +0800 + +sdbus-cpp (1.4.0-1) unstable; urgency=medium + + * New upstream release + * skip GetMachineId test when /etc/machine-id doesn't exist + + -- Shengjing Zhu Mon, 06 Nov 2023 21:51:25 +0800 + +sdbus-cpp (1.3.0-1) unstable; urgency=medium + + * New upstream release + * Revert "Backport patch to fix test with libsystemd v251" + * Depends on libsystemd-dev for libsdbus-c++-dev (Closes: #1053683) + + -- Shengjing Zhu Mon, 09 Oct 2023 17:01:32 +0800 + +sdbus-cpp (1.2.0-2) unstable; urgency=medium + + * Replace dbus with dbus-daemon in Build-Depends + * Backport patch to fix test with libsystemd v251 (Closes: #1022384) + * Update Standards-Version to 4.6.2 (no changes) + + -- Shengjing Zhu Tue, 03 Jan 2023 23:19:19 +0800 + +sdbus-cpp (1.2.0-1) unstable; urgency=medium + + * New upstream release + * Update Standards-Version to 4.6.1 (no changes) + * Drop patch applied in new version + + -- Shengjing Zhu Sat, 20 Aug 2022 15:35:03 +0800 + +sdbus-cpp (1.1.0-3) unstable; urgency=medium + + * Link libatomic on armel mipsel and powerpc + + -- Shengjing Zhu Thu, 10 Feb 2022 03:25:25 +0800 + +sdbus-cpp (1.1.0-2) unstable; urgency=medium + + * Upload to unstable + + -- Shengjing Zhu Wed, 09 Feb 2022 23:27:21 +0800 + +sdbus-cpp (1.1.0-1) experimental; urgency=medium + + * New upstream release. + * Bump SO version to 1 + * Backport patch to fix building with googletest 1.11.0 + + -- Shengjing Zhu Sun, 06 Feb 2022 23:05:41 +0800 + +sdbus-cpp (0.8.3-5) unstable; urgency=medium + + [ Luca Boccassi ] + * Mark d/rules as executable + 'dpkg-buildpackage: warning: debian/rules is not executable; fixing that' + * Enable Multiarch support (Closes: #983335) + * 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. + + [ Shengjing Zhu ] + * Add nodoc Build-Profiles + * Add nocheck Build-Profile + * Update Standards-Version to 4.6.0 (no changes) + + -- Shengjing Zhu Wed, 01 Sep 2021 03:13:23 +0800 + +sdbus-cpp (0.8.3-4) unstable; urgency=medium + + [ Luca Boccassi ] + * Restrict googletest dependency to >= 1.10.0~ + The build fails with googletest 1.8.1 (buster) so document the + minimum required version. + + -- Shengjing Zhu Fri, 19 Feb 2021 03:25:32 +0800 + +sdbus-cpp (0.8.3-3) unstable; urgency=medium + + * Miss dependencies on libsdbus-c++-dev package + + -- Shengjing Zhu Mon, 11 Jan 2021 12:15:10 +0800 + +sdbus-cpp (0.8.3-2) unstable; urgency=medium + + * Source-only upload for testing migration. + + -- Shengjing Zhu Mon, 11 Jan 2021 10:05:21 +0800 + +sdbus-cpp (0.8.3-1) unstable; urgency=medium + + * Initial release. + + -- Shengjing Zhu Fri, 25 Dec 2020 01:37:14 +0800 diff --git a/debian/control b/debian/control index 0bcd8e0..9d6c97e 100644 --- a/debian/control +++ b/debian/control @@ -1,19 +1,78 @@ -Source: upstream-name -Section: admin +Source: sdbus-cpp2 +Section: libdevel Priority: optional -Maintainer: name -Standards-Version: 4.6.1 -Build-Depends: debhelper-compat (= 13) +Maintainer: Shengjing Zhu Rules-Requires-Root: no +Build-Depends: + cmake, + dbus-daemon , + debhelper-compat (= 13), + libexpat1-dev, + libgmock-dev (>= 1.10.0~) , + libsystemd-dev, + pkg-config, +Build-Depends-Indep: + doxygen , +Standards-Version: 4.6.2 +Homepage: https://github.com/Kistler-Group/sdbus-cpp +Vcs-Git: https://salsa.debian.org/zhsj/sdbus-cpp.git +Vcs-Browser: https://salsa.debian.org/zhsj/sdbus-cpp -Package: pkgname1 +Package: libsdbus2-c++-bin +Section: utils Architecture: linux-any -# Delete any of these lines if un-used -Depends: ${misc:Depends}, depends -Recommends: high priority optdepends -Conflicts: conflicts -Suggests: low priority optdepends -Breaks: also conflicts!? -Provides: provides -# -Description: pkgdesc +Depends: + ${misc:Depends}, + ${shlibs:Depends}, +Description: High-level C++ D-Bus library for Linux in modern C++ (utilities) + 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 + abstraction on top of sd-bus, a nice, fresh C D-Bus implementation by systemd. + . + This package contains binary utilities. + +Package: libsdbus2-c++-dev +Architecture: linux-any +Multi-Arch: same +Depends: + libsdbus2-c++1 (= ${binary:Version}), + libsystemd-dev, + ${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 + abstraction on top of sd-bus, a nice, fresh C D-Bus implementation by systemd. + . + This package contains development files. + +Package: libsdbus2-c++-doc +Section: doc +Architecture: all +Multi-Arch: foreign +Build-Profiles: +Depends: + ${misc:Depends}, + ${shlibs:Depends}, +Description: High-level C++ D-Bus library for Linux in modern C++ (documentation) + 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 + abstraction on top of sd-bus, a nice, fresh C D-Bus implementation by systemd. + . + This package contains documentation. + +Package: libsdbus2-c++1 +Section: libs +Architecture: linux-any +Multi-Arch: same +Depends: + ${misc:Depends}, + ${shlibs:Depends}, +Description: High-level C++ D-Bus library for Linux in modern C++ (library) + 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 + abstraction on top of sd-bus, a nice, fresh C D-Bus implementation by systemd. + . + This package contains library. diff --git a/debian/copyright b/debian/copyright index e69de29..03d5845 100644 --- a/debian/copyright +++ b/debian/copyright @@ -0,0 +1,31 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: sdbus-cpp +Source: https://github.com/Kistler-Group/sdbus-cpp + +Files: * +Copyright: 2016 - 2017 KISTLER INSTRUMENTE AG, Winterthur, Switzerland + 2016 - 2019 Stanislav Angelovic +License: LGPL-2.1+ + +Files: debian/* +Copyright: 2020 Shengjing Zhu +License: LGPL-2.1+ +Comment: Debian packaging is licensed under the same terms as upstream + +License: LGPL-2.1+ + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + . + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + . + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + . + On Debian systems, the complete text of the GNU Lesser General Public + License can be found in the file `/usr/share/common-licenses/LGPL-2.1'. diff --git a/debian/dbus.conf.tpl b/debian/dbus.conf.tpl new file mode 100644 index 0000000..d86fbe2 --- /dev/null +++ b/debian/dbus.conf.tpl @@ -0,0 +1,87 @@ + + + + + system + + + + + + /tmp/sdbuscpp.pid + + + EXTERNAL + + + unix:path=/tmp/sdbuscpp_bus + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + /etc/dbus-1/system.conf + + CURDIR/tests/integrationtests/files/ + diff --git a/debian/gbp.conf b/debian/gbp.conf new file mode 100644 index 0000000..6e02cbd --- /dev/null +++ b/debian/gbp.conf @@ -0,0 +1,6 @@ +[DEFAULT] +upstream-tag = v%(version)s + +[buildpackage] +overlay = True +export-dir = ../build-area diff --git a/debian/libsdbus-c++-bin.install b/debian/libsdbus-c++-bin.install new file mode 100644 index 0000000..e772481 --- /dev/null +++ b/debian/libsdbus-c++-bin.install @@ -0,0 +1 @@ +usr/bin diff --git a/debian/libsdbus-c++-dev.install b/debian/libsdbus-c++-dev.install new file mode 100644 index 0000000..bcae9d7 --- /dev/null +++ b/debian/libsdbus-c++-dev.install @@ -0,0 +1,4 @@ +usr/include +usr/lib/*/cmake +usr/lib/*/libsdbus-c++.so +usr/lib/*/pkgconfig diff --git a/debian/libsdbus-c++-doc.install b/debian/libsdbus-c++-doc.install new file mode 100644 index 0000000..7276ecd --- /dev/null +++ b/debian/libsdbus-c++-doc.install @@ -0,0 +1 @@ +usr/share/doc diff --git a/debian/libsdbus-c++1.install b/debian/libsdbus-c++1.install new file mode 100644 index 0000000..0565432 --- /dev/null +++ b/debian/libsdbus-c++1.install @@ -0,0 +1 @@ +usr/lib/*/libsdbus-c++.so.* diff --git a/debian/not-installed b/debian/not-installed new file mode 100644 index 0000000..56695cf --- /dev/null +++ b/debian/not-installed @@ -0,0 +1,2 @@ +etc/dbus-1 +opt/test/bin diff --git a/debian/patches/0001-skip-GetMachineId-test-when-etc-machine-id-doesn-t-e.patch b/debian/patches/0001-skip-GetMachineId-test-when-etc-machine-id-doesn-t-e.patch new file mode 100644 index 0000000..d26dc44 --- /dev/null +++ b/debian/patches/0001-skip-GetMachineId-test-when-etc-machine-id-doesn-t-e.patch @@ -0,0 +1,26 @@ +From: Shengjing Zhu +Date: Fri, 10 Nov 2023 17:32:33 +0800 +Subject: skip GetMachineId test when /etc/machine-id doesn't exist + +Not sure why test fails when /var/lib/dbus/machine-id +exists but /etc/machine-id not. +--- + tests/integrationtests/DBusStandardInterfacesTests.cpp | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/tests/integrationtests/DBusStandardInterfacesTests.cpp b/tests/integrationtests/DBusStandardInterfacesTests.cpp +index e648fac..2ba9d62 100644 +--- a/tests/integrationtests/DBusStandardInterfacesTests.cpp ++++ b/tests/integrationtests/DBusStandardInterfacesTests.cpp +@@ -61,9 +61,8 @@ TEST_F(SdbusTestObject, PingsViaPeerInterface) + + TEST_F(SdbusTestObject, AnswersMachineUuidViaPeerInterface) + { +- if (::access("/etc/machine-id", F_OK) == -1 && +- ::access("/var/lib/dbus/machine-id", F_OK) == -1) +- GTEST_SKIP() << "/etc/machine-id and /var/lib/dbus/machine-id files do not exist, GetMachineId() will not work"; ++ if (::access("/etc/machine-id", F_OK) == -1 ) ++ GTEST_SKIP() << "/etc/machine-id files do not exist, GetMachineId() will not work"; + + ASSERT_NO_THROW(m_proxy->GetMachineId()); + } diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..8db5d20 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1 @@ +0001-skip-GetMachineId-test-when-etc-machine-id-doesn-t-e.patch diff --git a/debian/rules b/debian/rules index 64a084a..6254749 100755 --- a/debian/rules +++ b/debian/rules @@ -1,67 +1,40 @@ -#! /usr/bin/make -f +#!/usr/bin/make -f -## See debhelper(7) (uncomment to enable). -## Output every command that modifies files on the build system. -export DH_VERBOSE = 1 -export PIKA_BUILD_ARCH = $(shell cat ../pika-build-arch) +ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) + ENABLE_TESTS=ON +else + ENABLE_TESTS=OFF +endif -## === the chain of command === -## debuild runs a chain of dh functions in the following order: -## dh_testdir -## dh_clean -## dh_auto_clean -## dh_update_autotools_config -## dh_autoreconf -## dh_auto_configure -## dh_prep -## dh_build -## dh_auto_build -## dh_install -## dh_auto_install -## dh_installdocs -## dh_installchangelogs -## dh_perl -## dh_link -## dh_strip_nondeterminism -## dh_compress -## dh_fixperms -## dh_missing -## dh_dwz -## dh_strip -## dh_makeshlibs -## dh_shlibdeps -## dh_installdeb -## dh_gencontrol -## but you are most likely to only need to override the following: -## dh_clean -## dh_auto_configure -## dh_build -## dh_install +ifneq (,$(filter $(DEB_HOST_ARCH), armel mipsel powerpc)) + export DEB_LDFLAGS_MAINT_APPEND += -Wl,--no-as-needed -latomic -Wl,--as-needed +endif -## === End end of region === - -## === overriding dh functions === -## by default all dh functions will run a specific command based on the build system selected by "dh $@" -## if you have a makefile that does everything you need this is fine, -## but most likely you have no MakeFile and you want to add your own commands -## Note : overrides must be places above %: -## So here's a few examples: - -## overriding dh_clean to make it not delete rust vendor files: -#override_dh_clean: -# echo "disabled" - -## overriding dh_auto_configure to add custom configs: -#override_dh_auto_configure: -# $(srcdir)/configure -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_DATADIR=/usr/share -DCMAKE_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu -DBUILD_PLUGIN=OFF - -## overriding dh_install to install files to a package: -#override_dh_auto_configure: -# mkdir -p debian/pikman/usr/bin -# cp pikman debian/pikman/usr/bin/ - -## === End end of region === - -## This here will start the build: %: dh $@ + +override_dh_auto_configure-arch: + dh_auto_configure -- -DBUILD_CODE_GEN=ON -DBUILD_TESTS=$(ENABLE_TESTS) + +override_dh_auto_test-arch: + -kill -9 $$(cat /tmp/sdbuscpp.pid) + -rm -v /tmp/dbus.conf /tmp/sdbuscpp_bus /tmp/sdbuscpp.pid + + sed 's|CURDIR|$(CURDIR)|g' debian/dbus.conf.tpl > /tmp/dbus.conf + dbus-daemon --config-file /tmp/dbus.conf --fork + + DBUS_SYSTEM_BUS_ADDRESS=unix:path=/tmp/sdbuscpp_bus dh_auto_test --no-parallel + + -kill -9 $$(cat /tmp/sdbuscpp.pid) + -rm -v /tmp/dbus.conf /tmp/sdbuscpp_bus /tmp/sdbuscpp.pid + +override_dh_auto_configure-indep: + dh_auto_configure -- -DBUILD_DOXYGEN_DOC=ON + +override_dh_auto_build-indep: + dh_auto_build -- doc + +override_dh_auto_install-indep: + dh_auto_install -- -C docs + +override_dh_auto_test-indep: diff --git a/debian/watch b/debian/watch new file mode 100644 index 0000000..5f7a6db --- /dev/null +++ b/debian/watch @@ -0,0 +1,4 @@ +version=4 +opts="mode=git, pgpmode=none" \ + https://github.com/Kistler-Group/sdbus-cpp \ + refs/tags/v?@ANY_VERSION@ debian diff --git a/main.sh b/main.sh index d80ca48..ce798d3 100755 --- a/main.sh +++ b/main.sh @@ -6,15 +6,15 @@ set -e echo "$PIKA_BUILD_ARCH" > pika-build-arch -VERSION="1.0" +VERSION="2.0.0" # Clone Upstream -mkdir -p ./src-pkg-name -cp -rvf ./debian ./src-pkg-name/ -cd ./src-pkg-name/ +git clone --recurse-submodules https://github.com/Kistler-Group/sdbus-cpp -b v"$VERSION" +cp -rvf ./debian ./sdbus-cpp/ +cd ./sdbus-cpp # Get build deps -LOGNAME=root dh_make --createorig -y -l -p src-pkg-name_"$VERSION" || echo "dh-make: Ignoring Last Error" +LOGNAME=root dh_make --createorig -y -l -p sdbus-cpp2_"$VERSION" || echo "dh-make: Ignoring Last Error" apt-get build-dep ./ -y # Build package