mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-05-08 17:39:24 +00:00
mosquitto: apply upstream proposed patches to use cmake build system,
simplifying a lot the build and install process. Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it> Signed-off-by: Gianfranco Costamagna <gianfranco.costamagna@abinsula.com> Signed-off-by: Gianfranco Costamagna <locutusofborg@debian.org> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
committed by
Khem Raj
parent
c063eb6472
commit
318627819b
@@ -0,0 +1,67 @@
|
|||||||
|
Upstream-Status: Submitted [https://github.com/eclipse/mosquitto/pull/1568]
|
||||||
|
From 50bfc79cae5764a6e513b684a5eb5bef2b35c856 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
|
||||||
|
Date: Wed, 22 Jan 2020 12:30:25 +0100
|
||||||
|
Subject: [PATCH] Bugfix: include "deps" directory only if BUNDLED_DEPS has
|
||||||
|
been provided and set to true
|
||||||
|
|
||||||
|
Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
|
||||||
|
---
|
||||||
|
config.mk | 5 ++++-
|
||||||
|
lib/CMakeLists.txt | 5 ++++-
|
||||||
|
test/unit/Makefile | 6 +++++-
|
||||||
|
3 files changed, 13 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/config.mk b/config.mk
|
||||||
|
index 51e36e0d0..0ac24b3d4 100644
|
||||||
|
--- a/config.mk
|
||||||
|
+++ b/config.mk
|
||||||
|
@@ -135,7 +135,10 @@ endif
|
||||||
|
|
||||||
|
STATIC_LIB_DEPS:=
|
||||||
|
|
||||||
|
-LIB_CPPFLAGS=$(CPPFLAGS) -I. -I.. -I../lib -I../src/deps
|
||||||
|
+LIB_CPPFLAGS=$(CPPFLAGS) -I. -I.. -I../lib
|
||||||
|
+ifeq ($(WITH_BUNDLED_DEPS),yes)
|
||||||
|
+ LIB_CPPFLAGS:=$(LIB_CPPFLAGS) -I../src/deps
|
||||||
|
+endif
|
||||||
|
LIB_CFLAGS:=$(CFLAGS)
|
||||||
|
LIB_CXXFLAGS:=$(CXXFLAGS)
|
||||||
|
LIB_LDFLAGS:=$(LDFLAGS)
|
||||||
|
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
|
||||||
|
index e1521f12a..891046a81 100644
|
||||||
|
--- a/lib/CMakeLists.txt
|
||||||
|
+++ b/lib/CMakeLists.txt
|
||||||
|
@@ -1,11 +1,14 @@
|
||||||
|
add_subdirectory(cpp)
|
||||||
|
|
||||||
|
include_directories(${mosquitto_SOURCE_DIR} ${mosquitto_SOURCE_DIR}/lib
|
||||||
|
- ${mosquitto_SOURCE_DIR}/src/deps
|
||||||
|
${STDBOOL_H_PATH} ${STDINT_H_PATH}
|
||||||
|
${OPENSSL_INCLUDE_DIR} ${PTHREAD_INCLUDE_DIR})
|
||||||
|
link_directories(${mosquitto_SOURCE_DIR}/lib)
|
||||||
|
|
||||||
|
+if (WITH_BUNDLED_DEPS)
|
||||||
|
+ include_directories(${mosquitto_SOURCE_DIR} ${mosquitto_SOURCE_DIR}/src/deps)
|
||||||
|
+endif (WITH_BUNDLED_DEPS)
|
||||||
|
+
|
||||||
|
set(C_SRC
|
||||||
|
actions.c
|
||||||
|
callbacks.c
|
||||||
|
diff --git a/test/unit/Makefile b/test/unit/Makefile
|
||||||
|
index 9d422428d..928579492 100644
|
||||||
|
--- a/test/unit/Makefile
|
||||||
|
+++ b/test/unit/Makefile
|
||||||
|
@@ -2,7 +2,11 @@ include ../../config.mk
|
||||||
|
|
||||||
|
.PHONY: all check test test-broker test-lib clean coverage
|
||||||
|
|
||||||
|
-CPPFLAGS:=$(CPPFLAGS) -I../.. -I../../lib -I../../src -I../../src/deps
|
||||||
|
+CPPFLAGS:=$(CPPFLAGS) -I../.. -I../../lib -I../../src
|
||||||
|
+ifeq ($(WITH_BUNDLED_DEPS),yes)
|
||||||
|
+ CPPFLAGS:=$(CPPFLAGS) -I../../src/deps
|
||||||
|
+endif
|
||||||
|
+
|
||||||
|
CFLAGS:=$(CFLAGS) -coverage -Wall -ggdb
|
||||||
|
LDFLAGS:=$(LDFLAGS) -coverage
|
||||||
|
LDADD:=$(LDADD) -lcunit
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
Upstream-Status: Submitted [https://github.com/eclipse/mosquitto/pull/1569]
|
||||||
|
From fda932612afce2cead2fd2ca1c8ea543b2892177 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
|
||||||
|
Date: Wed, 22 Jan 2020 12:31:01 +0100
|
||||||
|
Subject: [PATCH] Bugfix: enabling DLT was overriding everything else on linker
|
||||||
|
flags because of error in cmake set keyword
|
||||||
|
|
||||||
|
Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
|
||||||
|
---
|
||||||
|
src/CMakeLists.txt | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||||
|
index 7898ff5b1..6dfbba5e6 100644
|
||||||
|
--- a/src/CMakeLists.txt
|
||||||
|
+++ b/src/CMakeLists.txt
|
||||||
|
@@ -130,7 +130,7 @@ add_definitions (-DWITH_BROKER)
|
||||||
|
if (WITH_DLT)
|
||||||
|
message(STATUS "DLT_LIBDIR = ${DLT_LIBDIR}")
|
||||||
|
link_directories(${DLT_LIBDIR})
|
||||||
|
- set (MOSQ_LIBS ${DLT_LIBRARIES})
|
||||||
|
+ set (MOSQ_LIBS ${MOSQ_LIBS} ${DLT_LIBRARIES})
|
||||||
|
endif (WITH_DLT)
|
||||||
|
|
||||||
|
set (MOSQ_LIBS ${MOSQ_LIBS} ${OPENSSL_LIBRARIES})
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
Upstream-Status: Submitted [https://github.com/eclipse/mosquitto/pull/1570]
|
||||||
|
From 775677b05190380c3736bf0dbef002ee7b9bff33 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
|
||||||
|
Date: Wed, 22 Jan 2020 12:29:41 +0100
|
||||||
|
Subject: [PATCH] cmake: add ADNS enable/disable dynamic support
|
||||||
|
|
||||||
|
Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
|
||||||
|
---
|
||||||
|
src/CMakeLists.txt | 8 ++++++--
|
||||||
|
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||||
|
index 7898ff5b1..edae76f32 100644
|
||||||
|
--- a/src/CMakeLists.txt
|
||||||
|
+++ b/src/CMakeLists.txt
|
||||||
|
@@ -105,6 +105,9 @@ if (WITH_SYS_TREE)
|
||||||
|
add_definitions("-DWITH_SYS_TREE")
|
||||||
|
endif (WITH_SYS_TREE)
|
||||||
|
|
||||||
|
+option(WITH_ADNS
|
||||||
|
+ "Include ADNS support?" OFF)
|
||||||
|
+
|
||||||
|
if (CMAKE_SYSTEM_NAME STREQUAL Linux)
|
||||||
|
option(WITH_SYSTEMD
|
||||||
|
"Include systemd support?" OFF)
|
||||||
|
@@ -137,10 +140,11 @@ set (MOSQ_LIBS ${MOSQ_LIBS} ${OPENSSL_LIBRARIES})
|
||||||
|
# Check for getaddrinfo_a
|
||||||
|
include(CheckLibraryExists)
|
||||||
|
check_library_exists(anl getaddrinfo_a "" HAVE_GETADDRINFO_A)
|
||||||
|
-if (HAVE_GETADDRINFO_A)
|
||||||
|
+if (HAVE_GETADDRINFO_A AND WITH_ADNS)
|
||||||
|
+ add_definitions("-DWITH_ADNS")
|
||||||
|
add_definitions(-DHAVE_GETADDRINFO_A)
|
||||||
|
set (MOSQ_LIBS ${MOSQ_LIBS} anl)
|
||||||
|
-endif (HAVE_GETADDRINFO_A)
|
||||||
|
+endif (HAVE_GETADDRINFO_A AND WITH_ADNS)
|
||||||
|
|
||||||
|
|
||||||
|
if (UNIX)
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
Upstream-Status: Submitted [https://github.com/eclipse/mosquitto/pull/1571]
|
||||||
|
From 3fe5468f1bdca1bff1d18cf43c9e338f41aa9e32 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
|
||||||
|
Date: Wed, 22 Jan 2020 12:39:49 +0100
|
||||||
|
Subject: [PATCH] Add dynamic symbols linking with cmake too
|
||||||
|
|
||||||
|
Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
|
||||||
|
---
|
||||||
|
lib/CMakeLists.txt | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
|
||||||
|
index e1521f12a..14ba12739 100644
|
||||||
|
--- a/lib/CMakeLists.txt
|
||||||
|
+++ b/lib/CMakeLists.txt
|
||||||
|
@@ -88,6 +88,8 @@ set_target_properties(libmosquitto PROPERTIES
|
||||||
|
OUTPUT_NAME mosquitto
|
||||||
|
VERSION ${VERSION}
|
||||||
|
SOVERSION 1
|
||||||
|
+ LINK_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/linker.version
|
||||||
|
+ LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/linker.version"
|
||||||
|
)
|
||||||
|
|
||||||
|
install(TARGETS libmosquitto RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
|
||||||
@@ -16,45 +16,36 @@ DEPENDS = "uthash"
|
|||||||
|
|
||||||
SRC_URI = "http://mosquitto.org/files/source/mosquitto-${PV}.tar.gz \
|
SRC_URI = "http://mosquitto.org/files/source/mosquitto-${PV}.tar.gz \
|
||||||
file://mosquitto.init \
|
file://mosquitto.init \
|
||||||
|
file://1568.patch \
|
||||||
|
file://1569.patch \
|
||||||
|
file://1570.patch \
|
||||||
|
file://1571.patch \
|
||||||
"
|
"
|
||||||
|
|
||||||
SRC_URI[md5sum] = "24a0e567c845b3e41b75e237d200edf8"
|
SRC_URI[md5sum] = "24a0e567c845b3e41b75e237d200edf8"
|
||||||
SRC_URI[sha256sum] = "7df23c81ca37f0e070574fe74414403cf25183016433d07add6134366fb45df6"
|
SRC_URI[sha256sum] = "7df23c81ca37f0e070574fe74414403cf25183016433d07add6134366fb45df6"
|
||||||
|
|
||||||
inherit systemd update-rc.d useradd
|
inherit systemd update-rc.d useradd cmake
|
||||||
|
|
||||||
PACKAGECONFIG ??= "ssl uuid \
|
PACKAGECONFIG ??= "ssl dlt websockets dns-srv\
|
||||||
${@bb.utils.filter('DISTRO_FEATURES','systemd', d)} \
|
${@bb.utils.filter('DISTRO_FEATURES','systemd', d)} \
|
||||||
"
|
"
|
||||||
|
|
||||||
PACKAGECONFIG[dns-srv] = "WITH_SRV=yes,WITH_SRV=no,c-ares"
|
PACKAGECONFIG[dns-srv] = "-DWITH_SRV=ON,-DWITH_SRV=OFF,c-ares"
|
||||||
PACKAGECONFIG[ssl] = "WITH_TLS=yes WITH_TLS_PSK=yes,WITH_TLS=no WITH_TLS_PSK=no,openssl"
|
PACKAGECONFIG[ssl] = "-DWITH_TLS=ON -DWITH_TLS_PSK=ON -DWITH_EC=ON,-DWITH_TLS=OFF -DWITH_TLS_PSK=OFF -DWITH_EC_OFF,openssl"
|
||||||
PACKAGECONFIG[uuid] = "WITH_UUID=yes,WITH_UUID=no,util-linux"
|
PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF,systemd"
|
||||||
PACKAGECONFIG[systemd] = "WITH_SYSTEMD=yes,WITH_SYSTEMD=no,systemd"
|
PACKAGECONFIG[websockets] = "-DWITH_WEBSOCKETS=ON,-DWITH_WEBSOCKETS=OFF,libwebsockets"
|
||||||
PACKAGECONFIG[websockets] = "WITH_WEBSOCKETS=yes,WITH_WEBSOCKETS=no,libwebsockets"
|
PACKAGECONFIG[dlt] = "-DWITH_DLT=ON,-DWITH_DLT=OFF,dlt-daemon"
|
||||||
|
|
||||||
EXTRA_OEMAKE = " \
|
EXTRA_OECMAKE = " \
|
||||||
prefix=${prefix} \
|
-DWITH_BUNDLED_DEPS=OFF \
|
||||||
mandir=${mandir} \
|
-DWITH_ADNS=ON \
|
||||||
localedir=${localedir} \
|
|
||||||
${PACKAGECONFIG_CONFARGS} \
|
|
||||||
STRIP=/bin/true \
|
|
||||||
WITH_DOCS=no \
|
|
||||||
WITH_BUNDLED_DEPS=no \
|
|
||||||
"
|
"
|
||||||
|
|
||||||
export LIB_SUFFIX = "${@d.getVar('baselib').replace('lib', '')}"
|
do_install_append() {
|
||||||
|
|
||||||
do_install() {
|
|
||||||
oe_runmake 'DESTDIR=${D}' install
|
|
||||||
|
|
||||||
install -d ${D}${systemd_unitdir}/system/
|
install -d ${D}${systemd_unitdir}/system/
|
||||||
install -m 0644 ${S}/service/systemd/mosquitto.service.notify ${D}${systemd_unitdir}/system/mosquitto.service
|
install -m 0644 ${S}/service/systemd/mosquitto.service.notify ${D}${systemd_unitdir}/system/mosquitto.service
|
||||||
|
|
||||||
install -d ${D}${sysconfdir}/mosquitto
|
|
||||||
install -m 0644 ${D}${sysconfdir}/mosquitto/mosquitto.conf.example \
|
|
||||||
${D}${sysconfdir}/mosquitto/mosquitto.conf
|
|
||||||
|
|
||||||
install -d ${D}${sysconfdir}/init.d/
|
install -d ${D}${sysconfdir}/init.d/
|
||||||
install -m 0755 ${WORKDIR}/mosquitto.init ${D}${sysconfdir}/init.d/mosquitto
|
install -m 0755 ${WORKDIR}/mosquitto.init ${D}${sysconfdir}/init.d/mosquitto
|
||||||
sed -i -e 's,@SBINDIR@,${sbindir},g' \
|
sed -i -e 's,@SBINDIR@,${sbindir},g' \
|
||||||
@@ -77,9 +68,9 @@ FILES_${PN} = "${sbindir}/mosquitto \
|
|||||||
|
|
||||||
CONFFILES_${PN} += "${sysconfdir}/mosquitto/mosquitto.conf"
|
CONFFILES_${PN} += "${sysconfdir}/mosquitto/mosquitto.conf"
|
||||||
|
|
||||||
FILES_libmosquitto1 = "${libdir}/libmosquitto.so.1"
|
FILES_libmosquitto1 = "${libdir}/libmosquitto.so.*"
|
||||||
|
|
||||||
FILES_libmosquittopp1 = "${libdir}/libmosquittopp.so.1"
|
FILES_libmosquittopp1 = "${libdir}/libmosquittopp.so.*"
|
||||||
|
|
||||||
FILES_${PN}-clients = "${bindir}/mosquitto_pub \
|
FILES_${PN}-clients = "${bindir}/mosquitto_pub \
|
||||||
${bindir}/mosquitto_sub \
|
${bindir}/mosquitto_sub \
|
||||||
|
|||||||
Reference in New Issue
Block a user