Message ID | 20190722211814.14237-1-raj.khem@gmail.com |
---|---|
State | New |
Headers | show |
Series | [oe,meta-oe] Introduce recipes for sdbus-c++ library and its tools | expand |
Hi Khem, Am 22.07.19 um 23:18 schrieb Khem Raj: > From: sangelovic <angelovic.s@gmail.com> > > --- > .../sdbus-c++/sdbus-c++-0.7.2/run-ptest | 15 ++++++ > .../sdbus-c++/sdbus-c++-tools-native_0.7.2.bb | 14 ++++++ > .../recipes-core/sdbus-c++/sdbus-c++_0.7.2.bb | 49 +++++++++++++++++++ > 3 files changed, 78 insertions(+) > create mode 100644 meta-oe/recipes-core/sdbus-c++/sdbus-c++-0.7.2/run-ptest > create mode 100644 meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools-native_0.7.2.bb > create mode 100644 meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.7.2.bb > > diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-0.7.2/run-ptest b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-0.7.2/run-ptest > new file mode 100644 > index 0000000000..8fa9453e39 > --- /dev/null > +++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-0.7.2/run-ptest > @@ -0,0 +1,15 @@ > +#!/bin/sh > +set -e > +set -o pipefail > + > +logger "** Starting sdbus-c++-unit-tests" > +/opt/test/bin/sdbus-c++-unit-tests --gtest_output=xml:/data/ptest/sdbus-c++/sdbus-c++-unit-tests.xml |& \ > +sed -r 's/^\[\s+OK\s+\] (.*) \([0-9]+\sms\)$/OK: \1 /' | \ > +sed -r 's/^\[\s+FAILED\s+\] (.*) \([0-9]+\sms\)$/FAILED: \1 /' | \ > +awk '{if ($1 == "OK:" || $1 == "FAILED:") {print $0}}' > + > +logger "** Starting sdbus-c++-integration-tests" > +/opt/test/bin/sdbus-c++-integration-tests --gtest_output=xml:/data/ptest/sdbus-c++/sdbus-c++-integration-tests.xml |& \ > +sed -r 's/^\[\s+OK\s+\] (.*) \([0-9]+\sms\)$/OK: \1 /' | \ > +sed -r 's/^\[\s+FAILED\s+\] (.*) \([0-9]+\sms\)$/FAILED: \1 /' | \ > +awk '{if ($1 == "OK:" || $1 == "FAILED:") {print $0}}' > diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools-native_0.7.2.bb b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools-native_0.7.2.bb > new file mode 100644 > index 0000000000..e319404f49 > --- /dev/null > +++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools-native_0.7.2.bb > @@ -0,0 +1,14 @@ > +SUMMARY = "sdbus-c++ native tools" > +DESCRIPTION = "Native interface code generator for development with sdbus-c++" > + > +LICENSE = "LGPLv2.1" > +LIC_FILES_CHKSUM = "file://${WORKDIR}/git-tools/COPYING;md5=1803fa9c2c3ce8cb06b4861d75310742" Why you need the "${WORKDIR}/git-tools"? > + > +inherit cmake native > + > +DEPENDS += "expat" > + > +SRCREV = "750dab39270f338181db8d841cd4b1a9a50ae4d7" > +SRC_URI = "git://github.com/Kistler-Group/sdbus-cpp.git;protocol=https;destsuffix=git-tools;branch=master;subpath=tools" > + > +S = "${WORKDIR}/git-tools" Why don't you use "${WORKDIR}/git" and skip the destsuffix in SRC_URI? > diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.7.2.bb b/meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.7.2.bb > new file mode 100644 > index 0000000000..457f5d676a > --- /dev/null > +++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.7.2.bb > @@ -0,0 +1,49 @@ > +SUMMARY = "sdbus-c++" > +DESCRIPTION = "High-level C++ D-Bus library designed to provide easy-to-use yet powerful API in modern C++" > + > +SECTION = "libs" > + > +LICENSE = "LGPLv2.1" > +LIC_FILES_CHKSUM = "file://COPYING;md5=1803fa9c2c3ce8cb06b4861d75310742" > + > +inherit cmake pkgconfig systemd ptest python3native > + > +TEST_BIN_DIR = "/opt/test/bin" Is this a correct path for a test? Shouldn't we set TESTS_INSTALL_PATH to a correct path. > + > +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'with-external-libsystemd', 'with-builtin-libsystemd', d)} \ > + ${@bb.utils.contains('PTEST_ENABLED', '1', 'with-tests', '', d)}" > +PACKAGECONFIG[with-builtin-libsystemd] = "-DBUILD_LIBSYSTEMD=ON,-DBUILD_LIBSYSTEMD=OFF,meson-native ninja-native git-native gperf-native gettext-native util-linux libcap,libcap" Should we really support an embedded systemd build? Furthermore this will build systemd with a hidden version and bypass the bitbake fetcher. Is there a real use case for this and isn't the correct solution to create a systemd library only recipe? > +PACKAGECONFIG[with-external-libsystemd] = "-DBUILD_LIBSYSTEMD=OFF,-DBUILD_LIBSYSTEMD=ON,systemd,libsystemd" > +PACKAGECONFIG[with-tests] = "-DBUILD_TESTS=ON -DTESTS_INSTALL_PATH=${TEST_BIN_DIR},-DBUILD_TESTS=OFF" > + > +DEPENDS += "expat" > + > +SRCREV = "750dab39270f338181db8d841cd4b1a9a50ae4d7" > +SRC_URI = "git://github.com/Kistler-Group/sdbus-cpp.git;protocol=https;destsuffix=sdbus-cpp-${PV};branch=master" > +SRC_URI += "file://run-ptest" > + > +# Allow CMake to use git on the host machine > +OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH" > +# Ninja is the default CMake generator in Yocto now, so let's set Unix Makefiles explicitly > +OECMAKE_GENERATOR = "Unix Makefiles" > + > +EXTRA_OECMAKE = "-DBUILD_CODE_GEN=ON \ > + -DBUILD_DOC=ON \ > + -DBUILD_DOXYGEN_DOC=OFF" > + > +S = "${WORKDIR}/sdbus-cpp-${PV}" Why don't you use "${WORKDIR}/git" and remove the destsuffix from the SRC_URI? > + > +PACKAGES += "${PN}-test" > +ALLOW_EMPTY_${PN}-test = "1" > +RDEPENDS_${PN}-test = "${PN}" It is common to create an additional test package? > +RDEPENDS_${PN}-ptest = "${PN}-test" > + > +# Don't take org.sdbuscpp.integrationtests.conf file into the base package > +FILES_${PN} = "${libdir}/" Why don't you use PACKAGE_BEFORE_PN or PACKAGES =+ ? > + > +FILES_${PN}-test += "${sysconfdir}/dbus-1/system.d/" > +FILES_${PN}-test += "${TEST_BIN_DIR}/" > + > +FILES_${PN}-dev += "${bindir}/sdbus-c++-xml2cpp" > +FILES_${PN}-dev += "${libdir}/cmake/sdbus-c++/sdbus-c++-config.cmake" > +FILES_${PN}-dev += "${libdir}/cmake/sdbus-c++/sdbus-c++-config-version.cmake" You don't need to add the two cmake paths any longer. Regards Stefan -- _______________________________________________ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-devel
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-0.7.2/run-ptest b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-0.7.2/run-ptest new file mode 100644 index 0000000000..8fa9453e39 --- /dev/null +++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-0.7.2/run-ptest @@ -0,0 +1,15 @@ +#!/bin/sh +set -e +set -o pipefail + +logger "** Starting sdbus-c++-unit-tests" +/opt/test/bin/sdbus-c++-unit-tests --gtest_output=xml:/data/ptest/sdbus-c++/sdbus-c++-unit-tests.xml |& \ +sed -r 's/^\[\s+OK\s+\] (.*) \([0-9]+\sms\)$/OK: \1 /' | \ +sed -r 's/^\[\s+FAILED\s+\] (.*) \([0-9]+\sms\)$/FAILED: \1 /' | \ +awk '{if ($1 == "OK:" || $1 == "FAILED:") {print $0}}' + +logger "** Starting sdbus-c++-integration-tests" +/opt/test/bin/sdbus-c++-integration-tests --gtest_output=xml:/data/ptest/sdbus-c++/sdbus-c++-integration-tests.xml |& \ +sed -r 's/^\[\s+OK\s+\] (.*) \([0-9]+\sms\)$/OK: \1 /' | \ +sed -r 's/^\[\s+FAILED\s+\] (.*) \([0-9]+\sms\)$/FAILED: \1 /' | \ +awk '{if ($1 == "OK:" || $1 == "FAILED:") {print $0}}' diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools-native_0.7.2.bb b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools-native_0.7.2.bb new file mode 100644 index 0000000000..e319404f49 --- /dev/null +++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools-native_0.7.2.bb @@ -0,0 +1,14 @@ +SUMMARY = "sdbus-c++ native tools" +DESCRIPTION = "Native interface code generator for development with sdbus-c++" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://${WORKDIR}/git-tools/COPYING;md5=1803fa9c2c3ce8cb06b4861d75310742" + +inherit cmake native + +DEPENDS += "expat" + +SRCREV = "750dab39270f338181db8d841cd4b1a9a50ae4d7" +SRC_URI = "git://github.com/Kistler-Group/sdbus-cpp.git;protocol=https;destsuffix=git-tools;branch=master;subpath=tools" + +S = "${WORKDIR}/git-tools" diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.7.2.bb b/meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.7.2.bb new file mode 100644 index 0000000000..457f5d676a --- /dev/null +++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.7.2.bb @@ -0,0 +1,49 @@ +SUMMARY = "sdbus-c++" +DESCRIPTION = "High-level C++ D-Bus library designed to provide easy-to-use yet powerful API in modern C++" + +SECTION = "libs" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=1803fa9c2c3ce8cb06b4861d75310742" + +inherit cmake pkgconfig systemd ptest python3native + +TEST_BIN_DIR = "/opt/test/bin" + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'with-external-libsystemd', 'with-builtin-libsystemd', d)} \ + ${@bb.utils.contains('PTEST_ENABLED', '1', 'with-tests', '', d)}" +PACKAGECONFIG[with-builtin-libsystemd] = "-DBUILD_LIBSYSTEMD=ON,-DBUILD_LIBSYSTEMD=OFF,meson-native ninja-native git-native gperf-native gettext-native util-linux libcap,libcap" +PACKAGECONFIG[with-external-libsystemd] = "-DBUILD_LIBSYSTEMD=OFF,-DBUILD_LIBSYSTEMD=ON,systemd,libsystemd" +PACKAGECONFIG[with-tests] = "-DBUILD_TESTS=ON -DTESTS_INSTALL_PATH=${TEST_BIN_DIR},-DBUILD_TESTS=OFF" + +DEPENDS += "expat" + +SRCREV = "750dab39270f338181db8d841cd4b1a9a50ae4d7" +SRC_URI = "git://github.com/Kistler-Group/sdbus-cpp.git;protocol=https;destsuffix=sdbus-cpp-${PV};branch=master" +SRC_URI += "file://run-ptest" + +# Allow CMake to use git on the host machine +OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH" +# Ninja is the default CMake generator in Yocto now, so let's set Unix Makefiles explicitly +OECMAKE_GENERATOR = "Unix Makefiles" + +EXTRA_OECMAKE = "-DBUILD_CODE_GEN=ON \ + -DBUILD_DOC=ON \ + -DBUILD_DOXYGEN_DOC=OFF" + +S = "${WORKDIR}/sdbus-cpp-${PV}" + +PACKAGES += "${PN}-test" +ALLOW_EMPTY_${PN}-test = "1" +RDEPENDS_${PN}-test = "${PN}" +RDEPENDS_${PN}-ptest = "${PN}-test" + +# Don't take org.sdbuscpp.integrationtests.conf file into the base package +FILES_${PN} = "${libdir}/" + +FILES_${PN}-test += "${sysconfdir}/dbus-1/system.d/" +FILES_${PN}-test += "${TEST_BIN_DIR}/" + +FILES_${PN}-dev += "${bindir}/sdbus-c++-xml2cpp" +FILES_${PN}-dev += "${libdir}/cmake/sdbus-c++/sdbus-c++-config.cmake" +FILES_${PN}-dev += "${libdir}/cmake/sdbus-c++/sdbus-c++-config-version.cmake"
From: sangelovic <angelovic.s@gmail.com> --- .../sdbus-c++/sdbus-c++-0.7.2/run-ptest | 15 ++++++ .../sdbus-c++/sdbus-c++-tools-native_0.7.2.bb | 14 ++++++ .../recipes-core/sdbus-c++/sdbus-c++_0.7.2.bb | 49 +++++++++++++++++++ 3 files changed, 78 insertions(+) create mode 100644 meta-oe/recipes-core/sdbus-c++/sdbus-c++-0.7.2/run-ptest create mode 100644 meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools-native_0.7.2.bb create mode 100644 meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.7.2.bb -- 2.22.0 -- _______________________________________________ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-devel