All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-oe][PATCH 0/2] Add a couple of MQTT support recipes
@ 2017-09-01  4:02 Paul Eggleton
  2017-09-01  4:02 ` [meta-oe][PATCH 1/2] mosquitto: add from meta-intel-iot-middleware and update Paul Eggleton
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Paul Eggleton @ 2017-09-01  4:02 UTC (permalink / raw)
  To: openembedded-devel

Add a couple of recipes from meta-intel-iot-middleware to support MQTT.
Since the meta-intel-iot-middleware layer isn't being actively maintained
and these aren't in any way Intel-specific I figured they ought to be
brought up-to-date and moved somewhere that people can more easily reuse
them.

FWIW, at least mosquitto is something I plan on using personally, and
I'm more than happy sign up to maintaining these in future.


The following changes since commit e5681e1dca96d3f313b3b2b346789f22483d7881:

  layer.conf: remove FREESMARTPHONE_GIT variable (2017-08-31 14:22:12 +0200)

are available in the git repository at:

  git://git.openembedded.org/meta-openembedded-contrib paule/mqtt-recipes
  http://cgit.openembedded.org/meta-openembedded-contrib/log/?h=paule/mqtt-recipes

Paul Eggleton (2):
  mosquitto: add from meta-intel-iot-middleware and update
  paho-mqtt-c: add recipe from meta-intel-iot-middleware and update

 .../mosquitto/files/build.patch                    | 94 ++++++++++++++++++++++
 .../mosquitto/files/mosquitto.init                 | 89 ++++++++++++++++++++
 .../mosquitto/files/mosquitto.service              | 15 ++++
 .../mosquitto/mosquitto_1.4.14.bb                  | 80 ++++++++++++++++++
 .../paho-mqtt-c/files/makefile.patch               | 25 ++++++
 .../paho-mqtt-c/paho-mqtt-c_1.2.0.bb               | 35 ++++++++
 6 files changed, 338 insertions(+)
 create mode 100644 meta-oe/recipes-connectivity/mosquitto/files/build.patch
 create mode 100644 meta-oe/recipes-connectivity/mosquitto/files/mosquitto.init
 create mode 100644 meta-oe/recipes-connectivity/mosquitto/files/mosquitto.service
 create mode 100644 meta-oe/recipes-connectivity/mosquitto/mosquitto_1.4.14.bb
 create mode 100644 meta-oe/recipes-connectivity/paho-mqtt-c/files/makefile.patch
 create mode 100644 meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.2.0.bb

-- 
2.9.5



^ permalink raw reply	[flat|nested] 8+ messages in thread

* [meta-oe][PATCH 1/2] mosquitto: add from meta-intel-iot-middleware and update
  2017-09-01  4:02 [meta-oe][PATCH 0/2] Add a couple of MQTT support recipes Paul Eggleton
@ 2017-09-01  4:02 ` Paul Eggleton
  2017-09-01  4:02 ` [meta-oe][PATCH 2/2] paho-mqtt-c: add recipe " Paul Eggleton
  2017-09-01  4:44 ` [meta-oe][PATCH 0/2] Add a couple of MQTT support recipes Tim Orling
  2 siblings, 0 replies; 8+ messages in thread
From: Paul Eggleton @ 2017-09-01  4:02 UTC (permalink / raw)
  To: openembedded-devel

The following improvements have been made over the recipe that was in
meta-intel-iot-middleware (a layer which is no longer actively
maintained):

* Upgrade to 1.4.14
* Use correct LICENSE value (license changed back in version 1.4)
* Add files containing the actual license terms to LIC_FILES_CHKSUM
* Make optional dependencies optional through PACKAGECONFIG (c-ares
  dependency now defaults to disabled)
* Use ${prefix} instead of /usr
* Drop python package since the python client was removed in 1.4
* SUMMARY and DESCRIPTION now reflect that it also supports MQTT 3.1.1
* Add brief description and Upstream-Status to build.patch
* Drop PR = "r0"
* Drop unnecessary setting of FILES_${PN}-staticdev since the default
  already includes this file
* Move SRC_URI checksums next to SRC_URI
* Move inherit of systemd further up

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 .../mosquitto/files/build.patch                    | 94 ++++++++++++++++++++++
 .../mosquitto/files/mosquitto.init                 | 89 ++++++++++++++++++++
 .../mosquitto/files/mosquitto.service              | 15 ++++
 .../mosquitto/mosquitto_1.4.14.bb                  | 80 ++++++++++++++++++
 4 files changed, 278 insertions(+)
 create mode 100644 meta-oe/recipes-connectivity/mosquitto/files/build.patch
 create mode 100644 meta-oe/recipes-connectivity/mosquitto/files/mosquitto.init
 create mode 100644 meta-oe/recipes-connectivity/mosquitto/files/mosquitto.service
 create mode 100644 meta-oe/recipes-connectivity/mosquitto/mosquitto_1.4.14.bb

diff --git a/meta-oe/recipes-connectivity/mosquitto/files/build.patch b/meta-oe/recipes-connectivity/mosquitto/files/build.patch
new file mode 100644
index 0000000..0d0912b
--- /dev/null
+++ b/meta-oe/recipes-connectivity/mosquitto/files/build.patch
@@ -0,0 +1,94 @@
+From ebd7c8e548e9b8e096ee4c390173db9a701f2604 Mon Sep 17 00:00:00 2001
+From: Bruno Bottazzini <bruno.bottazzini@intel.com>
+Date: Wed, 23 Mar 2016 11:18:26 -0300
+Subject: [PATCH] build
+
+Disable stripping and allow easily overriding prefix
+
+Upstream-Status: Pending
+
+Signed-off-by: Bruno Bottazzini <bruno.bottazzini@intel.com>
+---
+ client/Makefile  | 4 ++--
+ config.mk        | 2 +-
+ lib/Makefile     | 2 +-
+ lib/cpp/Makefile | 2 +-
+ src/Makefile     | 4 ++--
+ 5 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/client/Makefile b/client/Makefile
+index bd65355..4e5a640 100644
+--- a/client/Makefile
++++ b/client/Makefile
+@@ -24,8 +24,8 @@ client_shared.o : client_shared.c client
+ 
+ install : all
+ 	$(INSTALL) -d ${DESTDIR}$(prefix)/bin
+-	$(INSTALL) -s --strip-program=${CROSS_COMPILE}${STRIP} mosquitto_pub ${DESTDIR}${prefix}/bin/mosquitto_pub
+-	$(INSTALL) -s --strip-program=${CROSS_COMPILE}${STRIP} mosquitto_sub ${DESTDIR}${prefix}/bin/mosquitto_sub
++	$(INSTALL) mosquitto_pub ${DESTDIR}${prefix}/bin/mosquitto_pub
++	$(INSTALL) mosquitto_sub ${DESTDIR}${prefix}/bin/mosquitto_sub
+ 
+ uninstall :
+ 	-rm -f ${DESTDIR}${prefix}/bin/mosquitto_pub
+diff --git a/config.mk b/config.mk
+index c0f175f..3427b83 100644
+--- a/config.mk
++++ b/config.mk
+@@ -241,7 +241,7 @@ ifeq ($(WITH_DOCS),yes)
+ endif
+ 
+ INSTALL?=install
+-prefix=/usr/local
++prefix?=/usr
+ mandir=${prefix}/share/man
+ localedir=${prefix}/share/locale
+ STRIP?=strip
+diff --git a/lib/Makefile b/lib/Makefile
+index 825fcea..9b7c05c 100644
+--- a/lib/Makefile
++++ b/lib/Makefile
+@@ -25,7 +25,7 @@ all : libmosquitto.so.${SOVERSION} libmo
+ 
+ install : all
+ 	$(INSTALL) -d ${DESTDIR}$(prefix)/lib${LIB_SUFFIX}/
+-	$(INSTALL) -s --strip-program=${CROSS_COMPILE}${STRIP} libmosquitto.so.${SOVERSION} ${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquitto.so.${SOVERSION}
++	$(INSTALL) libmosquitto.so.${SOVERSION} ${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquitto.so.${SOVERSION}
+ 	ln -sf libmosquitto.so.${SOVERSION} ${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquitto.so
+ 	$(INSTALL) -d ${DESTDIR}${prefix}/include/
+ 	$(INSTALL) mosquitto.h ${DESTDIR}${prefix}/include/mosquitto.h
+diff --git a/lib/cpp/Makefile b/lib/cpp/Makefile
+index 8b627d3..cdb2923 100644
+--- a/lib/cpp/Makefile
++++ b/lib/cpp/Makefile
+@@ -10,7 +10,7 @@ all : libmosquittopp.so.${SOVERSION}
+ 
+ install : all
+ 	$(INSTALL) -d ${DESTDIR}$(prefix)/lib${LIB_SUFFIX}/
+-	$(INSTALL) -s --strip-program=${CROSS_COMPILE}${STRIP} libmosquittopp.so.${SOVERSION} ${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquittopp.so.${SOVERSION}
++	$(INSTALL) libmosquittopp.so.${SOVERSION} ${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquittopp.so.${SOVERSION}
+ 	ln -sf libmosquittopp.so.${SOVERSION} ${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquittopp.so
+ 	$(INSTALL) -d ${DESTDIR}${prefix}/include/
+ 	$(INSTALL) mosquittopp.h ${DESTDIR}${prefix}/include/mosquittopp.h
+diff --git a/src/Makefile b/src/Makefile
+index 2cfb7d4..9a97644 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -103,12 +103,12 @@ mosquitto_passwd.o : mosquitto_passwd.c
+ 
+ install : all
+ 	$(INSTALL) -d ${DESTDIR}$(prefix)/sbin
+-	$(INSTALL) -s --strip-program=${CROSS_COMPILE}${STRIP} mosquitto ${DESTDIR}${prefix}/sbin/mosquitto
++	$(INSTALL) mosquitto ${DESTDIR}${prefix}/sbin/mosquitto
+	$(INSTALL) -d ${DESTDIR}$(prefix)/include
+ 	$(INSTALL) mosquitto_plugin.h ${DESTDIR}${prefix}/include/mosquitto_plugin.h
+ ifeq ($(WITH_TLS),yes)
+	$(INSTALL) -d ${DESTDIR}$(prefix)/bin
+-	$(INSTALL) -s --strip-program=${CROSS_COMPILE}${STRIP} mosquitto_passwd ${DESTDIR}${prefix}/bin/mosquitto_passwd
++	$(INSTALL) mosquitto_passwd ${DESTDIR}${prefix}/bin/mosquitto_passwd
+ endif
+ 
+ uninstall :
+-- 
+2.7.1
+
diff --git a/meta-oe/recipes-connectivity/mosquitto/files/mosquitto.init b/meta-oe/recipes-connectivity/mosquitto/files/mosquitto.init
new file mode 100644
index 0000000..d2a27b2
--- /dev/null
+++ b/meta-oe/recipes-connectivity/mosquitto/files/mosquitto.init
@@ -0,0 +1,89 @@
+#! /bin/sh
+
+# Based on the Debian initscript for mosquitto
+
+### BEGIN INIT INFO
+# Provides:         mosquitto
+# Required-Start:   $remote_fs $syslog
+# Required-Stop:    $remote_fs $syslog
+# Default-Start:    2 3 4 5
+# Default-Stop:     0 1 6
+# Short-Description:    mosquitto MQTT v3.1 message broker
+# Description: 
+#  This is a message broker that supports version 3.1 of the MQ Telemetry
+#  Transport (MQTT) protocol.
+#  
+#  MQTT provides a method of carrying out messaging using a publish/subscribe
+#  model. It is lightweight, both in terms of bandwidth usage and ease of
+#  implementation. This makes it particularly useful at the edge of the network
+#  where a sensor or other simple device may be implemented using an arduino for
+#  example.
+### END INIT INFO
+
+set -e
+
+PIDFILE=@LOCALSTATEDIR@/run/mosquitto.pid
+DAEMON=@SBINDIR@/mosquitto
+
+# start and stop the mosquitto MQTT message broker
+
+test -x ${DAEMON} || exit 0
+
+umask 022
+
+. @SYSCONFDIR@/init.d/functions
+
+export PATH="${PATH:+$PATH:}@SBINDIR@:@BASE_SBINDIR@"
+
+case "$1" in
+    start)
+        echo "Starting Mosquitto message broker" "mosquitto"
+        if start-stop-daemon --start --quiet --oknodo --background  --make-pidfile --pidfile ${PIDFILE} --exec ${DAEMON} ; then
+            exit 0
+        else
+            exit 1
+        fi
+        ;;
+    stop)
+        echo "Stopping Mosquitto message broker" "mosquitto"
+        if start-stop-daemon --stop --quiet --oknodo --pidfile ${PIDFILE}; then
+            rm -f ${PIDFILE}
+            exit 0
+        else
+            exit 1
+        fi
+        ;;
+
+
+    reload|force-reload)
+        if [ -f ${PIDFILE} ] ; then
+            echo "Reloading configuration for mosquitto"
+            pid=`cat ${PIDFILE}`
+            kill -HUP $pid
+        else
+            echo "mosquitto does not seem to be running"
+        fi
+        ;;
+
+    restart)
+        echo "Restarting Mosquitto message broker" "mosquitto"
+        if start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile ${PIDFILE}; then
+            rm -f ${PIDFILE}
+        fi
+        if start-stop-daemon --start --quiet --oknodo --background --make-pidfile --pidfile ${PIDFILE} --exec ${DAEMON} -- -c @SYSCONFDIR@/mosquitto/mosquitto.conf ; then
+            exit 0
+        else
+            exit 1
+        fi
+        ;;
+
+    status)
+        status ${DAEMON} && exit 0 || exit $?
+        ;;
+
+    *)
+        echo "Usage: $0 {start|stop|reload|force-reload|restart|status}"
+        exit 1
+esac
+
+exit 0
diff --git a/meta-oe/recipes-connectivity/mosquitto/files/mosquitto.service b/meta-oe/recipes-connectivity/mosquitto/files/mosquitto.service
new file mode 100644
index 0000000..25f68fa
--- /dev/null
+++ b/meta-oe/recipes-connectivity/mosquitto/files/mosquitto.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Mosquitto - lightweight server implementation of the MQTT and MQTT-SN protocols
+ConditionPathExists=/etc/mosquitto/mosquitto.conf
+After=network.target
+
+[Service]
+Type=simple
+ExecStartPre=/bin/rm -f /var/run/mosquitto.pid
+ExecStart=/usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
+ExecReload=/bin/kill -HUP $MAINPID
+PIDFile=/var/run/mosquitto.pid
+Restart=on-failure
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-oe/recipes-connectivity/mosquitto/mosquitto_1.4.14.bb b/meta-oe/recipes-connectivity/mosquitto/mosquitto_1.4.14.bb
new file mode 100644
index 0000000..7554248
--- /dev/null
+++ b/meta-oe/recipes-connectivity/mosquitto/mosquitto_1.4.14.bb
@@ -0,0 +1,80 @@
+SUMMARY = "Open source MQTT v3.1/3.1.1 implemention"
+DESCRIPTION = "Mosquitto is an open source (Eclipse licensed) message broker that implements the MQ Telemetry Transport protocol version 3.1 and 3.1.1. MQTT provides a lightweight method of carrying out messaging using a publish/subscribe model. "
+HOMEPAGE = "http://mosquitto.org/"
+SECTION = "console/network"
+LICENSE = "EPL-1.0 | EDL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=62ddc846179e908dc0c8efec4a42ef20 \
+                    file://edl-v10;md5=c09f121939f063aeb5235972be8c722c \
+                    file://epl-v10;md5=8d383c379e91d20ba18a52c3e7d3a979 \
+                    file://notice.html;md5=a00d6f9ab542be7babc2d8b80d5d2a4c \
+"
+
+SRC_URI = "http://mosquitto.org/files/source/mosquitto-${PV}.tar.gz \
+           file://build.patch \
+           file://mosquitto.service \
+           file://mosquitto.init \
+"
+
+SRC_URI[md5sum] = "6b0966e93f118bc71ad7b61600a6c2d3"
+SRC_URI[sha256sum] = "156b1fa731d12baad4b8b22f7b6a8af50ba881fc711b81e9919ec103cf2942d1"
+
+inherit systemd update-rc.d useradd
+
+PACKAGECONFIG ??= "ssl uuid"
+
+PACKAGECONFIG[dns-srv] = ",,c-ares"
+PACKAGECONFIG[ssl] = ",,openssl"
+PACKAGECONFIG[uuid] = ",,util-linux"
+EXTRA_OEMAKE = "${@bb.utils.contains('PACKAGECONFIG', 'dns-srv', 'WITH_SRV=yes', 'WITH_SRV=no', d)} \
+                WITH_DOCS=no \
+                ${@bb.utils.contains('PACKAGECONFIG', 'ssl', 'WITH_TLS=yes WITH_TLS_PSK=yes', 'WITH_TLS=no WITH_TLS_PSK=no', d)} \
+                ${@bb.utils.contains('PACKAGECONFIG', 'uuid', 'WITH_UUID=yes', 'WITH_UUID=no', d)}"
+
+export LIB_SUFFIX="${@d.getVar('baselib', True).replace('lib', '')}"
+
+do_compile() {
+    oe_runmake PREFIX=${prefix}
+}
+
+do_install() {
+    oe_runmake install DESTDIR=${D}
+    install -d ${D}${libdir}
+    install -m 0644 lib/libmosquitto.a ${D}${libdir}/
+
+    install -d ${D}${systemd_unitdir}/system/
+    install -m 0644 ${WORKDIR}/mosquitto.service ${D}${systemd_unitdir}/system/
+
+    install -d ${D}${sysconfdir}/init.d/
+    install -m 0755 ${WORKDIR}/mosquitto.init ${D}${sysconfdir}/init.d/mosquitto
+    sed -i -e 's,@SBINDIR@,${sbindir},g' \
+        -e 's,@BASE_SBINDIR@,${base_sbindir},g' \
+        -e 's,@LOCALSTATEDIR@,${localstatedir},g' \
+        -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+        ${D}${sysconfdir}/init.d/mosquitto
+}
+
+PACKAGES += "libmosquitto1 libmosquittopp1 ${PN}-clients"
+
+FILES_${PN} = "${sbindir}/mosquitto \
+               ${bindir}/mosquitto_passwd \
+               ${sysconfdir}/mosquitto \
+               ${sysconfdir}/init.d \
+               ${systemd_unitdir}/system/mosquitto.service \
+"
+
+FILES_libmosquitto1 = "${libdir}/libmosquitto.so.1"
+
+FILES_libmosquittopp1 = "${libdir}/libmosquittopp.so.1"
+
+FILES_${PN}-clients = "${bindir}/mosquitto_pub \
+                       ${bindir}/mosquitto_sub \
+"
+
+SYSTEMD_SERVICE_${PN} = "mosquitto.service"
+
+INITSCRIPT_NAME = "mosquitto"
+INITSCRIPT_PARAMS = "defaults 30"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system --no-create-home --shell /bin/false \
+                       --user-group mosquitto"
-- 
2.9.5



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [meta-oe][PATCH 2/2] paho-mqtt-c: add recipe from meta-intel-iot-middleware and update
  2017-09-01  4:02 [meta-oe][PATCH 0/2] Add a couple of MQTT support recipes Paul Eggleton
  2017-09-01  4:02 ` [meta-oe][PATCH 1/2] mosquitto: add from meta-intel-iot-middleware and update Paul Eggleton
@ 2017-09-01  4:02 ` Paul Eggleton
  2018-01-30 14:26   ` Martin Jansa
  2017-09-01  4:44 ` [meta-oe][PATCH 0/2] Add a couple of MQTT support recipes Tim Orling
  2 siblings, 1 reply; 8+ messages in thread
From: Paul Eggleton @ 2017-09-01  4:02 UTC (permalink / raw)
  To: openembedded-devel

The following improvements have been made over the recipe that was in
meta-intel-iot-middleware (a layer which is no longer actively
maintained):

* Upgrade to 1.2.0. The version number being used previously (3.1) was
  bogus - I guess someone saw that it supported the MQTT *protocol*
  version 3.1 and assumed that was the library version. Since we are
  renaming it to paho-mqtt-c at the same time to distinguish it from
  other Eclipse Paho MQTT library flavours, we don't need to bump PE.
* Fix SRC_URI since the repository has been moved
* Fix "No GNU_HASH in the elf binary" QA error
* Add notice.html and about.html to LIC_FILES_CHKSUM since they cover
  licensing
* Add description, Signed-off-by and Upstream-Status to makefile.patch
* Set short description in SUMMARY
* Drop unnecessary custom do_compile - the default implementation
  basically does the same thing
* Drop RDEPENDS on openssl - linking already ensures runtime
  dependencies get set correctly
* Move DEPENDS further up

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 .../paho-mqtt-c/files/makefile.patch               | 25 ++++++++++++++++
 .../paho-mqtt-c/paho-mqtt-c_1.2.0.bb               | 35 ++++++++++++++++++++++
 2 files changed, 60 insertions(+)
 create mode 100644 meta-oe/recipes-connectivity/paho-mqtt-c/files/makefile.patch
 create mode 100644 meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.2.0.bb

diff --git a/meta-oe/recipes-connectivity/paho-mqtt-c/files/makefile.patch b/meta-oe/recipes-connectivity/paho-mqtt-c/files/makefile.patch
new file mode 100644
index 0000000..a31bfaa
--- /dev/null
+++ b/meta-oe/recipes-connectivity/paho-mqtt-c/files/makefile.patch
@@ -0,0 +1,25 @@
+Disable building some things we don't need
+
+Upstream-Status: Inappropriate [config]
+
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+
+---
+ Makefile |    3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 33bd2d0..84262bd 100644
+--- a/Makefile
++++ b/Makefile
+@@ -115,7 +115,8 @@ LDFLAGS_AS = -shared -Wl,-soname,lib${MQTTLIB_AS}.so.${MAJOR_VERSION} -lpthread
+ 
+ all: build
+ 	
+-build: | mkdir ${MQTTLIB_C_TARGET} ${MQTTLIB_CS_TARGET} ${MQTTLIB_A_TARGET} ${MQTTLIB_AS_TARGET} ${MQTTVERSION_TARGET} ${SYNC_SAMPLES} ${ASYNC_SAMPLES} ${SYNC_TESTS} ${SYNC_SSL_TESTS} ${ASYNC_TESTS} ${ASYNC_SSL_TESTS}
++build: | mkdir ${MQTTLIB_C_TARGET} ${MQTTLIB_CS_TARGET} ${MQTTLIB_A_TARGET} ${MQTTLIB_AS_TARGET}
++#${MQTTVERSION_TARGET} ${SYNC_SAMPLES} ${ASYNC_SAMPLES} ${SYNC_TESTS} ${SYNC_SSL_TESTS} ${ASYNC_TESTS} ${ASYNC_SSL_TESTS}
+ 
+ clean:
+ 	rm -rf ${blddir}/*
+-- 
diff --git a/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.2.0.bb b/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.2.0.bb
new file mode 100644
index 0000000..fec380c
--- /dev/null
+++ b/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.2.0.bb
@@ -0,0 +1,35 @@
+SUMMARY = "Paho MQTT - C libraries for the MQTT and MQTT-SN protocols"
+DESCRIPTION = "Client implementation of open and standard messaging protocols for Machine-to-Machine (M2M) and Internet of Things (IoT)."
+HOMEPAGE = "http://www.eclipse.org/paho/"
+SECTION = "console/network"
+LICENSE = "EPL-1.0 | EDL-1.0"
+
+LIC_FILES_CHKSUM = " \
+        file://edl-v10;md5=3adfcc70f5aeb7a44f3f9b495aa1fbf3 \
+        file://epl-v10;md5=659c8e92a40b6df1d9e3dccf5ae45a08 \
+        file://notice.html;md5=a00d6f9ab542be7babc2d8b80d5d2a4c \
+        file://about.html;md5=dcde438d73cf42393da9d40fabc0c9bc \
+"
+
+SRC_URI = "git://github.com/eclipse/paho.mqtt.c;protocol=http"
+
+SRCREV = "e8d34da24ad807f5e698b327d67591fd4b4bfa7e"
+
+DEPENDS = "openssl"
+
+S = "${WORKDIR}/git"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_install() {
+    install -d ${D}${libdir}
+    oe_libinstall -C build/output -so libpaho-mqtt3a ${D}${libdir}
+    oe_libinstall -C build/output -so libpaho-mqtt3as ${D}${libdir}
+    oe_libinstall -C build/output -so libpaho-mqtt3c  ${D}${libdir}
+    oe_libinstall -C build/output -so libpaho-mqtt3cs ${D}${libdir}
+    install -d ${D}${includedir}
+    install -m 644 src/MQTTAsync.h ${D}${includedir}
+    install -m 644 src/MQTTClient.h ${D}${includedir}
+    install -m 644 src/MQTTClientPersistence.h ${D}${includedir}
+}
+
-- 
2.9.5



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [meta-oe][PATCH 0/2] Add a couple of MQTT support recipes
  2017-09-01  4:02 [meta-oe][PATCH 0/2] Add a couple of MQTT support recipes Paul Eggleton
  2017-09-01  4:02 ` [meta-oe][PATCH 1/2] mosquitto: add from meta-intel-iot-middleware and update Paul Eggleton
  2017-09-01  4:02 ` [meta-oe][PATCH 2/2] paho-mqtt-c: add recipe " Paul Eggleton
@ 2017-09-01  4:44 ` Tim Orling
  2017-09-01  6:03   ` Andrea Galbusera
  2 siblings, 1 reply; 8+ messages in thread
From: Tim Orling @ 2017-09-01  4:44 UTC (permalink / raw)
  To: Paul Eggleton; +Cc: openembedded-devel


> On Aug 31, 2017, at 9:02 PM, Paul Eggleton <paul.eggleton@linux.intel.com> wrote:
> 
> Add a couple of recipes from meta-intel-iot-middleware to support MQTT.
> Since the meta-intel-iot-middleware layer isn't being actively maintained
> and these aren't in any way Intel-specific I figured they ought to be
> brought up-to-date and moved somewhere that people can more easily reuse
> them.
> 

Thank you for this. It has been a concern of mine and this is a welcome
solution.

> FWIW, at least mosquitto is something I plan on using personally, and
> I'm more than happy sign up to maintaining these in future.
> 

I also plan on using mosquitto, so I am happy to help maintain as well.

> 
> The following changes since commit e5681e1dca96d3f313b3b2b346789f22483d7881:
> 
>  layer.conf: remove FREESMARTPHONE_GIT variable (2017-08-31 14:22:12 +0200)
> 
> are available in the git repository at:
> 
>  git://git.openembedded.org/meta-openembedded-contrib paule/mqtt-recipes
>  http://cgit.openembedded.org/meta-openembedded-contrib/log/?h=paule/mqtt-recipes
> 
> Paul Eggleton (2):
>  mosquitto: add from meta-intel-iot-middleware and update
>  paho-mqtt-c: add recipe from meta-intel-iot-middleware and update
> 
> .../mosquitto/files/build.patch                    | 94 ++++++++++++++++++++++
> .../mosquitto/files/mosquitto.init                 | 89 ++++++++++++++++++++
> .../mosquitto/files/mosquitto.service              | 15 ++++
> .../mosquitto/mosquitto_1.4.14.bb                  | 80 ++++++++++++++++++
> .../paho-mqtt-c/files/makefile.patch               | 25 ++++++
> .../paho-mqtt-c/paho-mqtt-c_1.2.0.bb               | 35 ++++++++
> 6 files changed, 338 insertions(+)
> create mode 100644 meta-oe/recipes-connectivity/mosquitto/files/build.patch
> create mode 100644 meta-oe/recipes-connectivity/mosquitto/files/mosquitto.init
> create mode 100644 meta-oe/recipes-connectivity/mosquitto/files/mosquitto.service
> create mode 100644 meta-oe/recipes-connectivity/mosquitto/mosquitto_1.4.14.bb
> create mode 100644 meta-oe/recipes-connectivity/paho-mqtt-c/files/makefile.patch
> create mode 100644 meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.2.0.bb
> 
> -- 
> 2.9.5
> 
> -- 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [meta-oe][PATCH 0/2] Add a couple of MQTT support recipes
  2017-09-01  4:44 ` [meta-oe][PATCH 0/2] Add a couple of MQTT support recipes Tim Orling
@ 2017-09-01  6:03   ` Andrea Galbusera
  2017-09-01 11:08     ` Paul Eggleton
  0 siblings, 1 reply; 8+ messages in thread
From: Andrea Galbusera @ 2017-09-01  6:03 UTC (permalink / raw)
  To: Tim Orling; +Cc: Paul Eggleton, openembeded-devel

On Fri, Sep 1, 2017 at 6:44 AM, Tim Orling <timothy.t.orling@linux.intel.com
> wrote:

>
> > On Aug 31, 2017, at 9:02 PM, Paul Eggleton <
> paul.eggleton@linux.intel.com> wrote:
> >
> > Add a couple of recipes from meta-intel-iot-middleware to support MQTT.
> > Since the meta-intel-iot-middleware layer isn't being actively maintained
> > and these aren't in any way Intel-specific I figured they ought to be
> > brought up-to-date and moved somewhere that people can more easily reuse
> > them.
> >
>
> Thank you for this. It has been a concern of mine and this is a welcome
> solution.


Good news for me also! FWIW months ago there used to be a more recent
version of meta-intel-iot-middleware hosted on github as part of Ostro.
Since this was confusing to me I asked [1] on the list to clarify
maintenance status and relationships between the two things, but only got a
reply [2] from a former maintainer of the repo on yoctoproject.org. Anyway
I agree that having MQTT recipes in meta-oe will help! Thanks Paul for
that!

[1]
https://lists.yoctoproject.org/pipermail/meta-intel/2016-December/004462.html
[2]
https://lists.yoctoproject.org/pipermail/meta-intel/2017-January/004488.html


> > FWIW, at least mosquitto is something I plan on using personally, and
> > I'm more than happy sign up to maintaining these in future.
> >
>
> I also plan on using mosquitto, so I am happy to help maintain as well.
>
> >
> > The following changes since commit e5681e1dca96d3f313b3b2b346789f
> 22483d7881:
> >
> >  layer.conf: remove FREESMARTPHONE_GIT variable (2017-08-31 14:22:12
> +0200)
> >
> > are available in the git repository at:
> >
> >  git://git.openembedded.org/meta-openembedded-contrib paule/mqtt-recipes
> >  http://cgit.openembedded.org/meta-openembedded-contrib/log/
> ?h=paule/mqtt-recipes
> >
> > Paul Eggleton (2):
> >  mosquitto: add from meta-intel-iot-middleware and update
> >  paho-mqtt-c: add recipe from meta-intel-iot-middleware and update
> >
> > .../mosquitto/files/build.patch                    | 94
> ++++++++++++++++++++++
> > .../mosquitto/files/mosquitto.init                 | 89
> ++++++++++++++++++++
> > .../mosquitto/files/mosquitto.service              | 15 ++++
> > .../mosquitto/mosquitto_1.4.14.bb                  | 80
> ++++++++++++++++++
> > .../paho-mqtt-c/files/makefile.patch               | 25 ++++++
> > .../paho-mqtt-c/paho-mqtt-c_1.2.0.bb               | 35 ++++++++
> > 6 files changed, 338 insertions(+)
> > create mode 100644 meta-oe/recipes-connectivity/
> mosquitto/files/build.patch
> > create mode 100644 meta-oe/recipes-connectivity/
> mosquitto/files/mosquitto.init
> > create mode 100644 meta-oe/recipes-connectivity/
> mosquitto/files/mosquitto.service
> > create mode 100644 meta-oe/recipes-connectivity/mosquitto/
> mosquitto_1.4.14.bb
> > create mode 100644 meta-oe/recipes-connectivity/
> paho-mqtt-c/files/makefile.patch
> > create mode 100644 meta-oe/recipes-connectivity/paho-mqtt-c/
> paho-mqtt-c_1.2.0.bb
> >
> > --
> > 2.9.5
> >
> > --
> > _______________________________________________
> > Openembedded-devel mailing list
> > Openembedded-devel@lists.openembedded.org
> > http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [meta-oe][PATCH 0/2] Add a couple of MQTT support recipes
  2017-09-01  6:03   ` Andrea Galbusera
@ 2017-09-01 11:08     ` Paul Eggleton
  2017-09-01 14:10       ` Andrea Galbusera
  0 siblings, 1 reply; 8+ messages in thread
From: Paul Eggleton @ 2017-09-01 11:08 UTC (permalink / raw)
  To: Andrea Galbusera, openembeded-devel

On Friday, 1 September 2017 6:03:52 PM NZST Andrea Galbusera wrote:
> On Fri, Sep 1, 2017 at 6:44 AM, Tim Orling <timothy.t.orling@linux.intel.com
> > wrote:
> > > On Aug 31, 2017, at 9:02 PM, Paul Eggleton <
> > paul.eggleton@linux.intel.com> wrote:
> > >
> > > Add a couple of recipes from meta-intel-iot-middleware to support MQTT.
> > > Since the meta-intel-iot-middleware layer isn't being actively
> > > maintained and these aren't in any way Intel-specific I figured they
> > > ought to be brought up-to-date and moved somewhere that people can more
> > > easily reuse them.
> > >
> >
> > Thank you for this. It has been a concern of mine and this is a welcome
> > solution.
> 
> 
> Good news for me also! FWIW months ago there used to be a more recent
> version of meta-intel-iot-middleware hosted on github as part of Ostro.
> Since this was confusing to me I asked [1] on the list to clarify
> maintenance status and relationships between the two things, but only got a
> reply [2] from a former maintainer of the repo on yoctoproject.org. Anyway
> I agree that having MQTT recipes in meta-oe will help! Thanks Paul for
> that!
> 
> [1]
> https://lists.yoctoproject.org/pipermail/meta-intel/2016-December/
004462.html
> [2]
> https://lists.yoctoproject.org/pipermail/meta-intel/2017-January/004488.html

No worries. I see you were after these two recipes and hiredis (and the latter 
is in meta-oe now as you probably know).

The recipes that aren't either obsolete or available elsewhere are as follows:

hid-api
libstrophe
libwyliodrin
mdns
python-pyfirmata
sshpass
tempered
wyliodrin-server

Only python-pyfirmata looks particularly interesting to me, but if there are 
others that anyone would like preserved/updated please let me know.

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [meta-oe][PATCH 0/2] Add a couple of MQTT support recipes
  2017-09-01 11:08     ` Paul Eggleton
@ 2017-09-01 14:10       ` Andrea Galbusera
  0 siblings, 0 replies; 8+ messages in thread
From: Andrea Galbusera @ 2017-09-01 14:10 UTC (permalink / raw)
  To: Paul Eggleton; +Cc: openembeded-devel

On Fri, Sep 1, 2017 at 1:08 PM, Paul Eggleton <paul.eggleton@linux.intel.com
> wrote:

> On Friday, 1 September 2017 6:03:52 PM NZST Andrea Galbusera wrote:
> > On Fri, Sep 1, 2017 at 6:44 AM, Tim Orling <
> timothy.t.orling@linux.intel.com
> > > wrote:
> > > > On Aug 31, 2017, at 9:02 PM, Paul Eggleton <
> > > paul.eggleton@linux.intel.com> wrote:
> > > >
> > > > Add a couple of recipes from meta-intel-iot-middleware to support
> MQTT.
> > > > Since the meta-intel-iot-middleware layer isn't being actively
> > > > maintained and these aren't in any way Intel-specific I figured they
> > > > ought to be brought up-to-date and moved somewhere that people can
> more
> > > > easily reuse them.
> > > >
> > >
> > > Thank you for this. It has been a concern of mine and this is a welcome
> > > solution.
> >
> >
> > Good news for me also! FWIW months ago there used to be a more recent
> > version of meta-intel-iot-middleware hosted on github as part of Ostro.
> > Since this was confusing to me I asked [1] on the list to clarify
> > maintenance status and relationships between the two things, but only
> got a
> > reply [2] from a former maintainer of the repo on yoctoproject.org.
> Anyway
> > I agree that having MQTT recipes in meta-oe will help! Thanks Paul for
> > that!
> >
> > [1]
> > https://lists.yoctoproject.org/pipermail/meta-intel/2016-December/
> 004462.html
> > [2]
> > https://lists.yoctoproject.org/pipermail/meta-intel/2017-
> January/004488.html
>
> No worries. I see you were after these two recipes and hiredis (and the
> latter
> is in meta-oe now as you probably know).
>

Yes! I'm currently using hiredis from meta-oe in a couple of projects now
and I'm more than happy to have it there! ;-)


>
> The recipes that aren't either obsolete or available elsewhere are as
> follows:
>
> hid-api
> libstrophe
> libwyliodrin
> mdns
> python-pyfirmata
> sshpass
> tempered
> wyliodrin-server
>
> Only python-pyfirmata looks particularly interesting to me, but if there
> are
> others that anyone would like preserved/updated please let me know.
>

None of them are of particular interest to me a.t.m, but thanks again for
in-depth auditing that layer.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [meta-oe][PATCH 2/2] paho-mqtt-c: add recipe from meta-intel-iot-middleware and update
  2017-09-01  4:02 ` [meta-oe][PATCH 2/2] paho-mqtt-c: add recipe " Paul Eggleton
@ 2018-01-30 14:26   ` Martin Jansa
  0 siblings, 0 replies; 8+ messages in thread
From: Martin Jansa @ 2018-01-30 14:26 UTC (permalink / raw)
  To: Paul Eggleton; +Cc: openembedded-devel

Hi,

it's quite rare, but I got few build failures with this component like this:

DEBUG: Executing shell function do_compile
NOTE: make -j 24
mkdir -p build/output/samples
sed -e "s/@CLIENT_VERSION@/1.2.0/g" -e "s/@BUILD_TIMESTAMP@/Fri Jan 26
21:18:06 UTC 2018/g" src/VersionInfo.h.in > build/VersionInfo.h
/bin/sh: 1: cannot create build/VersionInfo.h: Directory nonexistent
make: *** [build/VersionInfo.h] Error 2
make: *** Waiting for unfinished jobs....
mkdir -p build/output/test
echo OSTYPE is Linux
OSTYPE is Linux
ERROR: oe_runmake failed
WARNING: exit code 1 from a shell command.

anyone else seeing this issue?

On Fri, Sep 1, 2017 at 6:02 AM, Paul Eggleton <paul.eggleton@linux.intel.com
> wrote:

> The following improvements have been made over the recipe that was in
> meta-intel-iot-middleware (a layer which is no longer actively
> maintained):
>
> * Upgrade to 1.2.0. The version number being used previously (3.1) was
>   bogus - I guess someone saw that it supported the MQTT *protocol*
>   version 3.1 and assumed that was the library version. Since we are
>   renaming it to paho-mqtt-c at the same time to distinguish it from
>   other Eclipse Paho MQTT library flavours, we don't need to bump PE.
> * Fix SRC_URI since the repository has been moved
> * Fix "No GNU_HASH in the elf binary" QA error
> * Add notice.html and about.html to LIC_FILES_CHKSUM since they cover
>   licensing
> * Add description, Signed-off-by and Upstream-Status to makefile.patch
> * Set short description in SUMMARY
> * Drop unnecessary custom do_compile - the default implementation
>   basically does the same thing
> * Drop RDEPENDS on openssl - linking already ensures runtime
>   dependencies get set correctly
> * Move DEPENDS further up
>
> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
> ---
>  .../paho-mqtt-c/files/makefile.patch               | 25 ++++++++++++++++
>  .../paho-mqtt-c/paho-mqtt-c_1.2.0.bb               | 35
> ++++++++++++++++++++++
>  2 files changed, 60 insertions(+)
>  create mode 100644 meta-oe/recipes-connectivity/
> paho-mqtt-c/files/makefile.patch
>  create mode 100644 meta-oe/recipes-connectivity/paho-mqtt-c/
> paho-mqtt-c_1.2.0.bb
>
> diff --git a/meta-oe/recipes-connectivity/paho-mqtt-c/files/makefile.patch
> b/meta-oe/recipes-connectivity/paho-mqtt-c/files/makefile.patch
> new file mode 100644
> index 0000000..a31bfaa
> --- /dev/null
> +++ b/meta-oe/recipes-connectivity/paho-mqtt-c/files/makefile.patch
> @@ -0,0 +1,25 @@
> +Disable building some things we don't need
> +
> +Upstream-Status: Inappropriate [config]
> +
> +Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
> +
> +---
> + Makefile |    3 ++-
> + 1 file changed, 2 insertions(+), 1 deletion(-)
> +
> +diff --git a/Makefile b/Makefile
> +index 33bd2d0..84262bd 100644
> +--- a/Makefile
> ++++ b/Makefile
> +@@ -115,7 +115,8 @@ LDFLAGS_AS = -shared -Wl,-soname,lib${MQTTLIB_AS}.so.${MAJOR_VERSION}
> -lpthread
> +
> + all: build
> +
> +-build: | mkdir ${MQTTLIB_C_TARGET} ${MQTTLIB_CS_TARGET}
> ${MQTTLIB_A_TARGET} ${MQTTLIB_AS_TARGET} ${MQTTVERSION_TARGET}
> ${SYNC_SAMPLES} ${ASYNC_SAMPLES} ${SYNC_TESTS} ${SYNC_SSL_TESTS}
> ${ASYNC_TESTS} ${ASYNC_SSL_TESTS}
> ++build: | mkdir ${MQTTLIB_C_TARGET} ${MQTTLIB_CS_TARGET}
> ${MQTTLIB_A_TARGET} ${MQTTLIB_AS_TARGET}
> ++#${MQTTVERSION_TARGET} ${SYNC_SAMPLES} ${ASYNC_SAMPLES} ${SYNC_TESTS}
> ${SYNC_SSL_TESTS} ${ASYNC_TESTS} ${ASYNC_SSL_TESTS}
> +
> + clean:
> +       rm -rf ${blddir}/*
> +--
> diff --git a/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.2.0.bb
> b/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.2.0.bb
> new file mode 100644
> index 0000000..fec380c
> --- /dev/null
> +++ b/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.2.0.bb
> @@ -0,0 +1,35 @@
> +SUMMARY = "Paho MQTT - C libraries for the MQTT and MQTT-SN protocols"
> +DESCRIPTION = "Client implementation of open and standard messaging
> protocols for Machine-to-Machine (M2M) and Internet of Things (IoT)."
> +HOMEPAGE = "http://www.eclipse.org/paho/"
> +SECTION = "console/network"
> +LICENSE = "EPL-1.0 | EDL-1.0"
> +
> +LIC_FILES_CHKSUM = " \
> +        file://edl-v10;md5=3adfcc70f5aeb7a44f3f9b495aa1fbf3 \
> +        file://epl-v10;md5=659c8e92a40b6df1d9e3dccf5ae45a08 \
> +        file://notice.html;md5=a00d6f9ab542be7babc2d8b80d5d2a4c \
> +        file://about.html;md5=dcde438d73cf42393da9d40fabc0c9bc \
> +"
> +
> +SRC_URI = "git://github.com/eclipse/paho.mqtt.c;protocol=http"
> +
> +SRCREV = "e8d34da24ad807f5e698b327d67591fd4b4bfa7e"
> +
> +DEPENDS = "openssl"
> +
> +S = "${WORKDIR}/git"
> +
> +TARGET_CC_ARCH += "${LDFLAGS}"
> +
> +do_install() {
> +    install -d ${D}${libdir}
> +    oe_libinstall -C build/output -so libpaho-mqtt3a ${D}${libdir}
> +    oe_libinstall -C build/output -so libpaho-mqtt3as ${D}${libdir}
> +    oe_libinstall -C build/output -so libpaho-mqtt3c  ${D}${libdir}
> +    oe_libinstall -C build/output -so libpaho-mqtt3cs ${D}${libdir}
> +    install -d ${D}${includedir}
> +    install -m 644 src/MQTTAsync.h ${D}${includedir}
> +    install -m 644 src/MQTTClient.h ${D}${includedir}
> +    install -m 644 src/MQTTClientPersistence.h ${D}${includedir}
> +}
> +
> --
> 2.9.5
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-01-30 14:26 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-01  4:02 [meta-oe][PATCH 0/2] Add a couple of MQTT support recipes Paul Eggleton
2017-09-01  4:02 ` [meta-oe][PATCH 1/2] mosquitto: add from meta-intel-iot-middleware and update Paul Eggleton
2017-09-01  4:02 ` [meta-oe][PATCH 2/2] paho-mqtt-c: add recipe " Paul Eggleton
2018-01-30 14:26   ` Martin Jansa
2017-09-01  4:44 ` [meta-oe][PATCH 0/2] Add a couple of MQTT support recipes Tim Orling
2017-09-01  6:03   ` Andrea Galbusera
2017-09-01 11:08     ` Paul Eggleton
2017-09-01 14:10       ` Andrea Galbusera

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.