[CVS] RPM: rpm-5_4: rpm/rpmio/ Makefile.am librpmio.vers rpmmqtt.c rpm...
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: j...@rpm5.org Module: rpm Date: 28-Jun-2016 00:00:14 Branch: rpm-5_4 Handle: 2016062722001400 Added files: (Branch: rpm-5_4) rpm/rpmio tmqtt.c Modified files: (Branch: rpm-5_4) rpm/rpmio Makefile.am librpmio.vers rpmmqtt.c rpmmqtt.h Log: - mqtt: WIP. Summary: RevisionChanges Path 1.293.2.75 +5 -2 rpm/rpmio/Makefile.am 2.199.2.58 +6 -0 rpm/rpmio/librpmio.vers 1.1.2.3 +189 -107 rpm/rpmio/rpmmqtt.c 1.1.2.3 +14 -2 rpm/rpmio/rpmmqtt.h 1.1.2.1 +68 -0 rpm/rpmio/tmqtt.c patch -p0 <<'@@ .' Index: rpm/rpmio/Makefile.am $ cvs diff -u -r1.293.2.74 -r1.293.2.75 Makefile.am --- rpm/rpmio/Makefile.am 25 Jun 2016 22:36:53 - 1.293.2.74 +++ rpm/rpmio/Makefile.am 27 Jun 2016 22:00:14 - 1.293.2.75 @@ -15,12 +15,12 @@ rpmcpio.c rpmcpio.h rpmgenbasedir.c rpmgenpkglist.c rpmgensrclist.c \ rpmjsio.msg rpmtar.c rpmtar.h \ tdir.c tfts.c tget.c tgfs.c tgit.c tglob.c thkp.c thtml.c tinv.c tkey.c \ - tmire.c todbc.c tput.c tpython.c trpmio.c tsexp.c tsvn.c tsw.c \ + tmire.c tmqtt.c todbc.c tput.c tpython.c trpmio.c tsexp.c tsvn.c tsw.c \ lookup3.c duktape.c tjsmn.c tjson.c yajl.c testit.sh \ microjson.c mongoc-counters.defs EXTRA_PROGRAMS = rpmcpio rpmdpkg rpmtar rpmz -EXTRA_PROGRAMS += bdes thtml tinv tkey tmacro tpw +EXTRA_PROGRAMS += bdes thtml tinv tkey tmacro tpw turg noinst_PROGRAMS = tjsmn duk tmqtt EXTRA_PROGRAMS += bsdiff bspatch pcrsed rpmborg rpmcurl \ @@ -659,6 +659,9 @@ tmqtt_SOURCES = tmqtt.c tmqtt_LDADD = $(RPMIO_LDADD_COMMON) +turg_SOURCES = turg.c +turg_LDADD = $(RPMIO_LDADD_COMMON) + github_SOURCES = tjson.c github_CFLAGS = -Wall -Werror -std=gnu99 -O2 -DJSMN_GITHUB github_LDADD = -lcurl @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.57 -r2.199.2.58 librpmio.vers --- rpm/rpmio/librpmio.vers 27 Jun 2016 03:05:57 - 2.199.2.57 +++ rpm/rpmio/librpmio.vers 27 Jun 2016 22:00:14 - 2.199.2.58 @@ -593,6 +593,8 @@ rpmltcImplVecs; rpmLUA_PATH; rpmLUA_CPATH; +_rpmluaPool; +_rpmluavPool; rpmluaFiles; rpmluaCheckScript; rpmluaDelVar; @@ -633,7 +635,11 @@ rpmmgFile; rpmmgBuffer; _rpmmqtt_debug; +rpmmqttConnect; +rpmmqttDisconnect; rpmmqttNew; +rpmmqttWrite; +rpmmqttRead; _rpmmrb_debug; _rpmmrbI; _rpmmrbPool; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmmqtt.c $ cvs diff -u -r1.1.2.2 -r1.1.2.3 rpmmqtt.c --- rpm/rpmio/rpmmqtt.c 27 Jun 2016 18:27:10 - 1.1.2.2 +++ rpm/rpmio/rpmmqtt.c 27 Jun 2016 22:00:14 - 1.1.2.3 @@ -8,6 +8,7 @@ #include #include/* for *Pool methods */ +#include #include #define _RPMMQTT_INTERNAL @@ -15,14 +16,18 @@ #include "debug.h" -int _rpmmqtt_debug = 0; +int _rpmmqtt_debug = -1; +static char _test_mqtt[] = "test/mqtt"; + +/*==*/ static int Xcheck(rpmmqtt mqtt, const char * msg, int rc, int printit, const char * func, const char * fn, unsigned ln) { -if (printit || rc) { - fprintf(stderr, "error: %s:%s:%u: MQTTClient_%s(%d)\n", +if (rc != 0) { /* MQTTCLIENT_SUCCESS */ + int _lvl = RPMLOG_WARNING; + rpmlog(_lvl, "%s:%s:%u: MQTTClient_%s(%d)\n", func, fn, ln, msg, rc); } return rc; @@ -30,50 +35,21 @@ #define check(_o, _m, _rc) \ Xcheck(_o, _m, _rc, _rpmmqtt_debug, __FUNCTION__, __FILE__, __LINE__) -static void rpmmqttFini(void * _mqtt) -{ -rpmmqtt mqtt = (rpmmqtt) _mqtt; - -#ifdef WITH_MQTT -{MQTTClient C = (MQTTClient) mqtt->C; - int xx; - mqtt->msecs = 1; - xx = check(mqtt, "disconnect", - MQTTClient_disconnect(C, mqtt->msecs)); - MQTTClient_destroy(); -} -#endif -mqtt->C = NULL; - -if (mqtt->av) - (void) argvFree((ARGV_t)mqtt->av); -mqtt->av = NULL; -mqtt->flags = 0; -} - -RPMIOPOOL_MODULE(mqtt) -
[CVS] RPM: rpm-5_4: rpm/ CHANGES configure.ac rpm/rpmio/ rpmmqtt.c rpm...
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: j...@rpm5.org Module: rpm Date: 27-Jun-2016 20:27:10 Branch: rpm-5_4 Handle: 2016062718271000 Modified files: (Branch: rpm-5_4) rpm CHANGES configure.ac rpm/rpmio rpmmqtt.c rpmmqtt.h Log: - mqtt: stub-in a paho-mqtt client. Summary: RevisionChanges Path 1.3501.2.507+2 -0 rpm/CHANGES 2.472.2.151 +8 -0 rpm/configure.ac 1.1.2.2 +166 -2 rpm/rpmio/rpmmqtt.c 1.1.2.2 +11 -1 rpm/rpmio/rpmmqtt.h patch -p0 <<'@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3501.2.506 -r1.3501.2.507 CHANGES --- rpm/CHANGES 27 Jun 2016 03:10:03 - 1.3501.2.506 +++ rpm/CHANGES 27 Jun 2016 18:27:10 - 1.3501.2.507 @@ -1,4 +1,6 @@ 5.4.17 -> 5.4.18: +- jbj: mqtt: stub-in a paho-mqtt client. +- jbj: build: add/use RPMIOPOOL_ macros where possible. - jbj: lib: add/use RPMIOPOOL_ macros where possible. - jbj: rpmdb: add/use RPMIOPOOL_ macros where possible. - jbj: rpmdb: rename dbiIndex -> rpmdbi type, dbiFoo() -> rpmdbiFoo(). @@ . patch -p0 <<'@@ .' Index: rpm/configure.ac $ cvs diff -u -r2.472.2.150 -r2.472.2.151 configure.ac --- rpm/configure.ac 24 Jun 2016 19:08:22 - 2.472.2.150 +++ rpm/configure.ac 27 Jun 2016 18:27:10 - 2.472.2.151 @@ -2244,6 +2244,14 @@ fi ], [ AC_MSG_WARN([No Neon library found, using unsupported configuration]) ]) +# MQTT +RPM_CHECK_LIB( +[MQTT], [mqtt], +[paho-mqtt3c], [MQTTClient_create], [MQTTClient.h], +[no,external:none], [], +[ AC_DEFINE(WITH_MQTT, 1, [Define if building with MQTT]) +], []) + # Libgit2 # XXX internal needs *.a/*.la files to merge into -lrpmmisc RPM_CHECK_LIB( @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmmqtt.c $ cvs diff -u -r1.1.2.1 -r1.1.2.2 rpmmqtt.c --- rpm/rpmio/rpmmqtt.c 27 Jun 2016 03:05:58 - 1.1.2.1 +++ rpm/rpmio/rpmmqtt.c 27 Jun 2016 18:27:10 - 1.1.2.2 @@ -3,6 +3,9 @@ */ #include "system.h" +#include +#include +#include #include/* for *Pool methods */ #include @@ -12,20 +15,91 @@ #include "debug.h" +int _rpmmqtt_debug = 0; + +static int Xcheck(rpmmqtt mqtt, const char * msg, int rc, + int printit, const char * func, const char * fn, unsigned ln) +{ + +if (printit || rc) { + fprintf(stderr, "error: %s:%s:%u: MQTTClient_%s(%d)\n", + func, fn, ln, msg, rc); +} +return rc; +} +#define check(_o, _m, _rc) \ +Xcheck(_o, _m, _rc, _rpmmqtt_debug, __FUNCTION__, __FILE__, __LINE__) + static void rpmmqttFini(void * _mqtt) { rpmmqtt mqtt = (rpmmqtt) _mqtt; +#ifdef WITH_MQTT +{MQTTClient C = (MQTTClient) mqtt->C; + int xx; + mqtt->msecs = 1; + xx = check(mqtt, "disconnect", + MQTTClient_disconnect(C, mqtt->msecs)); + MQTTClient_destroy(); +} +#endif +mqtt->C = NULL; + if (mqtt->av) (void) argvFree((ARGV_t)mqtt->av); mqtt->av = NULL; mqtt->flags = 0; } -int _rpmmqtt_debug = 0; - RPMIOPOOL_MODULE(mqtt) +static int rpmmqttMessageArrived(void * _mqtt, char * topic, int topicLen, + void * _message) +{ +rpmmqtt mqtt = (rpmmqtt) _mqtt; +FILE * fp = stderr; +int rc = 1; + +(void)mqtt; + +fprintf(fp, "Message arrived\n"); +fprintf(fp, " topic: %s\n", topic); + +#ifdef WITH_MQTT +MQTTClient_message *message = _message; +const char * s = message->payload; + +fprintf(fp, " message: "); +for (int i = 0; i < message->payloadlen; i++) +fprintf(fp, "%c", s[i]); +fprintf(fp, "\n"); + +MQTTClient_freeMessage(); +MQTTClient_free(topic); +#endif + +return rc; +} + +static void rpmmqttDeliveryComplete(void * _mqtt, int token) +{ +rpmmqtt mqtt = (rpmmqtt) _mqtt; +FILE * fp = stderr; +fprintf(fp, "Message with token value %d delivery confirmed\n", token); +mqtt->token = token; +} + +static void rpmmqttConnlost(void * _mqtt, char *cause) +{ +rpmmqtt mqtt = (rpmmqtt) _mqtt; +FILE * fp = stderr; + +