From 4d6aefceec69079f3069440f6a9d2f3ea30aee89 Mon Sep 17 00:00:00 2001 From: Brandon Bayer Date: Wed, 26 Oct 2016 15:40:35 -0500 Subject: feat: add annex-client --- recipes-core/annex-client/annex-client-from-src.bb | 27 ++++++++++++++ recipes-core/annex-client/annex-client.bb | 29 +++++++++++++++ .../annex-client/annex-client/annex-client.init | 43 ++++++++++++++++++++++ recipes-core/annex-proto/annex-proto.bb | 24 ++++++++++++ recipes-core/images/mlinux-base-image.bb | 1 + recipes-core/images/mlinux-mtcap-image.bb | 2 + 6 files changed, 126 insertions(+) create mode 100644 recipes-core/annex-client/annex-client-from-src.bb create mode 100644 recipes-core/annex-client/annex-client.bb create mode 100644 recipes-core/annex-client/annex-client/annex-client.init create mode 100644 recipes-core/annex-proto/annex-proto.bb (limited to 'recipes-core') diff --git a/recipes-core/annex-client/annex-client-from-src.bb b/recipes-core/annex-client/annex-client-from-src.bb new file mode 100644 index 0000000..ee7dee9 --- /dev/null +++ b/recipes-core/annex-client/annex-client-from-src.bb @@ -0,0 +1,27 @@ +DESCRIPTION = "Provides the Multi-Tech MDM client" +SECTION = "remote-management" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" +PROVIDES = "annex-client-from-src" +DEPENDS = "jsoncpp curl protobuf cyrus-sasl protobuf-native annex-proto mts-io" + +PR = "r0" +SRCREV = "a696a7660bf153fec126cf971442c60961c51782" + +SRC_URI = "git://git@${MTS_INTERNAL_GIT}/multitech/annex-client.git;protocol=ssh;branch=master" + +S = "${WORKDIR}/git" + +do_compile() { + echo "directory: `pwd`" + mkdir -p annex_pb + cp ${STAGING_DIR_NATIVE}/annex.proto annex_pb/ + make all CFLAGS+="-DMLINUX_BUILD" +} + +# IMPORTANT NOTE: +# this recipe is only used for the annex-client Jenkin's job to build IPK. +# annex-client.bb is used to install the binary in an image +do_install() { + oe_runmake install DESTDIR=${D} SUBDIRS="src" +} diff --git a/recipes-core/annex-client/annex-client.bb b/recipes-core/annex-client/annex-client.bb new file mode 100644 index 0000000..1a0544a --- /dev/null +++ b/recipes-core/annex-client/annex-client.bb @@ -0,0 +1,29 @@ +DESCRIPTION = "Provides the Multi-Tech MDM client" +SECTION = "remote-management" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" +PROVIDES = "annex-client" + +# NOTE: annex-client binary is built with Jenkin's job using annex-client-from-src.bb +# To update this, manually copy ipk from Jenkin's job to .net/downloads/ +PR = "r0" +SRC_URI = "http://multitech.net/downloads/annex-client-from-src_${PV}-${PR}.0_${TUNE_PKGARCH}.ipk \ + file://annex-client.init \ +" + +SRC_URI[md5sum] = "b17462ba3883df6a06b226b37a523eba" +SRC_URI[sha256sum] = "be903e7e27ad34832cb8045ef805f4e226aa6e254a3c995c5e61a0a9197a95b0" + +#inherit update-rc.d +# +#INITSCRIPT_NAME = "annex-client" +#INITSCRIPT_PARAMS = "defaults 95 1" +S = "${WORKDIR}" + +do_install() { + install -d ${D}${sbindir} + install -m 755 sbin/annexcd ${D}${sbindir} + + install -d ${D}${sysconfdir}/init.d + install -m 755 ${WORKDIR}/annex-client.init ${D}${sysconfdir}/init.d/annex-client +} diff --git a/recipes-core/annex-client/annex-client/annex-client.init b/recipes-core/annex-client/annex-client/annex-client.init new file mode 100644 index 0000000..4a5dc4b --- /dev/null +++ b/recipes-core/annex-client/annex-client/annex-client.init @@ -0,0 +1,43 @@ +#!/bin/bash + +MONITOR="/sbin/monitor-annexcd" +CLIENT="annexcd" + +start() { + if [[ $(pidof -x $MONITOR) ]]; then + echo "RM client is already running" + else + echo "Starting RM client" + $MONITOR & + fi +} + +stop() { + MONITOR_PID=$(pidof -x $MONITOR) + CLIENT_PID=$(pidof $CLIENT) + if [[ $MONITOR_PID ]]; then + echo "Stopping RM client" + kill $MONITOR_PID $CLIENT_PID + else + echo "RM client is not running" + fi +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart) + stop + start + ;; + *) + echo "Usage: /etc/init.d/annex-client {start|stop|restart}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/recipes-core/annex-proto/annex-proto.bb b/recipes-core/annex-proto/annex-proto.bb new file mode 100644 index 0000000..cbb6fb2 --- /dev/null +++ b/recipes-core/annex-proto/annex-proto.bb @@ -0,0 +1,24 @@ +DESCRIPTION = "Provides the Multi-Tech MDM client protobuffer definitions" +SECTION = "remote-management" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" +PR = "r20" +PROVIDES = "annex_proto" +DEPENDS = "protobuf" +SRCREV = "7ad3f17a59d3fe564da099518310d61ad1304913" + +SRC_URI = "git://git@${MTS_INTERNAL_GIT}/annex/proto.git;protocol=ssh;branch=master \ +" +S = "${WORKDIR}/git" + +# don't use cli here +do_compile() { + echo "directory: `pwd`" +} + +do_install() { + install annex.proto ${STAGING_DIR_NATIVE} +} + + + diff --git a/recipes-core/images/mlinux-base-image.bb b/recipes-core/images/mlinux-base-image.bb index b90903a..84cead8 100644 --- a/recipes-core/images/mlinux-base-image.bb +++ b/recipes-core/images/mlinux-base-image.bb @@ -51,6 +51,7 @@ MULTITECH_FEATURES += " \ reset-handler \ radio-cmd radio-query \ jsparser \ + annex-client \ " MISC_FEATURES = "minicom lrzsz nano" diff --git a/recipes-core/images/mlinux-mtcap-image.bb b/recipes-core/images/mlinux-mtcap-image.bb index ad60705..610fe08 100644 --- a/recipes-core/images/mlinux-mtcap-image.bb +++ b/recipes-core/images/mlinux-mtcap-image.bb @@ -32,6 +32,8 @@ MULTITECH_FEATURES += " \ reset-handler \ radio-cmd radio-query \ jsparser \ + protobuf \ + annex-client \ " LORA_FEATURES = "lora-packet-forwarder \ -- cgit v1.2.3