[CVS] RPM: rpm-5_4: rpm/rpmio/ Makefile.am librpmio.vers rpmmqtt.c rpm...

2016-06-27 Thread Jeff Johnson
  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...

2016-06-27 Thread Jeff Johnson
  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;
  +
  +