[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers rpmeio.c rpmeio.h teio.c
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: 21-Jun-2017 08:40:28 Branch: rpm-5_4 Handle: 2017062106402800 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers rpmeio.c rpmeio.h teio.c Log: - rpmeio: cross-reference evl/loop/req as much as possible. - rpmeio: add zlog tracing. Summary: RevisionChanges Path 2.199.2.97 +1 -0 rpm/rpmio/librpmio.vers 1.1.2.7 +132 -44rpm/rpmio/rpmeio.c 1.1.2.6 +5 -2 rpm/rpmio/rpmeio.h 1.1.2.12+3 -10 rpm/rpmio/teio.c patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.96 -r2.199.2.97 librpmio.vers --- rpm/rpmio/librpmio.vers 21 Jun 2017 03:34:46 - 2.199.2.96 +++ rpm/rpmio/librpmio.vers 21 Jun 2017 06:40:28 - 2.199.2.97 @@ -474,6 +474,7 @@ rpmMCExpand; rpmMCExpandNumeric; _rpmeio_debug; +rpmeioDrain; rpmeioDumpREQ; rpmeioLoop; rpmeioNew; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmeio.c $ cvs diff -u -r1.1.2.6 -r1.1.2.7 rpmeio.c --- rpm/rpmio/rpmeio.c21 Jun 2017 03:34:47 - 1.1.2.6 +++ rpm/rpmio/rpmeio.c21 Jun 2017 06:40:28 - 1.1.2.7 @@ -5,6 +5,7 @@ #endif #include +#include #include #define _RPMEIO_INTERNAL @@ -19,7 +20,11 @@ #define SPEW(_fmt, ...) \ if (_rpmeio_debug || _rpmio_debug) \ - fprintf(stderr, _fmt, __VA_ARGS__) + fprintf(stderr, _fmt "\n", __VA_ARGS__) + +#define ZSPEW(_fmt, ...) \ +if (zlog) \ + rpmzLogAdd(zlog, _fmt, __VA_ARGS__) #define REQ_ERRNO(req) ((req)->errorno) @@ -84,6 +89,10 @@ if (msg) fprintf(stderr, "== %s(%p)\n", msg, req); if (req) { + rpmeio eio = (rpmeio) (((rpmioItem)req) - 1); + + if (eio->evl) + fprintf(fp, "%25s: %p\n", "evl", eio->evl); #define PRINT(_fmt, _foo) \ { fprintf(fp, "%25s: %"#_fmt"\n", #_foo, req->_foo); } @@ -171,12 +180,6 @@ #undef USE_PIPE -#if !defined(USE_PIPE) -static ev_idle repeat_watcher; -static ev_async ready_watcher; -#endif - -typedef struct rpmevl_s *rpmevl; struct rpmevl_s { #if defined(USE_PIPE) int pipefdno[2]; @@ -187,16 +190,28 @@ rpmev idle_ev; rpmev async_ev; #endif +rpmzLog zlog;/*!< high precision timestamp'd log */ }; static struct rpmevl_s _evl; -static rpmevl evl = &_evl; + +static rpmevl rpmevlGet(void) +{ +#if defined(USE_PIPE) +return &_evl; +#else + return (rpmevl) ev_userdata(EV_DEFAULT); +#endif +} /* idle watcher callback, only used when eio_poll */ /* didn't handle all results in one call */ static void repeat (EV_P_ ev_idle *w, int revents) { -SPEW("*** %s(%p, %p, %d)\n", __FUNCTION__, loop, w, revents); +rpmevl evl = (rpmevl) ev_userdata(loop); +rpmzLog zlog = evl->zlog; +ZSPEW("--> %s(%p, %p, %d)", __FUNCTION__, loop, w, revents); + if (eio_poll() != -1) ev_idle_stop (EV_A_ w); } @@ -205,10 +220,14 @@ static void ready (EV_P_ ev_async *w, int revents) { -SPEW("*** %s(%p, %p, %d)\n", __FUNCTION__, loop, w, revents); #if !defined(USE_PIPE) -if (eio_poll() == -1) - ev_idle_start (EV_A_ &repeat_watcher); +rpmevl evl = (rpmevl) ev_userdata(loop); +rpmzLog zlog = evl->zlog; +ZSPEW("--> %s(%p, %p, %d)", __FUNCTION__, loop, w, revents); + +if (eio_poll() == -1) { + evl->idle_ev = rpmevNew(RPMEV_TYPE_IDLE, NULL); +} #endif /* USE_PIPE */ } @@ -216,25 +235,32 @@ static void want_poll (void) { +rpmevl evl = rpmevlGet(); +rpmzLog zlog = evl->zlog; + #if defined(USE_PIPE) char dummy = '\0'; ssize_t nw = write(pipeout, &dummy, sizeof(dummy)); -SPEW("<-- %s(%d) nw %zd\n", "write", pipeout, nw); +ZSPEW("<-- %s(%d) nw %zd", "write", pipeout, nw); #else -ev_async_send(evl->loop, &ready_watcher); -SPEW("*** %s() loop %p)\n", __FUNCTION__, evl->loop); +ev_async * w = &evl->async_ev->evw.async; +ev_async_send(evl->loop, w); +ZSPEW("<-- %s()", __FUNCTION__); #endif } static void done_poll(void) { +rpmevl evl = rpmevlGet(); +rpmzLog zlog = evl->zlog; + #if defined(USE_PIPE) char dummy = '\0
[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers rpmeio.c rpmeio.h teio.c
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: 21-Jun-2017 05:34:47 Branch: rpm-5_4 Handle: 2017062103344601 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers rpmeio.c rpmeio.h teio.c Log: - rpmeio: sketch in the libev <-> libeio loop handoff. more todo++. Summary: RevisionChanges Path 2.199.2.96 +0 -3 rpm/rpmio/librpmio.vers 1.1.2.6 +95 -45 rpm/rpmio/rpmeio.c 1.1.2.5 +2 -6 rpm/rpmio/rpmeio.h 1.1.2.11+20 -13 rpm/rpmio/teio.c patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.95 -r2.199.2.96 librpmio.vers --- rpm/rpmio/librpmio.vers 20 Jun 2017 02:57:33 - 2.199.2.95 +++ rpm/rpmio/librpmio.vers 21 Jun 2017 03:34:46 - 2.199.2.96 @@ -478,9 +478,6 @@ rpmeioLoop; rpmeioNew; rpmeioReqType; -rpmeioPipe; -rpmeioPollWant; -rpmeioPollDone; rpmeioStart; Eio_cancel; Eio_destroy; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmeio.c $ cvs diff -u -r1.1.2.5 -r1.1.2.6 rpmeio.c --- rpm/rpmio/rpmeio.c16 Jun 2017 12:30:30 - 1.1.2.5 +++ rpm/rpmio/rpmeio.c21 Jun 2017 03:34:47 - 1.1.2.6 @@ -1,10 +1,18 @@ #include "system.h" +#if defined(HAVE_EV_H) +# include +#endif + #include +#include #define _RPMEIO_INTERNAL #include +#define _RPMEV_INTERNAL +#include + #include "debug.h" int _rpmeio_debug = -1; @@ -160,17 +168,36 @@ } /*==*/ -#ifdef REF -static struct ev_loop *loop; + +#undef USE_PIPE + +#if !defined(USE_PIPE) static ev_idle repeat_watcher; static ev_async ready_watcher; +#endif + +typedef struct rpmevl_s *rpmevl; +struct rpmevl_s { +#if defined(USE_PIPE) +int pipefdno[2]; +#define pipein evl->pipefdno[0] +#define pipeout evl->pipefdno[1] +#else +struct ev_loop *loop; +rpmev idle_ev; +rpmev async_ev; +#endif +}; +static struct rpmevl_s _evl; +static rpmevl evl = &_evl; /* idle watcher callback, only used when eio_poll */ /* didn't handle all results in one call */ static void repeat (EV_P_ ev_idle *w, int revents) { -if (eio_poll () != -1) +SPEW("*** %s(%p, %p, %d)\n", __FUNCTION__, loop, w, revents); +if (eio_poll() != -1) ev_idle_stop (EV_A_ w); } @@ -178,44 +205,37 @@ static void ready (EV_P_ ev_async *w, int revents) { -if (eio_poll () == -1) +SPEW("*** %s(%p, %p, %d)\n", __FUNCTION__, loop, w, revents); +#if !defined(USE_PIPE) +if (eio_poll() == -1) ev_idle_start (EV_A_ &repeat_watcher); +#endif /* USE_PIPE */ } /* wake up the event loop */ -static void -want_poll (void) -{ -ev_async_send (loop, &ready_watcher) -} - -void -my_init_eio () -{ -loop = EV_DEFAULT; - -ev_idle_init (&repeat_watcher, repeat); -ev_async_init (&ready_watcher, ready); -ev_async_start (loop, &watcher); - -eio_init (want_poll, 0); -} -#endif /* REF */ - -int rpmeioPipe[2]; - -void rpmeioPollWant(void) +static +void want_poll (void) { -char dummy; -ssize_t nw = write(rpmeioPipe[1], &dummy, 1); -SPEW("<-- %s() nw %zd\n)\n", __FUNCTION__, nw); +#if defined(USE_PIPE) +char dummy = '\0'; +ssize_t nw = write(pipeout, &dummy, sizeof(dummy)); +SPEW("<-- %s(%d) nw %zd\n", "write", pipeout, nw); +#else +ev_async_send(evl->loop, &ready_watcher); +SPEW("*** %s() loop %p)\n", __FUNCTION__, evl->loop); +#endif } -void rpmeioPollDone(void) +static +void done_poll(void) { -char dummy; -ssize_t nr = read(rpmeioPipe[0], &dummy, 1); -SPEW("<-- %s() nr %zd\n)\n", __FUNCTION__, nr); +#if defined(USE_PIPE) +char dummy = '\0'; +ssize_t nr = read(pipein, &dummy, sizeof(dummy)); +SPEW("*** %s(%d) nr %zd nthreads:%u nreqs:%u nready:%u npending:%u\n", " read", pipein, nr, eio_nthreads(), eio_nreqs(), eio_nready(), eio_npending()); +#else +SPEW("*** %s() loop %p nthreads:%u nreqs:%u nready:%u npending:%u\n", __FUNCTION__, evl->loop, eio_nthreads(), eio_nreqs(), eio_nready(), eio_npending()); +#endif /* USE_PIPE */ } #ifdef TODO @@ -244,32 +264,62 @@ #endi
[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers rpmeio.c rpmeio.h
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: 16-Jun-2017 14:30:31 Branch: rpm-5_4 Handle: 2017061612303000 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers rpmeio.c rpmeio.h Log: - rpmeio: expose Eio_request/Eio_submit, haul out the trash. Summary: RevisionChanges Path 2.199.2.94 +1 -0 rpm/rpmio/librpmio.vers 1.1.2.5 +187 -494 rpm/rpmio/rpmeio.c 1.1.2.4 +3 -1 rpm/rpmio/rpmeio.h patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.93 -r2.199.2.94 librpmio.vers --- rpm/rpmio/librpmio.vers 16 Jun 2017 06:14:09 - 2.199.2.93 +++ rpm/rpmio/librpmio.vers 16 Jun 2017 12:30:30 - 2.199.2.94 @@ -484,6 +484,7 @@ rpmeioStart; Eio_cancel; Eio_destroy; +Eio_request; Eio_submit; rpmeioCB; rpmeioCB_readdir; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmeio.c $ cvs diff -u -r1.1.2.4 -r1.1.2.5 rpmeio.c --- rpm/rpmio/rpmeio.c16 Jun 2017 11:00:06 - 1.1.2.4 +++ rpm/rpmio/rpmeio.c16 Jun 2017 12:30:30 - 1.1.2.5 @@ -311,14 +311,17 @@ } -void Eio_submit(eio_req * req) +eio_req * Eio_submit(eio_req * req) { rpmeio eio = (rpmeio) (((rpmioItem)req) - 1); -SPEW("--> %s(%p) eio %p\n", __FUNCTION__, req, eio); #ifdef NOTYET eio = rpmeioLink(eio); #endif -eio_submit(&eio->req); +assert(req == &eio->req); +req = &eio->req; +eio_submit(req); +SPEW("<-- %s(%p) eio %p\n", __FUNCTION__, req, eio); +return req; } /*==*/ @@ -423,32 +426,11 @@ } /*==*/ -static eio_req * rpmeioReq(int reqtype, ...) +eio_req * Eio_request(int reqtype, ...) { rpmeio eio = NULL; eio_req * req = NULL; -eio_wd wd = NULL; -const char * path = NULL; -const char * npath = NULL; -void (*execute) (eio_req *req); -int fdno = -1; -int fdno2 = -1; -off_t offset = 0; -int whence = 0; -void *buf = NULL; -size_t length = 0; -size_t nbytes = 0; -eio_tstamp atime = 0.0; -eio_tstamp mtime = 0.0; -uid_t uid = -1; -gid_t gid = -1; -mode_t mode = 0; -void *addr = NULL; -int flags = 0; -eio_tstamp delay = 0.0; -dev_t dev = 0; - int pri = 0; eio_cb cb = rpmeioCB; void * data = NULL; @@ -464,440 +446,327 @@ switch (reqtype) { case EIO_CUSTOM: - execute = va_arg(ap, void (*) (eio_req *)); + req->feed = va_arg(ap, void (*) (eio_req *)); cb = rpmeioCB; /* XXX */ data = "custom"; -// req = eio_custom(execute, pri, cb, data); - req->feed = execute; break; case EIO_WD_OPEN: - path = va_arg(ap, const char *); + req->ptr1 = va_arg(ap, char *); + req->ptr1 = xstrdup((char *)req->ptr1); + req->flags |= EIO_FLAG_PTR1_FREE; cb = rpmeioCB; /* XXX */ data = "wd_open"; -// req = eio_wd_open(path, pri, cb, data); - req->flags |= EIO_FLAG_PTR1_FREE; - req->ptr1 = xstrdup(path); break; case EIO_WD_CLOSE: - wd = va_arg(ap, eio_wd); + req->wd = va_arg(ap, eio_wd); cb = rpmeioCB; /* XXX */ data = "wd_close"; -// req = eio_wd_close(wd, pri, cb, data); - req->wd = wd; break; case EIO_CLOSE: - fdno = va_arg(ap, int); + req->int1 = va_arg(ap, int); cb = rpmeioCB; data = "close"; -// req = eio_close(fdno, pri, cb, data); - req->int1 = fdno; break; case EIO_DUP2: - fdno = va_arg(ap, int); - fdno2 = va_arg(ap, int); + req->int1 = va_arg(ap, int); + req->int2 = va_arg(ap, int); cb = rpmeioCB; data = "dup2"; -// req = eio_dup2(fdno, fdno2, pri, cb, data); - req->int1 = fdno; - req->int2 = fdno2; break; case EIO_SEEK: - fdno = va_arg(ap, int); - offset = va_arg(ap, off_t); - whence = va_arg(ap, int); + req->int1 = va_arg(ap, int); + req->offs = va_arg(ap, off_t); + req->int2 = va_arg(ap, int); cb = rpmeioCB; /* XXX */ data = "seek"; -// req = eio_seek(fdno, offs
[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers rpmeio.c rpmeio.h
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: 16-Jun-2017 08:14:09 Branch: rpm-5_4 Handle: 2017061606140900 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers rpmeio.c rpmeio.h Log: - rpmeio: switch to the low-levl API. Summary: RevisionChanges Path 2.199.2.93 +3 -2 rpm/rpmio/librpmio.vers 1.1.2.3 +577 -125 rpm/rpmio/rpmeio.c 1.1.2.3 +4 -5 rpm/rpmio/rpmeio.h patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.92 -r2.199.2.93 librpmio.vers --- rpm/rpmio/librpmio.vers 15 Jun 2017 07:16:18 - 2.199.2.92 +++ rpm/rpmio/librpmio.vers 16 Jun 2017 06:14:09 - 2.199.2.93 @@ -474,7 +474,6 @@ rpmMCExpand; rpmMCExpandNumeric; _rpmeio_debug; -rpmeioCancel; rpmeioDumpREQ; rpmeioLoop; rpmeioNew; @@ -483,7 +482,9 @@ rpmeioPollWant; rpmeioPollDone; rpmeioStart; -rpmeioSubmit; +Eio_cancel; +Eio_destroy; +Eio_submit; rpmeioCB; rpmeioCB_readdir; rpmeioCB_stat; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmeio.c $ cvs diff -u -r1.1.2.2 -r1.1.2.3 rpmeio.c --- rpm/rpmio/rpmeio.c15 Jun 2017 07:16:18 - 1.1.2.2 +++ rpm/rpmio/rpmeio.c16 Jun 2017 06:14:09 - 1.1.2.3 @@ -121,14 +121,21 @@ fprintf(fp, "%25s: %d %s data %s\n", "type", req->type, REQ_TYPE(req), (char *)REQ_DATA(req)); #endif -#ifdef NOTYET - PRINT(hhx, cancelled); - PRINT(hhx, flags); + if (req->cancelled) + PRINT(hhx, cancelled); + if (req->flags) + PRINT(hhx, flags); + if (req->pri) PRINT(hhx, pri); - PRINT(p, data); - PRINT(p, finish); - PRINT(p, destroy); +#ifdef NOTYET + if (req->data) + PRINT(p, data); +#endif + if (req->finish) + PRINT(p, finish); + if (req->destroy) + PRINT(p, destroy); if (req->feed) PRINT(p, feed); @@ -140,7 +147,6 @@ PRINT(p, grp_next); if (req->grp_first) PRINT(p, grp_first); -#endif /* NOTYET */ #undef PRINT } @@ -259,22 +265,41 @@ SPEW("<== %s() polled %d\n", __FUNCTION__, polled); } -void rpmeioSubmot(eio_req * req) +void Eio_cancel(eio_req * req) { -SPEW("--> %s(%p)\n", __FUNCTION__, req); -eio_submit(req); +rpmeio eio = (rpmeio) (((rpmioItem)req) - 1); +SPEW("--> %s(%p) eio %p\n", __FUNCTION__, req, eio); +eio_cancel(req); } -void rpmeioCancel(eio_req * req) +void Eio_destroy(eio_req * req) { -SPEW("--> %s(%p)\n", __FUNCTION__, req); -eio_cancel(req); +rpmeio eio = (rpmeio) (((rpmioItem)req) - 1); +SPEW("--> %s(%p) eio %p\n", __FUNCTION__, req, eio); +rpmeioDumpREQ(__FUNCTION__, req, NULL); + +do { + eio = rpmeioFree(eio); +} while (0); + +} + +void Eio_submit(eio_req * req) +{ +rpmeio eio = (rpmeio) (((rpmioItem)req) - 1); +SPEW("--> %s(%p) eio %p\n", __FUNCTION__, req, eio); +#ifdef NOTYET +eio = rpmeioLink(eio); +#endif +eio_submit(&eio->req); } /*==*/ int rpmeioCB(eio_req * req) { -SPEW("--> %s(%s|%p) res %ld\n", __FUNCTION__, REQ_TYPE(req), REQ_DATA(req), EIO_RESULT(req)); +rpmeio eio = (rpmeio) (((rpmioItem)req) - 1); +SPEW("--> %s(%s|%p) res %ld eio %p\n", __FUNCTION__, REQ_TYPE(req), REQ_DATA(req), EIO_RESULT(req), eio); + rpmeioDumpREQ(__FUNCTION__, req, NULL); if (EIO_RESULT(req) < 0) { @@ -282,14 +307,19 @@ perror(REQ_TYPE(req)); } +#ifdef NOTYET +eio = rpmeioFree(eio); +#endif + return 0; } int rpmeioCB_readdir(eio_req * req) { +rpmeio eio = (rpmeio) (((rpmioItem)req) - 1); char *buf = (char *) EIO_BUF(req); -SPEW("--> %s(%s|%p) res %ld\n", __FUNCTION__, REQ_TYPE(req), REQ_DATA(req), EIO_RESULT(req)); +SPEW("--> %s(%s|%p) res %ld eio %p\n", __FUNCTION__, REQ_TYPE(req), REQ_DATA(req), EIO_RESULT(req), eio); rpmeioDumpREQ(__FUNCTION__, req, NULL); if (EIO_RESULT(req) < 0) @@ -300,14 +330,19 @@ buf += strlen(buf) + 1; } +#ifdef NOTYET +eio = rpmeioFree(eio); +#endif + return 0;
[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers poptIO.c rpmev.h tmq.c
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: 13-Jun-2017 02:00:46 Branch: rpm-5_4 Handle: 201706134500 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers poptIO.c rpmev.h tmq.c Log: - rpmeio: stub in the demo.c program. - rpmev: add an rpev deallocation queue. more todo++. Summary: RevisionChanges Path 2.199.2.90 +3 -2 rpm/rpmio/librpmio.vers 1.94.2.38 +2 -0 rpm/rpmio/poptIO.c 1.1.2.4 +3 -3 rpm/rpmio/rpmev.h 1.1.2.21+224 -16rpm/rpmio/tmq.c patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.89 -r2.199.2.90 librpmio.vers --- rpm/rpmio/librpmio.vers 12 Jun 2017 06:54:06 - 2.199.2.89 +++ rpm/rpmio/librpmio.vers 13 Jun 2017 00:00:45 - 2.199.2.90 @@ -476,8 +476,9 @@ _rpmev_debug; rpmevDump; rpmevNew; -evs; -nevs; +rpmevqGetHead; +rpmevqPutTail; +rpmevqPutHead; rpmioEVTable; rpmioEVFLAGTable; rpmioEVBACKENDTable; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/poptIO.c $ cvs diff -u -r1.94.2.37 -r1.94.2.38 poptIO.c --- rpm/rpmio/poptIO.c12 Jun 2017 06:54:06 - 1.94.2.37 +++ rpm/rpmio/poptIO.c13 Jun 2017 00:00:45 - 1.94.2.38 @@ -527,6 +527,7 @@ rpmlog(lvl, "%s exit.\n", msg); } +#ifdef DYING __attribute__((constructor(101))) static void rpmioCtor(void) { @@ -555,6 +556,7 @@ fprintf(stderr, "--> %s at %s:%u\n", __FUNCTION__, __FILE__, __LINE__); #endif /* NOTYET */ } +#endif /* DYING */ /** */ @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmev.h $ cvs diff -u -r1.1.2.3 -r1.1.2.4 rpmev.h --- rpm/rpmio/rpmev.h 12 Jun 2017 06:54:06 - 1.1.2.3 +++ rpm/rpmio/rpmev.h 13 Jun 2017 00:00:45 - 1.1.2.4 @@ -65,9 +65,9 @@ extern unsigned rpmioEVBACKEND; extern struct poptOption rpmioEVBACKENDTable[]; -#define RPMEV_MAX_ALLOC 64 -extern rpmev evs[RPMEV_MAX_ALLOC]; -extern int nevs; +rpmev rpmevqGetHead(void); +void rpmevqPutTail(rpmev ev); +void rpmevqPutHead(rpmev ev); #endif /* _RPMEV_INTERNAL */ @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/tmq.c $ cvs diff -u -r1.1.2.20 -r1.1.2.21 tmq.c --- rpm/rpmio/tmq.c 12 Jun 2017 06:54:06 - 1.1.2.20 +++ rpm/rpmio/tmq.c 13 Jun 2017 00:00:45 - 1.1.2.21 @@ -105,7 +105,7 @@ #define SPEW(_fmt, ...) \ if (_debug || _rpmmsq_debug || _rpmio_debug) \ - fprintf(stderr, _fmt, __VA_ARGS__) + fprintf(stderr, _fmt, ##__VA_ARGS__) #define Z(_rc) assert((_rc) == 0) @@ -1171,72 +1171,88 @@ /* initialise an io watcher, then start it */ /* this one will watch for stdin to become readable */ -ev = rpmevNew(RPMEV_TYPE_IO, NULL); -rpmevDump(__FUNCTION__, ev, NULL); +ev = rpmevNew(RPMEV_TYPE_IO, NULL, STDIN_FILENO, EV_READ); +#ifdef DYING {ev_io * w = &ev->evw.io; w->fd = STDIN_FILENO; w->events = EV_READ; ev_io_start(loop, w); } +#endif /* initialise a timer watcher, then start it */ /* simple non-repeating 5.5 second timeout */ -ev = rpmevNew(RPMEV_TYPE_TIMER, NULL); +ev = rpmevNew(RPMEV_TYPE_TIMER, NULL, 0,0, 5.5); +#ifdef DYING {ev_timer * w = &ev->evw.timer; + w->at = 0.0; w->repeat = 5.5; ev_timer_start(loop, w); } +#endif -ev = rpmevNew(RPMEV_TYPE_PERIODIC, NULL); +ev = rpmevNew(RPMEV_TYPE_PERIODIC, NULL, 0.0, 11.0, NULL ); +#ifdef DYING {ev_periodic * w = &ev->evw.periodic; w->offset = 0.0; w->interval = 11.0; w->reschedule_cb = NULL; ev_periodic_start(loop, w); } +#endif -ev = rpmevNew(RPMEV_TYPE_SIGNAL, NULL); +ev = rpmevNew(RPMEV_TYPE_SIGNAL, NULL, SIGUSR1); +#ifdef DYING {ev_signal * w = &ev->evw.signal; w->signum = SIGUSR1; ev_signal_start(loop, w); } +#endif -ev = rpmevNew(RPMEV_TYPE_CHILD, NULL); +#ifdef DYING +ev = rpmevNew(RPMEV_TYPE_CHILD, NULL, 0, 0);
[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers msqio.c rpmaio.c rpmaio.h...
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: 29-May-2017 18:21:01 Branch: rpm-5_4 Handle: 2017052916210001 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers msqio.c rpmaio.c rpmaio.h rpmmsq.h tmq.c Log: - msqio: sanity. Summary: RevisionChanges Path 2.199.2.82 +0 -1 rpm/rpmio/librpmio.vers 1.1.2.20+71 -31 rpm/rpmio/msqio.c 1.1.2.3 +24 -25 rpm/rpmio/rpmaio.c 1.1.2.2 +4 -2 rpm/rpmio/rpmaio.h 1.1.2.17+21 -31 rpm/rpmio/rpmmsq.h 1.1.2.12+10 -0 rpm/rpmio/tmq.c patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.81 -r2.199.2.82 librpmio.vers --- rpm/rpmio/librpmio.vers 26 May 2017 19:52:21 - 2.199.2.81 +++ rpm/rpmio/librpmio.vers 29 May 2017 16:21:00 - 2.199.2.82 @@ -736,7 +736,6 @@ msqio; rpmmsqClose; rpmmsqCtl; -rpmmsqDeliver; rpmmsqDump; rpmmsqFdopen; rpmmsqFlush; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/msqio.c $ cvs diff -u -r1.1.2.19 -r1.1.2.20 msqio.c --- rpm/rpmio/msqio.c 29 May 2017 06:57:54 - 1.1.2.19 +++ rpm/rpmio/msqio.c 29 May 2017 16:21:00 - 1.1.2.20 @@ -331,7 +331,7 @@ /* === */ static int _lockdebug = 0; -static int _conddebug = 0; +static int _conddebug = -1; #define PEEK(_bolt) yarnPeekLock(_bolt) #define POSSESS(_bolt) \ {yarnPossess(_bolt); \ @@ -375,7 +375,7 @@ RPM_GNUC_TM_ATOMIC { if ((item = aioq->head) != NULL) { aioq->head = item->next; - item->next = NULL; /* XXX rpmmalloc.c ? */ + item->next = NULL; if (aioq->head == NULL) aioq->tail = &aioq->head; } @@ -398,17 +398,32 @@ static inline ssize_t aioqPutWait(rpmmsq msq, unsigned long *priop, - int op, int prio, void *b, size_t nb) + int op, int prio, void *b, size_t nb, + struct sigevent *sigev, off_t offset) { AIOQ_t aioq = &msq->aioq; rpmzLog zlog = msq->zlog; ssize_t rc; -rpmaio aio = rpmaioNew(msq->qid, op, prio, b, nb); +rpmaio aio = rpmaioNew(msq->qid, op, prio, b, nb, sigev, offset); aio->ix = ++msq->nqueued; +rpmioItem item = (rpmioItem) aio;; -rpmioItem item = rpmioLinkPoolItem(&aio->_item, +switch (op) { +case LIO_WRITE: + /* XXX Asynchronous writes? */ + if ((msq->oflags & O_NONBLOCK) && nb <= sizeof(aio->buf)) { + memcpy(aio->buf, b, nb); + b = aio->buf; + break; + } + /*@fallthrough@*/ +default: + item = rpmioLinkPoolItem(item, __FUNCTION__, __FILE__, __LINE__); + break; +} + /* Producer monitor. */ POSSESS(aioq->have); @@ -416,20 +431,26 @@ aioqPutTail(aioq, item); TWIST(aioq->have, BY, 1); -/* Wait for AIO completion. */ -POSSESS(item->use); -WAITFOR(item->use, TO_BE, 1); -RELEASE(item->use); - -rc = aio_return(&aio->cb); -if (rc >= 0 && priop) - *priop = aio->cb.aio_reqprio; /* XXX prio */ -if (rc < 0) - errno = aio_error(&aio->cb);/* XXX W2DO? */ +if (b != aio->buf) { + /* Wait for AIO completion. */ + POSSESS(item->use); + WAITFOR(item->use, TO_BE, 1); + RELEASE(item->use); + + rc = aio_return(&aio->aiocb); + if (rc >= 0 && priop) + *priop = aio->aiocb.aio_reqprio;/* XXX prio */ + if (rc < 0) + errno = aio_error(&aio->aiocb); /* XXX W2DO? */ -aio = rpmaioFree(aio); + aio = rpmaioFree(aio); +} else { + /* XXX Asynchronous writes. */ + rc = 0; + errno = EINPROGRESS;/* XXX */ +} -SPEW("<--\t%s(%p, %p) rc %ld\n", __FUNCTION__, aioq, item, rc); +SPEW("<--\t%s(%p, %p) rc %ld %m\n", __FUNCTION__, aioq, item, rc); return rc; } @@ -548,6 +569,10 @@ aioq->have = yarnFreeLock(aioq->have); msq->nqueued = 0; + msq->st = _free(msq->st); + msq->ds = _free(msq->ds); + msq->mi = _free(msq->mi); + if (msq->zlog) msq->zlog = rpmzLogDump(msq->zlog, NULL);
[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers rpmlog.c rpmlog.h rpmzlog...
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: 26-May-2017 21:52:21 Branch: rpm-5_4 Handle: 2017052619522100 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers rpmlog.c rpmlog.h rpmzlog.c rpmzlog.h rpmzq.h Log: - sanity. Summary: RevisionChanges Path 2.199.2.81 +1 -0 rpm/rpmio/librpmio.vers 2.46.4.10 +3 -24 rpm/rpmio/rpmlog.c 2.24.4.7+59 -0 rpm/rpmio/rpmlog.h 2.5.6.3 +5 -5 rpm/rpmio/rpmzlog.c 2.5.6.5 +2 -0 rpm/rpmio/rpmzlog.h 1.38.6.3+2 -1 rpm/rpmio/rpmzq.h patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.80 -r2.199.2.81 librpmio.vers --- rpm/rpmio/librpmio.vers 25 May 2017 20:02:13 - 2.199.2.80 +++ rpm/rpmio/librpmio.vers 26 May 2017 19:52:21 - 2.199.2.81 @@ -910,6 +910,7 @@ rpmxarPush; rpmxarStat; rpmxarSwapBuf; +_rpmzlog_debug; rpmzLogAdd; rpmzLogDump; rpmzLogFree; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmlog.c $ cvs diff -u -r2.46.4.9 -r2.46.4.10 rpmlog.c --- rpm/rpmio/rpmlog.c1 May 2017 19:54:43 - 2.46.4.9 +++ rpm/rpmio/rpmlog.c26 May 2017 19:52:21 - 2.46.4.10 @@ -123,27 +123,6 @@ "D: ", /*!< RPMLOG_DEBUG */ }; -#define ANSI_COLOR_BLACK "\x1b[30m" -#define ANSI_COLOR_RED "\x1b[31m" -#define ANSI_COLOR_GREEN "\x1b[32m" -#define ANSI_COLOR_YELLOW"\x1b[33m" -#define ANSI_COLOR_BLUE "\x1b[34m" -#define ANSI_COLOR_MAGENTA "\x1b[35m" -#define ANSI_COLOR_CYAN "\x1b[36m" -#define ANSI_COLOR_WHITE "\x1b[37m" - -#define ANSI_BRIGHT_BLACK"\x1b[30;1m" -#define ANSI_BRIGHT_RED "\x1b[31;1m" -#define ANSI_BRIGHT_GREEN"\x1b[32;1m" -#define ANSI_BRIGHT_YELLOW "\x1b[33;1m" -#define ANSI_BRIGHT_BLUE "\x1b[34;1m" -#define ANSI_BRIGHT_MAGENTA "\x1b[35;1m" -#define ANSI_BRIGHT_CYAN "\x1b[36;1m" -#define ANSI_BRIGHT_WHITE"\x1b[37;1m" - -#define ANSI_COLOR_BOLD "\x1b[1m" -#define ANSI_COLOR_RESET "\x1b[0m" - static const char *rpmlogMsgPrefixColor[] = { ANSI_BRIGHT_RED, /*!< RPMLOG_EMERG */ ANSI_BRIGHT_RED, /*!< RPMLOG_ALERT */ @@ -202,8 +181,8 @@ case RPMLOG_ERR: case RPMLOG_WARNING: if (colorOn && *colorOn) { - (void) fputs(ANSI_COLOR_RESET, msgout); - (void) fputs(ANSI_COLOR_BOLD, msgout); + (void) fputs(ANSI_RESET, msgout); + (void) fputs(ANSI_BOLD_ON, msgout); } case RPMLOG_DEBUG: default: @@ -224,7 +203,7 @@ case RPMLOG_WARNING: case RPMLOG_DEBUG: if (colorOn && *colorOn) - (void) fputs(ANSI_COLOR_RESET, msgout); + (void) fputs(ANSI_RESET, msgout); break; default: break; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmlog.h $ cvs diff -u -r2.24.4.6 -r2.24.4.7 rpmlog.h --- rpm/rpmio/rpmlog.h5 Jul 2016 14:46:57 - 2.24.4.6 +++ rpm/rpmio/rpmlog.h26 May 2017 19:52:21 - 2.24.4.7 @@ -172,6 +172,65 @@ #define RPMLOG_EXIT 0x02/*!< exit after logging */ #if defined(_RPMLOG_INTERNAL) + +#define ANSI_BRIGHT_BLACK"\x1b[30;1m" +#define ANSI_BRIGHT_RED "\x1b[31;1m" +#define ANSI_BRIGHT_GREEN"\x1b[32;1m" +#define ANSI_BRIGHT_YELLOW "\x1b[33;1m" +#define ANSI_BRIGHT_BLUE "\x1b[34;1m" +#define ANSI_BRIGHT_MAGENTA "\x1b[35;1m" +#define ANSI_BRIGHT_CYAN "\x1b[36;1m" +#define ANSI_BRIGHT_WHITE"\x1b[37;1m" + +#define ANSI_RESET "\x1b[0m" +#define ANSI_BOLD_ON "\x1b[1m" +#define ANSI_FAINT_ON"\x1b[2m" +#define ANSI_ITALICS_ON "\x1b[3m" +#define ANSI_UNDERLINE_ON"\x1b[4m" +#define ANSI_BLINK_ON"\x1b[5m" +#define ANSI_INVERSE_ON "\x1b[7m" +#define ANSI_STRIKETHROUGH_ON"\x1b[9m" + +#define ANSI_FONT_RESET "\x1b[11m" +#define ANSI_FONT_1 "\x1b[11m" +#define ANSI_FONT_2 "\x1b[12m" +#define ANSI_FONT_3 "\x1b[13m" +#define ANSI_FONT_4 "\x1b[14m" +#define ANSI_FONT_5 "\x1b[15m" +#define ANSI_FONT_
[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers
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: 04-May-2017 22:57:43 Branch: rpm-5_4 Handle: 2017050420574300 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers Log: - orphan. Summary: RevisionChanges Path 2.199.2.71 +8 -0 rpm/rpmio/librpmio.vers patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.70 -r2.199.2.71 librpmio.vers --- rpm/rpmio/librpmio.vers 21 Apr 2017 06:19:16 - 2.199.2.70 +++ rpm/rpmio/librpmio.vers 4 May 2017 20:57:43 - 2.199.2.71 @@ -410,6 +410,14 @@ rpmbfIntersect; rpmbfParams; rpmbfUnion; +_rpmcap_debug; +rpmcapGetFD; +rpmcapGetFN; +rpmcapSetFD; +rpmcapSetFN; +rpmcapValidate; +rpmcapVerifyFD; +rpmcapVerifyFN; rpmcdsaImplVecs; _cph_debug; _cphParam; @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers rpmmqtt.c rpmmqtt.h tmqtt...
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: 06-Jul-2016 11:06:25 Branch: rpm-5_4 Handle: 2016070609062500 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers rpmmqtt.c rpmmqtt.h tmqtt.c Log: - mqtt: wrap subscribe*/unsubscribe* functions. Summary: RevisionChanges Path 2.199.2.60 +4 -0 rpm/rpmio/librpmio.vers 1.1.2.17+193 -35rpm/rpmio/rpmmqtt.c 1.1.2.15+13 -5 rpm/rpmio/rpmmqtt.h 1.1.2.11+18 -11 rpm/rpmio/tmqtt.c patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.59 -r2.199.2.60 librpmio.vers --- rpm/rpmio/librpmio.vers 4 Jul 2016 07:45:23 - 2.199.2.59 +++ rpm/rpmio/librpmio.vers 6 Jul 2016 09:06:25 - 2.199.2.60 @@ -643,6 +643,10 @@ rpmmqttPub; rpmmqttRun; rpmmqttSub; +rpmmqttSubscribe; +rpmmqttSubscribeMany; +rpmmqttUnsubscribe; +rpmmqttUnsubscribeMany; _rpmmrb_debug; _rpmmrbI; _rpmmrbPool; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmmqtt.c $ cvs diff -u -r1.1.2.16 -r1.1.2.17 rpmmqtt.c --- rpm/rpmio/rpmmqtt.c 5 Jul 2016 19:48:13 - 1.1.2.16 +++ rpm/rpmio/rpmmqtt.c 6 Jul 2016 09:06:25 - 1.1.2.17 @@ -425,6 +425,21 @@ (void) rpmmqttConnect(mqtt); } +static void onFailure(void * _mqtt, MQTTAsync_failureData * response) +{ +rpmmqtt mqtt = (rpmmqtt) _mqtt; +rpmlog(RPMLOG_WARNING, "MQTT failed\n"); +SPEW((stderr, "<-- %s(%p,%p)\n", __FUNCTION__, _mqtt, response)); +mqtt->finished = 1; +} + +static void onSuccess(void * _mqtt, MQTTAsync_successData * response) +{ +rpmmqtt mqtt = (rpmmqtt) _mqtt; +SPEW((stderr, "<-- %s(%p,%p)\n", __FUNCTION__, _mqtt, response)); +mqtt->finished = 1; +} + static void onDisconnectFailure(void * _mqtt, MQTTAsync_failureData * response) { rpmmqtt mqtt = (rpmmqtt) _mqtt; @@ -496,9 +511,17 @@ mqtt->finished = 1; } +static void onSubscribeManyFailure(void * _mqtt, MQTTAsync_failureData * response) +{ +rpmmqtt mqtt = (rpmmqtt) _mqtt; +rpmlog(RPMLOG_WARNING, "MQTTsubscribeMany failed\n"); +mqtt->finished = 1; +} + static void onSubscribeMany(void * _mqtt, MQTTAsync_successData * response) { rpmmqtt mqtt = (rpmmqtt) _mqtt; +#ifdef DYING int *subqos = response->alt.qosList; SPEW((stderr, "--> %s(%p,%p) subqos %p[%u]\n", __FUNCTION__, _mqtt, response, subqos, mqtt->ac)); @@ -506,6 +529,23 @@ if (mqtt->debug || _rpmmqtt_debug) rpmlog(RPMLOG_DEBUG, "MQTT subscribe qos(%d)\n", subqos[i]); } +#endif +mqtt->finished = 1; +} + +static void onUnsubscribeManyFailure(void * _mqtt, MQTTAsync_failureData * response) +{ +rpmmqtt mqtt = (rpmmqtt) _mqtt; +rpmlog(RPMLOG_WARNING, "MQTTunsubscribeMany failed\n"); +mqtt->finished = 1; +} + +static void onUnsubscribeMany(void * _mqtt, MQTTAsync_successData * response) +{ +rpmmqtt mqtt = (rpmmqtt) _mqtt; + +rpmlog(RPMLOG_DEBUG, "MQTT unsubscribeMany\n"); +SPEW((stderr, "<-- %s(%p,%p)\n", __FUNCTION__, _mqtt, response)); mqtt->finished = 1; } @@ -978,9 +1018,9 @@ return ptr; } -int rpmmqttConnect(rpmmqtt mqtt) +rpmRC rpmmqttConnect(rpmmqtt mqtt) { -int rc = -1; +rpmRC rc = RPMRC_FAIL; /* assume failure */ SPEW((stderr, "--> %s(%p)\n", __FUNCTION__, mqtt)); #ifdef WITH_MQTT @@ -990,16 +1030,19 @@ MQTTAsync_connect(mqtt->I, AOBJ(mqtt, 'C'))); while (!mqtt->finished) usleep(1000); -} else - rc = 0; + if (rc) + goto exit; +} +rc = RPMRC_OK; +exit: #endif /* WITH_MQTT */ SPEW((stderr, "<-- %s(%p) rc %d\n", __FUNCTION__, mqtt, rc)); return rc; } -int rpmmqttDisconnect(rpmmqtt mqtt) +rpmRC rpmmqttDisconnect(rpmmqtt mqtt) { -int rc = -1; +rpmRC rc = RPMRC_FAIL; /* assume failure */ #ifdef WITH_MQTT if (MQTTAsync_isConnected(mqtt->I)) { mqtt->finished = 0; @@ -1007,17 +1050,20 @@ MQTTAsync_disconnect(mqtt->I, AOBJ(mqtt, 'D'))); while (!mqtt->finished) usleep(100); -} else - rc = 0; + if (rc) + goto exit; +} +rc = RPMRC_OK; +exit
[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers
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: 24-Jun-2016 21:34:49 Branch: rpm-5_4 Handle: 2016062419344900 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers Log: - cygwin: __progname is a macro. Summary: RevisionChanges Path 2.199.2.56 +1 -0 rpm/rpmio/librpmio.vers patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.55 -r2.199.2.56 librpmio.vers --- rpm/rpmio/librpmio.vers 17 Jun 2016 08:07:27 - 2.199.2.55 +++ rpm/rpmio/librpmio.vers 24 Jun 2016 19:34:49 - 2.199.2.56 @@ -323,6 +323,7 @@ print_expand_trace; print_macro_trace; __progname; +program_name; prpsoffsets32; prpsoffsets64; Readdir; @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers
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: 12-Mar-2016 20:44:01 Branch: rpm-5_4 Handle: 2016031219440100 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers Log: - mongoc: update to mongoc-1.3.2. - bson: update to libbson-1.3.3. Summary: RevisionChanges Path 2.199.2.54 +142 -0 rpm/rpmio/librpmio.vers patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.53 -r2.199.2.54 librpmio.vers --- rpm/rpmio/librpmio.vers 27 Feb 2016 20:36:50 - 2.199.2.53 +++ rpm/rpmio/librpmio.vers 12 Mar 2016 19:44:01 - 2.199.2.54 @@ -949,7 +949,9 @@ bson_append_undefined; bson_append_utf8; bson_append_value; +bson_array_as_json; bson_as_json; +bson_ascii_strtoll; bson_bcone_magic; bson_bcon_magic; bson_compare; @@ -960,18 +962,25 @@ bson_copy; bson_copy_to; bson_copy_to_excluding; +bson_copy_to_excluding_noinit; bson_count_keys; bson_destroy; bson_destroy_with_steal; bson_equal; bson_free; bson_get_data; +bson_get_major_version; +bson_get_minor_version; +bson_get_micro_version; +bson_get_version; +bson_check_version; bson_get_monotonic_time; bson_gettimeofday; bson_has_field; bson_init; bson_init_from_json; bson_init_static; +_bson_iso8601_date_parse; bson_iter_array; bson_iter_as_bool; bson_iter_as_int64; @@ -1042,6 +1051,7 @@ bson_reader_new_from_file; bson_reader_new_from_handle; bson_reader_read; +bson_reader_reset; bson_reader_set_destroy_func; bson_reader_set_read_func; bson_reader_tell; @@ -1134,9 +1144,26 @@ yajl_tree_get; yajl_tree_parse; yajl_version; +mongoc_apm_callbacks_destroy; +mongoc_apm_callbacks_new; +mongoc_apm_command_started_get_context; +mongoc_apm_command_started_get_operation_id; +mongoc_apm_command_started_get_request_id; +mongoc_apm_command_started_get_server_id; +mongoc_apm_command_succeeded_get_context; +mongoc_apm_command_succeeded_get_request_id; +mongoc_apm_command_succeeded_get_server_id; +mongoc_apm_set_command_started_cb; +mongoc_apm_set_command_succeeded_cb; _mongoc_array_append_vals; +_mongoc_array_copy; _mongoc_array_destroy; _mongoc_array_init; +mongoc_async_cmd; +mongoc_async_cmd_tls_setup; +mongoc_async_destroy; +mongoc_async_new; +mongoc_async_run; _mongoc_buffer_append_from_stream; _mongoc_buffer_clear; _mongoc_buffer_destroy; @@ -1146,12 +1173,14 @@ mongoc_bulk_operation_delete_one; mongoc_bulk_operation_destroy; mongoc_bulk_operation_execute; +mongoc_bulk_operation_get_hint; mongoc_bulk_operation_insert; _mongoc_bulk_operation_new; mongoc_bulk_operation_new; mongoc_bulk_operation_remove; mongoc_bulk_operation_remove_one; mongoc_bulk_operation_replace_one; +mongoc_bulk_operation_set_bypass_document_validation; mongoc_bulk_operation_set_client; mongoc_bulk_operation_set_collection; mongoc_bulk_operation_set_database; @@ -1159,24 +1188,34 @@ mongoc_bulk_operation_set_write_concern; mongoc_bulk_operation_update; mongoc_bulk_operation_update_one; +mongoc_check_version; mongoc_cleanup; mongoc_client_command; mongoc_client_command_simple; +mongoc_client_command_simple_with_server_id; _mongoc_client_create_stream; +mongoc_client_default_stream_initiator; mongoc_client_destroy; mongoc_client_get_collection; mongoc_client_get_database; mongoc_client_get_database_names; +mongoc_client_get_default_database; mongoc_client_get_gridfs; mongoc_client_get_max_bson_size; mongoc_client_get_max_message_size; mongoc_client_get_read_prefs; +mongoc_client_get_server_description; +mongoc_client_get_server_descriptions; mongoc_client_get_server_status; mongoc_client_get_uri; mongoc_client_get_write_concern; +mongoc_client_kill_cursor; mongoc_client_new; mongoc_client_new_from_uri; mongoc_client_pool_destroy; +mongoc_client_pool_get_size; +mongoc_client_pool_max_size; +mongoc_client_pool_min_siz
[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers rpmgfs.c rpmgfs.h tgfs.c
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: 04-Oct-2014 19:21:57 Branch: rpm-5_4 Handle: 2014100417215601 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers rpmgfs.c rpmgfs.h tgfs.c Log: - rpmgfs: add rpmgfsDel. Summary: RevisionChanges Path 2.199.2.51 +1 -0 rpm/rpmio/librpmio.vers 1.1.2.4 +106 -68rpm/rpmio/rpmgfs.c 1.1.2.3 +34 -3 rpm/rpmio/rpmgfs.h 1.1.2.2 +7 -1 rpm/rpmio/tgfs.c patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.50 -r2.199.2.51 librpmio.vers --- rpm/rpmio/librpmio.vers 3 Oct 2014 19:20:14 - 2.199.2.50 +++ rpm/rpmio/librpmio.vers 4 Oct 2014 17:21:56 - 2.199.2.51 @@ -433,6 +433,7 @@ rpmGetPath; _rpmgfs_debug; _rpmgfsI; +rpmgfsDel; rpmgfsDump; rpmgfsGet; rpmgfsList; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmgfs.c $ cvs diff -u -r1.1.2.3 -r1.1.2.4 rpmgfs.c --- rpm/rpmio/rpmgfs.c3 Oct 2014 19:20:14 - 1.1.2.3 +++ rpm/rpmio/rpmgfs.c4 Oct 2014 17:21:56 - 1.1.2.4 @@ -69,89 +69,128 @@ } +static void * rpmgfsChk(rpmgfs gfs, const char * msg, + bson_error_t * bep, void * p) +{ +if (p == NULL) { +fprintf(stderr, "*** %s: (%u.%u) %s\n", msg, bep->domain, bep->code, bep->message); +} +return p; +} + /*==*/ -int rpmgfsGet(rpmgfs gfs, const char * sfn) +int rpmgfsGet(rpmgfs gfs, const char * dfn, const char * sfn) { +mongoc_stream_t *S = NULL; +mongoc_gridfs_file_t *F = NULL; char buf[BUFSIZ]; bson_error_t berr; +FD_t fd = NULL; ssize_t nr; int rc = 1; /* assume failure */ +if (dfn == NULL) + dfn = "-"; +fd = Fopen(dfn, "w"); +if (fd == NULL || Ferror(fd)) + goto exit; + gfs->iov.iov_base = (void *)buf; gfs->iov.iov_len = sizeof buf; -gfs->F = mongoc_gridfs_find_one_by_filename(gfs->G, sfn, &berr); -if (gfs->F == NULL) { -fprintf(stderr, "*** %s: (%u.%u) %s\n", __FUNCTION__, berr.domain, berr.code, berr.message); +F = rpmgfsChk(gfs, __FUNCTION__, &berr, + mongoc_gridfs_find_one_by_filename(gfs->G, sfn, &berr)); +if (F == NULL) goto exit; -} -gfs->S = mongoc_stream_gridfs_new(gfs->F); -if (gfs->S == NULL) +S = mongoc_stream_gridfs_new(F); +if (S == NULL) goto exit; for (;;) { - nr = mongoc_stream_readv(gfs->S, &gfs->iov, 1, -1, 0); + nr = mongoc_stream_readv(S, &gfs->iov, 1, -1, 0); if (nr < 0) goto exit; if (nr == 0) break; - if (fwrite(gfs->iov.iov_base, nr, 1, stdout) != (size_t)nr) + if (Fwrite(gfs->iov.iov_base, nr, 1, fd) != (size_t)nr) goto exit; } rc = 0; exit: SPEW((stderr, "<-- %s(%p,%s) rc %d\n", __FUNCTION__, gfs, sfn, rc)); -#ifdef NOTYET -if (gfs->S) - mongoc_stream_destroy(gfs->S); -#endif -gfs->S = NULL; -#ifdef NOTYET -if (gfs->F) - mongoc_gridfs_file_destroy(gfs->F); -#endif -gfs->F = NULL; +if (fd) + (void) Fclose(fd); +if (S) + mongoc_stream_destroy(S); +if (F) + mongoc_gridfs_file_destroy(F); return rc; } int rpmgfsPut(rpmgfs gfs, const char * dfn, const char * sfn) { +mongoc_stream_t *S = NULL; +mongoc_gridfs_file_t *F = NULL; mongoc_gridfs_file_opt_t opt = { 0 }; int rc = 1; /* assume failure */ -gfs->S = mongoc_stream_file_new_for_path(sfn, O_RDONLY, 0); -if (gfs->S == NULL) +S = mongoc_stream_file_new_for_path(sfn, O_RDONLY, 0); +if (S == NULL) goto exit; +/* XXX fill in other fields */ opt.filename = dfn; -gfs->F = mongoc_gridfs_create_file_from_stream(gfs->G, gfs->S, &opt); -if (gfs->F == NULL) +F = mongoc_gridfs_create_file_from_stream(gfs->G, S, &opt); +if (F == NULL) goto exit; -mongoc_gridfs_file_save(gfs->F); +mongoc_gridfs_file_save(F); rc = 0; exit: SPEW((stderr, "<-- %s(%p,%s,%s) rc %d\n", __FUNCTION__, gfs, dfn, sfn, rc)); -#ifdef NOTYET -if (gfs->S) -
[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers rpmdav.c
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: 19-Sep-2014 21:26:21 Branch: rpm-5_4 Handle: 2014091919262001 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers rpmdav.c Log: - rpmdav: haul out more trash. Summary: RevisionChanges Path 2.199.2.43 +2 -0 rpm/rpmio/librpmio.vers 2.119.2.13 +368 -243 rpm/rpmio/rpmdav.c patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.42 -r2.199.2.43 librpmio.vers --- rpm/rpmio/librpmio.vers 18 Sep 2014 05:07:01 - 2.199.2.42 +++ rpm/rpmio/librpmio.vers 19 Sep 2014 19:26:21 - 2.199.2.43 @@ -69,6 +69,8 @@ davClose; davClosedir; _dav_debug; +_dav_cb_debug; +_dav_hook_debug; _dav_nooptions; davLstat; davMkdir; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmdav.c $ cvs diff -u -r2.119.2.12 -r2.119.2.13 rpmdav.c --- rpm/rpmio/rpmdav.c19 Sep 2014 05:17:00 - 2.119.2.12 +++ rpm/rpmio/rpmdav.c19 Sep 2014 19:26:20 - 2.119.2.13 @@ -61,14 +61,14 @@ if (((_f) < 0 && _dav_debug < 0) || ((_f) > 0 && _dav_debug)) \ fprintf _list -static int _hook_debug = -1; +int _dav_hook_debug; #define HOOKDEBUG(_f, _list) \ -if (((_f) < 0 && _hook_debug < 0) || ((_f) > 0 && _hook_debug)) \ +if (((_f) < 0 && _dav_hook_debug < 0) || ((_f) > 0 && _dav_hook_debug)) \ fprintf _list -static int _callback_debug = -1; +int _dav_cb_debug; #define CALLBACKDEBUG(_f, _list) \ -if (((_f) < 0 && _callback_debug < 0) || ((_f) > 0 && _callback_debug)) \ +if (((_f) < 0 && _dav_cb_debug < 0) || ((_f) > 0 && _dav_cb_debug)) \ fprintf _list /* HACK: reasonable value needed (wget uses 900 as default). */ @@ -91,13 +91,239 @@ int rpmioHttpMaxRedirect = 20; #endif -#ifdef DEAD -const char * rpmioHttpAccept;/* HACK: rpmioHttpAccept is unused. */ -#endif +/* HACK: rpmioHttpAccept is used only by tools/wget.c. */ +const char * rpmioHttpAccept; const char * rpmioHttpUserAgent; #ifdef WITH_NEON /* === */ +static FD_t ud2fd(void * userdata, const char * value, const char * tag) +{ +assert(userdata != NULL); +assert(value == NULL || value != NULL); +assert(tag != NULL); +FD_t ctrl = (FD_t) userdata; +urlinfo u = (urlinfo) ctrl->u; +#ifdef HACK +assert(u); +#else +if (u) +#endif +URLSANE(u); + +CALLBACKDEBUG(-1, (stderr, "*** fd %p %s: %s\n", ctrl, tag, value)); +return ctrl; +} + +static urlinfo ud2u(void * userdata, const char * value, const char * tag, const char * label) +{ +if (userdata == NULL) fprintf(stderr, "?!? %s -> %s\n", label, __FUNCTION__); +assert(userdata != NULL); +assert(value == NULL || value != NULL); +assert(tag != NULL); +FD_t ctrl = (FD_t) userdata; +urlinfo u = (urlinfo) ctrl->u; +#ifdef HACK +assert(u); /* XXX HACK: Accept-Ranges: ctrl->u == NULL? */ +#else +if (u) +#endif +URLSANE(u); + +CALLBACKDEBUG(-1, (stderr, "*** u %p %s: %s\n", u, tag, value)); +return u; +} + +static void davAcceptRanges(void * userdata, const char * value) +{ +urlinfo u = ud2u(userdata, value, "Accept-Ranges", __FUNCTION__); + +assert(u); /* XXX HACK: Accept-Ranges: ctrl->u == NULL? */ +if (u && value) { + if (!strcmp(value, "bytes")) + u->caps |= RPMURL_SERVER_HASRANGE; + if (!strcmp(value, "none")) + u->caps &= ~RPMURL_SERVER_HASRANGE; +}/* XXX Reset RPMURL_SERVER_HASRANGE if value == NULL? */ +} + +static void davContentLength(void * userdata, const char * value) +{ +FD_t ctrl = ud2fd(userdata, value, "Content-Length"); + +ctrl->contentLength = (value ? strtoll(value, NULL, 10) : 0); +} + +static void davContentType(void * userdata, const char * value) +{ +FD_t ctrl = ud2fd(userdata, value, "Content-Type"); + +ctrl->contentType = _free(ctrl->contentType); +if (value) + ctrl->contentType = xstrdup(value); +} + +static void davContentDisposition(void * userdata, const char * value) +{ +FD_t ctrl = ud2fd(userdata, value, "Content-Disposition"); + +ctrl->contentDisposition = _free(ctrl->contentDisposition); +if (
[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers rpmkeyring.c rpmkeyring.h
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: 03-Sep-2014 22:41:58 Branch: rpm-5_4 Handle: 2014090320415700 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers rpmkeyring.c rpmkeyring.h Log: - python: fiddleups for rpmkeyring-py.c resurrection. Summary: RevisionChanges Path 2.199.2.38 +2 -0 rpm/rpmio/librpmio.vers 1.8.6.1 +30 -0 rpm/rpmio/rpmkeyring.c 1.8.6.2 +16 -0 rpm/rpmio/rpmkeyring.h patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.37 -r2.199.2.38 librpmio.vers --- rpm/rpmio/librpmio.vers 3 Sep 2014 19:28:54 - 2.199.2.37 +++ rpm/rpmio/librpmio.vers 3 Sep 2014 20:41:57 - 2.199.2.38 @@ -543,6 +543,8 @@ rpmkuFindPubkey; rpmkuStorePubkey; rpmkuPassPhrase; +rpmPubkeyBase64; +rpmPubkeyDig; rpmPubkeyFree; rpmPubkeyLink; rpmPubkeyNew; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmkeyring.c $ cvs diff -u -r1.8 -r1.8.6.1 rpmkeyring.c --- rpm/rpmio/rpmkeyring.c2 Aug 2008 22:37:38 - 1.8 +++ rpm/rpmio/rpmkeyring.c3 Sep 2014 20:41:57 - 1.8.6.1 @@ -1,6 +1,7 @@ #include "system.h" #include "rpmio_internal.h" +#include/* XXX b64encode */ #include "rpmkeyring.h" #include "debug.h" @@ -168,6 +169,35 @@ return NULL; } +pgpDig rpmPubkeyDig(rpmPubkey key) +{ +pgpDig dig = NULL; +static unsigned char zeros[] = + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; +if (key == NULL) + return NULL; + +dig = pgpDigNew(RPMVSF_DEFAULT, 0); +if (pgpPrtPkts(key->pkt, key->pktlen, dig, 0) == 0) { + pgpDigParams pubp = &dig->pubkey; + if (!memcmp(pubp->signid, zeros, sizeof(pubp->signid)) || + !memcmp(pubp->time, zeros, sizeof(pubp->time)) || + pubp->userid == NULL) { + dig = pgpDigFree(dig); + } +} +return dig; +} + +char * rpmPubkeyBase64(rpmPubkey key) +{ +char *enc = NULL; + +if (key) + enc = b64encode(key->pkt, key->pktlen); +return enc; +} + rpmRC rpmKeyringLookup(rpmKeyring keyring, pgpDig sig) { rpmRC res = RPMRC_NOKEY; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmkeyring.h $ cvs diff -u -r1.8.6.1 -r1.8.6.2 rpmkeyring.h --- rpm/rpmio/rpmkeyring.h19 Apr 2012 17:26:06 - 1.8.6.1 +++ rpm/rpmio/rpmkeyring.h3 Sep 2014 20:41:57 - 1.8.6.2 @@ -114,6 +114,22 @@ rpmPubkey rpmPubkeyUnlink(/*@killref@*/ rpmPubkey key) /*@modifies key @*/; +/** \ingroup rpmkeyring + * Parse OpenPGP pubkey parameters. + * @param key Pubkey + * @return parsed output of pubkey packet parameters + */ +pgpDig rpmPubkeyDig(rpmPubkey key) + /*@modifies key @*/; + +/** \ingroup rpmkeyring + * Return base64 encoding of pubkey + * @param key Pubkey + * @return base64 encoded pubkey (malloced), NULL on error + */ +char * rpmPubkeyBase64(rpmPubkey key) + /*@modifies key @*/; + #ifdef __cplusplus } #endif @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers rpmio.c rpmio.h rpmsq.c r...
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: 03-Sep-2014 21:28:55 Branch: rpm-5_4 Handle: 2014090319285401 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers rpmio.c rpmio.h rpmsq.c rpmsq.h Log: - python: fiddleups needed for rpmfd-py.c resurrection. Summary: RevisionChanges Path 2.199.2.37 +2 -0 rpm/rpmio/librpmio.vers 1.230.2.16 +11 -0 rpm/rpmio/rpmio.c 1.97.2.2+6 -0 rpm/rpmio/rpmio.h 1.42.6.4+5 -0 rpm/rpmio/rpmsq.c 1.14.6.2+9 -0 rpm/rpmio/rpmsq.h patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.36 -r2.199.2.37 librpmio.vers --- rpm/rpmio/librpmio.vers 6 Aug 2014 20:42:36 - 2.199.2.36 +++ rpm/rpmio/librpmio.vers 3 Sep 2014 19:28:54 - 2.199.2.37 @@ -107,6 +107,7 @@ Fdopen; _Fdopen; fdReadable; +fdSize; fdWritable; Ferror; _Ferror; @@ -671,6 +672,7 @@ rpmsqEnable; rpmsqExecve; rpmsqFork; +rpmsqIsCaught; rpmsqInsert; rpmsqJoin; rpmsqQueue; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmio.c $ cvs diff -u -r1.230.2.15 -r1.230.2.16 rpmio.c --- rpm/rpmio/rpmio.c 6 Aug 2014 20:42:36 - 1.230.2.15 +++ rpm/rpmio/rpmio.c 3 Sep 2014 19:28:54 - 1.230.2.16 @@ -263,6 +263,17 @@ } /* === */ +off_t fdSize(FD_t fd) +{ +struct stat sb; +off_t rc = -1; + +FDSANE(fd); +if (fstat(Fileno(fd), &sb) == 0) +rc = sb.st_size; +return rc; +} + FD_t fdDup(int fdno) { FD_t fd; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmio.h $ cvs diff -u -r1.97.2.1 -r1.97.2.2 rpmio.h --- rpm/rpmio/rpmio.h 20 Jul 2014 00:09:14 - 1.97.2.1 +++ rpm/rpmio/rpmio.h 3 Sep 2014 19:28:55 - 1.97.2.2 @@ -537,6 +537,12 @@ /*@{*/ /** + * */ +off_t fdSize(FD_t fd) + /*@globals fileSystem, internalState @*/ + /*@modifies fileSystem, internalState @*/; + +/** */ /*@null@*/ FD_t fdDup(int fdno) /*@globals fileSystem, internalState @*/ @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmsq.c $ cvs diff -u -r1.42.6.3 -r1.42.6.4 rpmsq.c --- rpm/rpmio/rpmsq.c 16 Apr 2012 20:53:33 - 1.42.6.3 +++ rpm/rpmio/rpmsq.c 3 Sep 2014 19:28:55 - 1.42.6.4 @@ -387,6 +387,11 @@ }; /*@=fullinitblock@*/ +int rpmsqIsCaught(int signum) +{ +return sigismember(&rpmsqCaught, signum); +} + void rpmsqAction(int signum, /*@unused@*/ void * info, /*@unused@*/ void * context) { @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmsq.h $ cvs diff -u -r1.14.6.1 -r1.14.6.2 rpmsq.h --- rpm/rpmio/rpmsq.h 12 Jul 2013 21:40:49 - 1.14.6.1 +++ rpm/rpmio/rpmsq.h 3 Sep 2014 19:28:55 - 1.14.6.2 @@ -85,6 +85,15 @@ /*@modifies elem, fileSystem, internalState @*/; /*@=exportlocal@*/ +/** \ingroup rpmsq + * Test if given signal has been caught (while signals blocked). + * Similar to sigismember() but operates on internal signal queue. + * @param signumsignal to test for + * @return 1 if caught, 0 if not and -1 on error + */ +int rpmsqIsCaught(int signum) + /*@*/; + /** * Default signal handler. * @param signum signal number @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers
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: 25-Apr-2014 04:42:18 Branch: rpm-5_4 Handle: 2014042502421700 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers Log: - sanity Summary: RevisionChanges Path 2.199.2.32 +5 -1 rpm/rpmio/librpmio.vers patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.31 -r2.199.2.32 librpmio.vers --- rpm/rpmio/librpmio.vers 18 Apr 2014 18:45:54 - 2.199.2.31 +++ rpm/rpmio/librpmio.vers 25 Apr 2014 02:42:17 - 2.199.2.32 @@ -273,6 +273,7 @@ _pgp_print; pgpExportPubkey; pgpExportSignature; +pgpExtractPubkeyFingerprint; pgpFindPubkey; pgpGetPubkey; pgpGetSignature; @@ -281,9 +282,11 @@ pgpGetSig; pgpGetSiglen; pgpGrabPkts; +pgpHashAlgo2Name; pgpHashAlgoStringToNumber; pgpHashTbl; pgpImplVecs; +pgpHashName2Algo; pgpKeyServerPrefsTbl; pgpPrtComment; pgpPrtKey; @@ -295,8 +298,9 @@ pgpPrtSubType; pgpPrtUserID; pgpPrtVal; +pgpPubkeyAlgo2Name; pgpPubkeyFingerprint; -pgpExtractPubkeyFingerprint; +pgpPubkeyName2Algo; pgpPktLen; pgpPubkeyTbl; pgpReadPkts; @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers rpmgit.c rpmgit.h tgit.c
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: 05-Sep-2013 18:50:28 Branch: rpm-5_4 Handle: 2013090516502700 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers rpmgit.c rpmgit.h tgit.c Log: - git: add rev-parse.c fluff. Summary: RevisionChanges Path 2.199.2.27 +3 -0 rpm/rpmio/librpmio.vers 2.1.2.37+95 -30 rpm/rpmio/rpmgit.c 2.1.2.21+18 -0 rpm/rpmio/rpmgit.h 1.1.2.33+64 -0 rpm/rpmio/tgit.c patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.26 -r2.199.2.27 librpmio.vers --- rpm/rpmio/librpmio.vers 19 Jul 2013 08:56:51 - 2.199.2.26 +++ rpm/rpmio/librpmio.vers 5 Sep 2013 16:50:27 - 2.199.2.27 @@ -400,6 +400,7 @@ _rpmgit_tree; _rpmgitI; rpmgitAddFile; +rpmgitClose; rpmgitCmdAdd; rpmgitCmdCommit; rpmgitCmdDiff; @@ -410,6 +411,8 @@ rpmgitInfo; rpmgitInit; rpmgitNew; +rpmgitOid; +rpmgitOpen; rpmgitPopt; rpmgitPrintCommit; rpmgitPrintHead; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmgit.c $ cvs diff -u -r2.1.2.36 -r2.1.2.37 rpmgit.c --- rpm/rpmio/rpmgit.c4 Sep 2013 21:14:45 - 2.1.2.36 +++ rpm/rpmio/rpmgit.c5 Sep 2013 16:50:27 - 2.1.2.37 @@ -147,6 +147,30 @@ /*==*/ +static void check(int error, const char *message, const char *extra) +{ +const git_error *lg2err; +const char *lg2msg = ""; +const char *lg2spacer = ""; + +if (!error) + return; + +if ((lg2err = giterr_last()) != NULL && lg2err->message != NULL) { + lg2msg = lg2err->message; + lg2spacer = " - "; +} + +if (extra) + fprintf(stderr, "%s '%s' [%d]%s%s\n", + message, extra, error, lg2spacer, lg2msg); +else + fprintf(stderr, "%s [%d]%s%s\n", + message, error, lg2spacer, lg2msg); + +exit(1); +} + static int Xchkgit(/*@unused@*/ rpmgit git, const char * msg, int error, int printit, const char * func, const char * fn, unsigned ln) @@ -448,6 +472,7 @@ git->R = NULL; } /* XXX git_repository_init_ext(&git->R, git->fn, &opts); */ + /* XXX git->repodir? */ rc = chkgit(git, "git_repository_init", git_repository_init((git_repository **)&git->R, git->fn, git->is_bare)); @@ -604,8 +629,8 @@ } if (git->fp) fprintf(git->fp, "%s: %s\n", var_name, value); -SPEW(0, rc, git); +SPEW(0, rc, git); return rc; } #endif /* defined(WITH_LIBGT2) */ @@ -613,8 +638,8 @@ int rpmgitConfig(rpmgit git) { int rc = -1; -#if defined(WITH_LIBGIT2) +#if defined(WITH_LIBGIT2) /* Read/print/save configuration info. */ rc = chkgit(git, "git_repository_config", git_repository_config((git_config **)&git->cfg, git->R)); @@ -632,6 +657,59 @@ return rc; } +const char * rpmgitOid(rpmgit git, const void * _oid) +{ +#if defined(WITH_LIBGIT2) +git_oid * oid = (git_oid *) _oid; +git->str[0] = '\0'; +git_oid_tostr(git->str, sizeof(git->str), oid); +git->str[RPMGIT_OID_HEXSZ] = '\0'; +#else +git->str[0] = '\0'; +#endif /* defined(WITH_LIBGT2) */ +return git->str; +} + +int rpmgitClose(rpmgit git) +{ +int rc = 0; + +#if defined(WITH_LIBGIT2) + /* XXX other sanity checks and side effects? */ +if (git->R) { + git_repository_free(git->R); + git->R = NULL; + git->repodir = _free(git->repodir); +} +#endif /* defined(WITH_LIBGT2) */ + +SPEW(0, rc, git); +return rc; +} + +int rpmgitOpen(rpmgit git, const char * repodir) +{ +int rc = 0; + +#if defined(WITH_LIBGIT2) + /* XXX lazy close? */ +if (git->R == NULL) { + if (repodir) { + git->repodir = _free(git->repodir); + git->repodir = Realpath(repodir, NULL); + } else if (git->repodir == NULL) { + const char * dn = (git->fn ? git->fn : "."); + git->repodir = Realpath(dn, NULL); + } + rc = chkgit(git, "git_repository_open_ext", + git_repository_open_ext((git_repository **)&
[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers
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: 19-Jul-2013 10:19:43 Branch: rpm-5_4 Handle: 2013071908194200 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers Log: - bson: expose all symbols. Summary: RevisionChanges Path 2.199.2.25 +4 -0 rpm/rpmio/librpmio.vers patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.24 -r2.199.2.25 librpmio.vers --- rpm/rpmio/librpmio.vers 15 Jul 2013 22:11:06 - 2.199.2.24 +++ rpm/rpmio/librpmio.vers 19 Jul 2013 08:19:42 - 2.199.2.25 @@ -889,6 +889,7 @@ bson_init_empty; bson_init_finished_data; bson_init_finished_data_with_copy; +bson_iterator_alloc; bson_iterator_bin_data; bson_iterator_bin_len; bson_iterator_bin_type; @@ -898,6 +899,7 @@ bson_iterator_code_scope; bson_iterator_code_scope_init; bson_iterator_date; +bson_iterator_dealloc; bson_iterator_double; bson_iterator_double_raw; bson_iterator_init; @@ -918,6 +920,8 @@ bson_iterator_subobject_init; bson_iterator_time_t; bson_iterator_timestamp; +bson_iterator_timestamp_increment; +bson_iterator_timestamp_time; bson_iterator_type; bson_iterator_value; bson_little_endian64; @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers
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: 16-Jul-2013 00:11:07 Branch: rpm-5_4 Handle: 2013071522110600 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers Log: - mongo: expose gridfs symbols for tests/mongo/gridfs.c Summary: RevisionChanges Path 2.199.2.24 +5 -0 rpm/rpmio/librpmio.vers patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.23 -r2.199.2.24 librpmio.vers --- rpm/rpmio/librpmio.vers 9 Jul 2013 12:04:25 - 2.199.2.23 +++ rpm/rpmio/librpmio.vers 15 Jul 2013 22:11:06 - 2.199.2.24 @@ -942,6 +942,8 @@ bson_swap_endian64; bson_swap_endian32; set_bson_err_handler; +gridfile_create; +gridfile_dealloc; gridfile_destroy; gridfile_exists; gridfile_get_boolean; @@ -958,7 +960,10 @@ gridfile_get_uploaddate; gridfile_init; gridfile_read; +gridfile_read_buffer; gridfile_seek; +gridfile_set_size; +gridfile_truncate; gridfile_write_buffer; gridfile_write_file; gridfile_writer_done; @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers mongo.c mongo.h
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: 09-Jul-2013 14:04:26 Branch: rpm-5_4 Handle: 2013070912042500 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers mongo.c mongo.h Log: - mongo: expose mongo_env_close_socket() Summary: RevisionChanges Path 2.199.2.23 +1 -0 rpm/rpmio/librpmio.vers 2.3.4.7 +1 -1 rpm/rpmio/mongo.c 2.2.4.5 +3 -0 rpm/rpmio/mongo.h patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.22 -r2.199.2.23 librpmio.vers --- rpm/rpmio/librpmio.vers 9 Jul 2013 08:50:31 - 2.199.2.22 +++ rpm/rpmio/librpmio.vers 9 Jul 2013 12:04:25 - 2.199.2.23 @@ -999,6 +999,7 @@ mongo_data_append64; mongo_destroy; mongo_disconnect; +mongo_env_close_socket; mongo_find; mongo_find_one; mongo_init; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/mongo.c $ cvs diff -u -r2.3.4.6 -r2.3.4.7 mongo.c --- rpm/rpmio/mongo.c 29 Jun 2013 21:04:19 - 2.3.4.6 +++ rpm/rpmio/mongo.c 9 Jul 2013 12:04:25 - 2.3.4.7 @@ -1588,7 +1588,7 @@ # define NI_MAXSERV 32 #endif -static int mongo_env_close_socket( SOCKET socket ) { +int mongo_env_close_socket( SOCKET socket ) { return close( socket ); } @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/mongo.h $ cvs diff -u -r2.2.4.4 -r2.2.4.5 mongo.h --- rpm/rpmio/mongo.h 27 Jun 2013 22:13:43 - 2.2.4.4 +++ rpm/rpmio/mongo.h 9 Jul 2013 12:04:25 - 2.2.4.5 @@ -928,6 +928,9 @@ */ MONGO_EXPORT void mongo_clear_errors( mongo *conn ); +/* Close a socket */ +MONGO_EXPORT int mongo_env_close_socket( SOCKET socket ); + MONGO_EXTERN_C_END /*==*/ @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers
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: 09-Jul-2013 10:50:31 Branch: rpm-5_4 Handle: 2013070908503100 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers Log: - fix: export only bson/mongo symbols used by tests. Summary: RevisionChanges Path 2.199.2.22 +31 -0 rpm/rpmio/librpmio.vers patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.21 -r2.199.2.22 librpmio.vers --- rpm/rpmio/librpmio.vers 20 Jun 2012 15:26:54 - 2.199.2.21 +++ rpm/rpmio/librpmio.vers 9 Jul 2013 08:50:31 - 2.199.2.22 @@ -834,6 +834,7 @@ yarnRelease; yarnTwist; yarnWaitFor; +bson_alloc; bson_append; bson_append32; bson_append64; @@ -870,6 +871,8 @@ bson_buffer_finish; bson_buffer_init; bson_copy; +bson_data; +bson_dealloc; bson_destroy; bson_empty; bson_ensure_space; @@ -880,8 +883,12 @@ bson_finish; bson_fprintf; bson_free; +bson_free_func; bson_from_buffer; bson_init; +bson_init_empty; +bson_init_finished_data; +bson_init_finished_data_with_copy; bson_iterator_bin_data; bson_iterator_bin_len; bson_iterator_bin_type; @@ -889,6 +896,7 @@ bson_iterator_bool_raw; bson_iterator_code; bson_iterator_code_scope; +bson_iterator_code_scope_init; bson_iterator_date; bson_iterator_double; bson_iterator_double_raw; @@ -907,6 +915,7 @@ bson_iterator_string_len; bson_iterator_subiterator; bson_iterator_subobject; +bson_iterator_subobject_init; bson_iterator_time_t; bson_iterator_timestamp; bson_iterator_type; @@ -927,6 +936,7 @@ bson_realloc_func; bson_set_oid_fuzz; bson_set_oid_inc; +bson_shared_empty; bson_size; bson_sprintf; bson_swap_endian64; @@ -961,6 +971,8 @@ gridfs_store_buffer; gridfs_store_file; mongo_check_connection; +mongo_clear_errors; +mongo_client; mongo_cmd_add_user; mongo_cmd_authenticate; mongo_cmd_drop_collection; @@ -972,6 +984,7 @@ mongo_connect; mongo_connect_pair; mongo_count; +mongo_create_capped_collection; mongo_create_index; mongo_create_simple_index; mongo_cursor_bson; @@ -988,6 +1001,7 @@ mongo_disconnect; mongo_find; mongo_find_one; +mongo_init; mongo_insert; mongo_insert_batch; mongo_md5_append; @@ -1002,9 +1016,26 @@ mongo_replset_add_seed; mongo_replset_connect; mongo_run_command; +mongo_set_op_timeout; +mongo_set_write_concern; mongo_simple_int_command; mongo_simple_str_command; mongo_update; +mongo_validate_ns; +mongo_write_concern_destroy; +mongo_write_concern_finish; +mongo_write_concern_get_cmd; +mongo_write_concern_get_fsync; +mongo_write_concern_get_j; +mongo_write_concern_get_mode; +mongo_write_concern_get_w; +mongo_write_concern_get_wtimeout; +mongo_write_concern_init; +mongo_write_concern_set_fsync; +mongo_write_concern_set_j; +mongo_write_concern_set_mode; +mongo_write_concern_set_w; +mongo_write_concern_set_wtimeout; local: *; }; @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers rpmgit.c
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: 20-Jun-2012 17:26:55 Branch: rpm-5_4 Handle: 2012062015265400 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers rpmgit.c Log: - git: orphan. Summary: RevisionChanges Path 2.199.2.21 +9 -2 rpm/rpmio/librpmio.vers 2.1.2.25+0 -1 rpm/rpmio/rpmgit.c patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.20 -r2.199.2.21 librpmio.vers --- rpm/rpmio/librpmio.vers 14 Jun 2012 21:50:21 - 2.199.2.20 +++ rpm/rpmio/librpmio.vers 20 Jun 2012 15:26:54 - 2.199.2.21 @@ -398,7 +398,13 @@ _rpmgit_debug; _rpmgit_dir; _rpmgit_tree; +_rpmgitI; rpmgitAddFile; +rpmgitCmdAdd; +rpmgitCmdCommit; +rpmgitCmdDiff; +rpmgitCmdInit; +rpmgitCmdStatus; rpmgitCommit; rpmgitConfig; rpmgitInfo; @@ -415,6 +421,7 @@ rpmgitPrintTime; rpmgitPrintTree; rpmgitRead; +rpmgitRun; rpmgitWalk; rpmgitWrite; rpmGlob; @@ -599,9 +606,9 @@ rpmpythonRunFile; rpmioExists; rpmioCtime; +_rpmruby_debug; _rpmrubyI; _rpmrubyPool; -_rpmruby_debug; rpmrubyNew; rpmrubyRun; rpmrubyRunFile; @@ -632,8 +639,8 @@ rpmsqThreadEqual; rpmsqWait; _sql; -_rpmsqlI; _rpmsql_debug; +_rpmsqlI; _rpmsqlOptions; _rpmsqlSeenInterrupt; _rpmsqlShellStatic; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmgit.c $ cvs diff -u -r2.1.2.24 -r2.1.2.25 rpmgit.c --- rpm/rpmio/rpmgit.c20 Jun 2012 14:21:22 - 2.1.2.24 +++ rpm/rpmio/rpmgit.c20 Jun 2012 15:26:54 - 2.1.2.25 @@ -832,7 +832,6 @@ { static int _popt_flags = POPT_CONTEXT_POSIXMEHARDER; int rc; -int save; int xx; if (_rpmgit_debug) argvPrint("before", (ARGV_t)argv, NULL); @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers rpmgit.c rpmgit.h tgit.c
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: 14-Jun-2012 23:50:22 Branch: rpm-5_4 Handle: 2012061421502100 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers rpmgit.c rpmgit.h tgit.c Log: - git: more refactoring. Summary: RevisionChanges Path 2.199.2.20 +3 -0 rpm/rpmio/librpmio.vers 2.1.2.21+38 -1 rpm/rpmio/rpmgit.c 2.1.2.14+13 -5 rpm/rpmio/rpmgit.h 1.1.2.23+135 -182 rpm/rpmio/tgit.c patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.19 -r2.199.2.20 librpmio.vers --- rpm/rpmio/librpmio.vers 13 Jun 2012 23:07:36 - 2.199.2.19 +++ rpm/rpmio/librpmio.vers 14 Jun 2012 21:50:21 - 2.199.2.20 @@ -396,12 +396,15 @@ rpmGetMacroEntries; rpmGetPath; _rpmgit_debug; +_rpmgit_dir; +_rpmgit_tree; rpmgitAddFile; rpmgitCommit; rpmgitConfig; rpmgitInfo; rpmgitInit; rpmgitNew; +rpmgitPopt; rpmgitPrintCommit; rpmgitPrintHead; rpmgitPrintIndex; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmgit.c $ cvs diff -u -r2.1.2.20 -r2.1.2.21 rpmgit.c --- rpm/rpmio/rpmgit.c14 Jun 2012 18:39:03 - 2.1.2.20 +++ rpm/rpmio/rpmgit.c14 Jun 2012 21:50:21 - 2.1.2.21 @@ -17,6 +17,10 @@ /*@unchecked@*/ int _rpmgit_debug = 0; +/*@unchecked@*/ +const char * _rpmgit_dir;/* XXX GIT_DIR */ +/*@unchecked@*/ +const char * _rpmgit_tree; /* XXX GIT_WORK_TREE */ #define SPEW(_t, _rc, _git) \ { if ((_t) || _rpmgit_debug ) \ @@ -793,6 +797,34 @@ } /*==*/ +static int +rpmgitPopt(rpmgit git, int argc, char *argv[], struct poptOption * opts) +{ +static int _popt_flags = 0; +int rc; +int xx; + +rpmgitPrintRepo(git, git->R, git->fp); +git->con = poptFreeContext(git->con);/* XXX necessary? */ +git->con = poptGetContext(argv[0], argc, (const char **)argv, opts, _popt_flags); +while ((rc = poptGetNextOpt(git->con)) > 0) { + const char * arg = poptGetOptArg(git->con); + arg = _free(arg); +} +if (rc < -1) { +fprintf(stderr, "%s: %s: %s\n", argv[0], +poptBadOption(git->con, POPT_BADOPTION_NOALIAS), +poptStrerror(rc)); + git->con = poptFreeContext(git->con); +} +git->av = argvFree(git->av); /* XXX necessary? */ +if (git->con) + xx = argvAppend(&git->av, (ARGV_t)poptGetArgs(git->con)); +git->ac = argvCount(git->av); +return rc; +} + +/*==*/ static void rpmgitFini(void * _git) /*@globals fileSystem @*/ @@ -859,10 +891,15 @@ return git; } -rpmgit rpmgitNew(const char * fn, int flags) +rpmgit rpmgitNew(char ** argv, uint32_t flags, void * _opts) { rpmgit git = rpmgitGetPool(_rpmgitPool); +int argc = argvCount(argv); +poptOption * opts = (poptOption *) _opts; +const char * fn = _rpmgit_dir; +int xx; +xx = rpmgitPopt(git, argc, argv, opts); git->fn = (fn ? xstrdup(fn) : NULL); git->flags = flags; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmgit.h $ cvs diff -u -r2.1.2.13 -r2.1.2.14 rpmgit.h --- rpm/rpmio/rpmgit.h14 Jun 2012 18:39:03 - 2.1.2.13 +++ rpm/rpmio/rpmgit.h14 Jun 2012 21:50:21 - 2.1.2.14 @@ -9,6 +9,10 @@ */ /*@unchecked@*/ extern int _rpmgit_debug; +/*@unchecked@*/ +extern const char * _rpmgit_dir; /* XXX GIT_DIR */ +/*@unchecked@*/ +extern const char * _rpmgit_tree;/* XXX GIT_WORK_TREE */ /** \ingroup rpmio */ @@ -17,17 +21,21 @@ #if defined(_RPMGIT_INTERNAL) #include +#include + +#if defined(HAVE_GIT2_H) #include #include #include -#include +#endif /** \ingroup rpmio */ struct rpmgit_s { struct rpmioItem_s _item;/*!< usage mutex and pool identifier. */ + const char * fn; -int flags; +uint32_t flags; poptContext con; ARGV_t av; @@ -112,16 +120,16 @@ /** * Create and load a git wrapper. - * @param fn git file + * @param argv
[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers rpmsql.c tgit.c
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: 14-Jun-2012 01:07:38 Branch: rpm-5_4 Handle: 2012061323073600 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers rpmsql.c tgit.c Log: git: WIP. Summary: RevisionChanges Path 2.199.2.19 +1 -0 rpm/rpmio/librpmio.vers 2.59.2.5+2 -1 rpm/rpmio/rpmsql.c 1.1.2.20+85 -9 rpm/rpmio/tgit.c patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.18 -r2.199.2.19 librpmio.vers --- rpm/rpmio/librpmio.vers 7 May 2012 14:38:23 - 2.199.2.18 +++ rpm/rpmio/librpmio.vers 13 Jun 2012 23:07:36 - 2.199.2.19 @@ -408,6 +408,7 @@ rpmgitPrintOid; rpmgitPrintRepo; rpmgitPrintSig; +rpmgitPrintTag; rpmgitPrintTime; rpmgitPrintTree; rpmgitRead; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmsql.c $ cvs diff -u -r2.59.2.4 -r2.59.2.5 rpmsql.c --- rpm/rpmio/rpmsql.c4 Jun 2012 15:10:21 - 2.59.2.4 +++ rpm/rpmio/rpmsql.c13 Jun 2012 23:07:36 - 2.59.2.5 @@ -5117,7 +5117,8 @@ N_("Common options for all rpmio executables:"), NULL}, #endif -POPT_AUTOHELP {NULL, (char) -1, POPT_ARG_INCLUDE_TABLE, NULL, 0, +POPT_AUTOHELP + { NULL, (char) -1, POPT_ARG_INCLUDE_TABLE, NULL, 0, N_("\ Usage: dbsql [OPTIONS] FILENAME [SQL]\n\ FILENAME is the name of an SQLite database. A new database is created\n\ @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/tgit.c $ cvs diff -u -r1.1.2.19 -r1.1.2.20 tgit.c --- rpm/rpmio/tgit.c 13 Jun 2012 19:44:56 - 1.1.2.19 +++ rpm/rpmio/tgit.c 13 Jun 2012 23:07:36 - 1.1.2.20 @@ -1440,7 +1440,7 @@ opts.flags |= GIT_STATUS_OPT_INCLUDE_IGNORED; opts.flags |= GIT_STATUS_OPT_INCLUDE_UNMODIFIED; -opts.flags &= ~GIT_STATUS_OPT_EXCLUDE_SUBMODULED; +opts.flags &= ~GIT_STATUS_OPT_EXCLUDE_SUBMODULES; if (!strcmp(status_untracked_files, "no")) { opts.flags &= ~GIT_STATUS_OPT_INCLUDE_UNTRACKED; opts.flags &= ~GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS; @@ -2480,6 +2480,8 @@ int ndigits; int xx = -1; +fprintf(stderr, "--> %s(%p[%d]) con %p tag_flags %x\n", __FUNCTION__, argv, argc, con, tag_flags); + argvPrint(__FUNCTION__, (ARGV_t)argv, NULL); if (strcmp(argv[0], "tag")) assert(0); rpmgitPrintRepo(git, git->R, git->fp); @@ -2601,8 +2603,14 @@ rpmgit git = rpmgitNew(git_dir, 0); FILE * fp = stdout; rpmRC rc = RPMRC_FAIL; +git_reset_type _rtype = GIT_RESET_MIXED; +git_oid oid; +git_object * obj = NULL; +int ndigits = 0; int xx = -1; +fprintf(stderr, "--> %s(%p[%d]) con %p reset_flags %x\n", __FUNCTION__, argv, argc, con, reset_flags); + argvPrint(__FUNCTION__, (ARGV_t)argv, NULL); if (strcmp(argv[0], "reset")) assert(0); rpmgitPrintRepo(git, git->R, git->fp); @@ -2611,6 +2619,38 @@ ac = argvCount(av); argvPrint(__FUNCTION__, (ARGV_t)av, NULL); +if (ac > 1) + goto exit; + +if (ac == 1) { + git_reference * H = NULL; + ndigits = GIT_OID_HEXSZ; + xx = chkgit(git, "git_repository_head", + git_repository_head(&H, git->R)); + if (xx) + goto exit; + git_oid_cpy(&oid, git_reference_oid(H)); +} else { + ndigits = strlen(av[1]); + xx = chkgit(git, "git_oid_fromstrn", + git_oid_fromstrn(&oid, av[0], ndigits)); + if (xx) + goto exit; +} + +if (!(ndigits > 0 && ndigits <= GIT_OID_HEXSZ)) + ndigits = GIT_OID_HEXSZ; + /* XXX GIT_OBJ_TAG is also permitted. */ +xx = chkgit(git, "git_object_lookup_prefix", + git_object_lookup_prefix(&obj, git->R, &oid, ndigits, GIT_OBJ_COMMIT)); +if (xx) + goto exit; + + /* XXX no reset --hard yet. */ +_rtype = (RESET_ISSET(SOFT) ? GIT_RESET_SOFT : GIT_RESET_MIXED); +xx = chkgit(git, "git_reset", + git_reset(git->R, obj, _rtype)); + xx = 0; exit: @@ -4042,7 +4082,7 @@ N_("Register file contents in the working tree to the index."), NULL }, { "update-ref", '\0', POPT_ARG_MAINCALL,cmd_noop, ARGMINMAX(0,0), N_("Update the object name stored in a ref safely."
[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers rpmsql.c rpmsql.h
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: 07-May-2012 16:38:24 Branch: rpm-5_4 Handle: 2012050714382300 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers rpmsql.c rpmsql.h Log: - sqldb: expose sqlite3_create_function() wrapper. Summary: RevisionChanges Path 2.199.2.18 +2 -0 rpm/rpmio/librpmio.vers 2.59.2.2+9 -21 rpm/rpmio/rpmsql.c 2.27.4.2+20 -0 rpm/rpmio/rpmsql.h patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.17 -r2.199.2.18 librpmio.vers --- rpm/rpmio/librpmio.vers 16 Apr 2012 03:21:22 - 2.199.2.17 +++ rpm/rpmio/librpmio.vers 7 May 2012 14:38:23 - 2.199.2.18 @@ -633,6 +633,8 @@ _rpmsqlOptions; _rpmsqlSeenInterrupt; _rpmsqlShellStatic; +_rpmsqlCFT; +_rpmsqlLoadCFT; _rpmsqlLoadVMT; rpmsqlArgv; rpmsqlCmd; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmsql.c $ cvs diff -u -r2.59.2.1 -r2.59.2.2 rpmsql.c --- rpm/rpmio/rpmsql.c5 Sep 2011 23:08:23 - 2.59.2.1 +++ rpm/rpmio/rpmsql.c7 May 2012 14:38:23 - 2.59.2.2 @@ -2344,18 +2344,6 @@ mire = mireFree(mire); } -typedef struct rpmsqlCF_s * rpmsqlCF; -struct rpmsqlCF_s { -const char * zName; -int8_t nArg; -uint8_t argType; /* 0: none. 1: db 2: (-1) */ -uint8_t eTextRep;/* SQLITE_UTF8 or SQLITE_UTF16 */ -uint8_t needCollSeq; -void (*xFunc) (sqlite3_context *, int, sqlite3_value **); -void (*xStep) (sqlite3_context *, int, sqlite3_value **); -void (*xFinal) (sqlite3_context *); -}; - static struct rpmsqlCF_s __CF[] = { /* math.h extensions */ { "acos", 1, 0, SQLITE_UTF8, 0, acosFunc, NULL, NULL }, @@ -2430,20 +2418,20 @@ { "regexp",2, 0, SQLITE_UTF8, 0, regexpFunc, NULL, NULL }, { NULL,0, 0, 0,0, NULL, NULL, NULL } }; -static rpmsqlCF _CF = __CF; -/** - * Load sqlite3 function extensions. - * @param sqlsql interpreter - */ -static int _rpmsqlLoadCF(rpmsql sql) +rpmsqlCF _rpmsqlCFT = __CF; + +int _rpmsqlLoadCFT(rpmsql sql, void * _CF) { sqlite3 * db = (sqlite3 *)sql->I; rpmsqlCF CF; int rc = 0; -SQLDBG((stderr, "--> %s(%p)\n", __FUNCTION__, sql)); -for (CF = _CF; CF->zName != NULL; CF++) { +SQLDBG((stderr, "--> %s(%p,%p)\n", __FUNCTION__, sql, _CF)); +if (_CF == NULL) + _CF = _rpmsqlCFT; +if (_CF) +for (CF = (rpmsqlCF) _CF; CF->zName != NULL; CF++) { void * _pApp = NULL; int xx; @@ -2837,7 +2825,7 @@ sql->I = db; if (db && rc == SQLITE_OK) { - (void) _rpmsqlLoadCF(sql); + (void) _rpmsqlLoadCFT(sql, _rpmsqlCFT); (void) _rpmsqlLoadVMT(db, __VMT); } @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmsql.h $ cvs diff -u -r2.27.4.1 -r2.27.4.2 rpmsql.h --- rpm/rpmio/rpmsql.h6 May 2012 21:30:08 - 2.27.4.1 +++ rpm/rpmio/rpmsql.h7 May 2012 14:38:23 - 2.27.4.2 @@ -298,6 +298,26 @@ /*@modifies sql, *resultp, fileSystem, internalState @*/; #ifdef _RPMSQL_INTERNAL +typedef struct rpmsqlCF_s * rpmsqlCF; +struct rpmsqlCF_s { +const char * zName; +int8_t nArg; +uint8_t argType; /* 0: none. 1: db 2: (-1) */ +uint8_t eTextRep;/* SQLITE_UTF8 or SQLITE_UTF16 */ +uint8_t needCollSeq; +void (*xFunc)(); /* (sqlite3_context *, int, sqlite3_value **); */ +void (*xStep)(); /* (sqlite3_context *, int, sqlite3_value **); */ +void (*xFinal)();/* (sqlite3_context *); */ +}; + +/** + * Load sqlite3 function extensions. + * @param sqlsql interpreter + * @param _CFcreate function table (NULL uses _rpmsqlCFT) + */ +int _rpmsqlLoadCFT(rpmsql sql, /*@null@*/ void * _CF) + /*@*/; + typedef struct sqlite3_module * rpmsqlVM; typedef struct rpmsqlVMT_s * rpmsqlVMT; @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repository
[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers rpmodbc.c rpmodbc.h todbc...
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: 25-Mar-2012 01:36:55 Branch: rpm-5_4 Handle: 2012032500365300 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers rpmodbc.c rpmodbc.h todbc.c Log: - odbc: transaction commit/rollback methods. Summary: RevisionChanges Path 2.199.2.15 +3 -0 rpm/rpmio/librpmio.vers 1.1.2.14+31 -0 rpm/rpmio/rpmodbc.c 1.1.2.12+7 -0 rpm/rpmio/rpmodbc.h 1.1.2.12+8 -0 rpm/rpmio/todbc.c patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.14 -r2.199.2.15 librpmio.vers --- rpm/rpmio/librpmio.vers 25 Mar 2012 00:11:47 - 2.199.2.14 +++ rpm/rpmio/librpmio.vers 25 Mar 2012 00:36:53 - 2.199.2.15 @@ -218,8 +218,10 @@ odbcCloseCursor; odbcColAttribute; odbcColumns; +odbcCommit; odbcConnect; odbcDisconnect; +odbcEndTran; odbcExecute; odbcExecDirect; odbcFetch; @@ -236,6 +238,7 @@ odbcNew; odbcPrepare; odbcPrint; +odbcRollback; odbcSetCursorName; odbcSetEnvAttr; odbcSetStmtAttr; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmodbc.c $ cvs diff -u -r1.1.2.13 -r1.1.2.14 rpmodbc.c --- rpm/rpmio/rpmodbc.c 25 Mar 2012 00:11:47 - 1.1.2.13 +++ rpm/rpmio/rpmodbc.c 25 Mar 2012 00:36:53 - 1.1.2.14 @@ -55,6 +55,9 @@ #define SQL_COLUMN_TABLE_NAME15 #define SQL_COLUMN_LABEL 18 +#define SQL_COMMIT 0 +#define SQL_ROLLBACK1 + #endif /*==*/ @@ -634,10 +637,12 @@ default: continue; break; +#ifdef NOTYET /* XXX unimplemented in unixODBC=>postgres */ case 0: rc = odbcColAttribute(odbc, colx, _type, b, nb, &ns, &got); fprintf(fp, "\t%s:\tgot %lx %p[%hu] = \"%s\"\n", SQL_CATTRS[i].n, got, b, ns, b); break; +#endif case 4: rc = odbcColAttribute(odbc, colx, _type, b, nb, &ns, &got); fprintf(fp, "\t%s:\t0x%lx\n", SQL_CATTRS[i].n, got); @@ -730,6 +735,32 @@ /*==*/ +int odbcEndTran(ODBC_t odbc, int _rollback) +{ +SQLHANDLE * dbc = odbc->dbc->hp; /* XXX env? */ +short _completion = (_rollback ? SQL_ROLLBACK : SQL_COMMIT); +int rc = 0; +(void)dbc; + +rc = CHECK(odbc, SQL_HANDLE_DBC, "SQLEndTran", + SQLEndTran(SQL_HANDLE_DBC, dbc, _completion)); + +SPEW(0, rc, odbc); +return rc; +} + +int odbcCommit(ODBC_t odbc) +{ +return odbcEndTran(odbc, SQL_COMMIT); +} + +int odbcRollback(ODBC_t odbc) +{ +return odbcEndTran(odbc, SQL_ROLLBACK); +} + +/*==*/ + int odbcConnect(ODBC_t odbc, const char * uri) { const char * db = NULL; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmodbc.h $ cvs diff -u -r1.1.2.11 -r1.1.2.12 rpmodbc.h --- rpm/rpmio/rpmodbc.h 25 Mar 2012 00:11:47 - 1.1.2.11 +++ rpm/rpmio/rpmodbc.h 25 Mar 2012 00:36:53 - 1.1.2.12 @@ -160,6 +160,13 @@ int odbcSetCursorName(ODBC_t odbc, const char * s, size_t ns) /*@*/; +int odbcEndTran(ODBC_t odbc, int _rollback) + /*@*/; +int odbcCommit(ODBC_t odbc) + /*@*/; +int odbcRollback(ODBC_t odbc) + /*@*/; + int odbcNRows(ODBC_t odbc) /*@*/; int odbcNCols(ODBC_t odbc) @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/todbc.c $ cvs diff -u -r1.1.2.11 -r1.1.2.12 todbc.c --- rpm/rpmio/todbc.c 25 Mar 2012 00:11:47 - 1.1.2.11 +++ rpm/rpmio/todbc.c 25 Mar 2012 00:36:53 - 1.1.2.12 @@ -183,15 +183,19 @@ fprintf(fp, "==> %s\n", s); rc = odbcPrepare(odbc, s, 0); +#ifdef NOTYET fprintf(fp, "before: %s\n", odbcGetCursorName(odbc)); xx = odbcSetCursorName(odbc, "poker", 0); fprintf(fp, " after: %s\n", odbcGetCursorName(odbc)); +#endif while (params && *params) rc = odbcBindParameter(odbc, *params++); rc = odbcExecute(odbc); +#ifdef NOTYET
[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers rpmodbc.c rpmodbc.h todbc...
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: 25-Mar-2012 01:11:48 Branch: rpm-5_4 Handle: 2012032500114700 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers rpmodbc.c rpmodbc.h todbc.c Log: - odbc: add methods for named cursors. Summary: RevisionChanges Path 2.199.2.14 +5 -0 rpm/rpmio/librpmio.vers 1.1.2.13+80 -0 rpm/rpmio/rpmodbc.c 1.1.2.11+11 -2 rpm/rpmio/rpmodbc.h 1.1.2.11+11 -0 rpm/rpmio/todbc.c patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.13 -r2.199.2.14 librpmio.vers --- rpm/rpmio/librpmio.vers 24 Mar 2012 23:30:50 - 2.199.2.13 +++ rpm/rpmio/librpmio.vers 25 Mar 2012 00:11:47 - 2.199.2.14 @@ -214,6 +214,8 @@ _odbc_debug; odbcBindCol; odbcBindParameter; +odbcCancel; +odbcCloseCursor; odbcColAttribute; odbcColumns; odbcConnect; @@ -222,6 +224,7 @@ odbcExecDirect; odbcFetch; odbcFetchScroll; +odbcGetCursorName; odbcGetData; odbcGetEnvAttr; odbcGetInfo; @@ -229,9 +232,11 @@ odbcListDataSources; odbcListDrivers; odbcNCols; +odbcNRows; odbcNew; odbcPrepare; odbcPrint; +odbcSetCursorName; odbcSetEnvAttr; odbcSetStmtAttr; odbcStatistics; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmodbc.c $ cvs diff -u -r1.1.2.12 -r1.1.2.13 rpmodbc.c --- rpm/rpmio/rpmodbc.c 24 Mar 2012 23:30:50 - 1.1.2.12 +++ rpm/rpmio/rpmodbc.c 25 Mar 2012 00:11:47 - 1.1.2.13 @@ -679,6 +679,57 @@ /*==*/ +int odbcCloseCursor(ODBC_t odbc) +{ +SQLHANDLE * stmt = odbc->stmt->hp; +int rc = SQL_NO_DATA; +(void)stmt; + +rc = CHECK(odbc, SQL_HANDLE_STMT, "SQLCloseCursor", + SQLCloseCursor(stmt)); + +SPEW(0, rc, odbc); +return rc; +} + +const char * odbcGetCursorName(ODBC_t odbc) +{ +SQLHANDLE * stmt = odbc->stmt->hp; +int rc = SQL_NO_DATA; +char b[BUFSIZ]; +short nb = sizeof(b); +char * t = NULL; +short ns; +(void)stmt; +(void)nb; +(void)ns; + +rc = CHECK(odbc, SQL_HANDLE_STMT, "SQLGetCursorName", + SQLGetCursorName(stmt, (SQLCHAR *)b, nb, &ns)); + +SPEW(0, rc, odbc); +if (rc == 0) + t = xstrdup(b); +return t; +} + +int odbcSetCursorName(ODBC_t odbc, const char * s, size_t ns) +{ +SQLHANDLE * stmt = odbc->stmt->hp; +int rc = SQL_NO_DATA; +(void)stmt; + +if (ns == 0) + ns = strlen(s); +rc = CHECK(odbc, SQL_HANDLE_STMT, "SQLSetCursorName", + SQLSetCursorName(stmt, (SQLCHAR *)s, (SQLSMALLINT)ns)); + +SPEW(0, rc, odbc); +return rc; +} + +/*==*/ + int odbcConnect(ODBC_t odbc, const char * uri) { const char * db = NULL; @@ -812,6 +863,21 @@ return rc; } +int odbcNRows(ODBC_t odbc) +{ +SQLHANDLE * stmt = odbc->stmt->hp; +long rows = 0; +int rc = 0; +(void)stmt; + +rc = CHECK(odbc, SQL_HANDLE_STMT, "SQLRowCount", + SQLRowCount(stmt, &rows)); +rc = rows; + +SPEW(0, rc, odbc); +return rc; +} + int odbcNCols(ODBC_t odbc) { SQLHANDLE * stmt = odbc->stmt->hp; @@ -827,6 +893,20 @@ return rc; } +int odbcCancel(ODBC_t odbc) +{ +SQLHANDLE * stmt = odbc->stmt->hp; +int rc = SQL_NO_DATA; +(void)stmt; + +rc = CHECK(odbc, SQL_HANDLE_STMT, "SQLCancel", + SQLCancel(stmt)); +odbc->stmt = hFree(odbc, odbc->stmt);/* XXX lazy? */ + +SPEW(0, rc, odbc); +return rc; +} + int odbcFetch(ODBC_t odbc) { SQLHANDLE * stmt = odbc->stmt->hp; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmodbc.h $ cvs diff -u -r1.1.2.10 -r1.1.2.11 rpmodbc.h --- rpm/rpmio/rpmodbc.h 24 Mar 2012 23:30:50 - 1.1.2.10 +++ rpm/rpmio/rpmodbc.h 25 Mar 2012 00:11:47 - 1.1.2.11 @@ -138,13 +138,11 @@ int odbcConnect(ODBC_t odbc, /*@null@*/ const char * uri) /*@*/; - int odbcDisconnect(ODBC_t odbc) /*@*
[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers rpmodbc.c rpmodbc.h todbc...
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: 25-Mar-2012 00:30:50 Branch: rpm-5_4 Handle: 2012032423305000 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers rpmodbc.c rpmodbc.h todbc.c Log: - odbc: add Statistics and attem[t to resurrect Tables/Columns. Summary: RevisionChanges Path 2.199.2.13 +1 -0 rpm/rpmio/librpmio.vers 1.1.2.12+37 -12 rpm/rpmio/rpmodbc.c 1.1.2.10+4 -3 rpm/rpmio/rpmodbc.h 1.1.2.10+6 -7 rpm/rpmio/todbc.c patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.12 -r2.199.2.13 librpmio.vers --- rpm/rpmio/librpmio.vers 24 Mar 2012 22:19:47 - 2.199.2.12 +++ rpm/rpmio/librpmio.vers 24 Mar 2012 23:30:50 - 2.199.2.13 @@ -234,6 +234,7 @@ odbcPrint; odbcSetEnvAttr; odbcSetStmtAttr; +odbcStatistics; odbcTables; Open; _Open; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmodbc.c $ cvs diff -u -r1.1.2.11 -r1.1.2.12 rpmodbc.c --- rpm/rpmio/rpmodbc.c 24 Mar 2012 22:58:40 - 1.1.2.11 +++ rpm/rpmio/rpmodbc.c 24 Mar 2012 23:30:50 - 1.1.2.12 @@ -278,7 +278,7 @@ static KEY SQL_INFOS[] = { #if defined(WITH_UNIXODBC) /* sql.h */ -_ENTRY( 0, FETCH_DIRECTION), +_ENTRY( 0, FETCH_DIRECTION),/* ul? (unixODBC) */ _ENTRY( 1, ACCESSIBLE_PROCEDURES), /* c: Y/N */ _ENTRY( 1, ACCESSIBLE_TABLES), /* c: Y/N */ @@ -721,8 +721,7 @@ /* XXX FIXME: SQLDriverConnect should print once?. */ if (rc == 0) { - if (_odbc_debug < 0) - xx = odbcDumpInfo(odbc, NULL); + xx = odbcDumpInfo(odbc, NULL); } SPEW(0, rc, odbc); @@ -770,7 +769,7 @@ desc, sizeof(desc), &desc_ret) { direction = SQL_FETCH_NEXT; - fprintf(fp, "%s - %s\n", dsn, desc); + fprintf(fp, "\t%s - %s\n", dsn, desc); #ifdef NOTYET if (ret == SQL_SUCCESS_WITH_INFO) fprintf(fp, "\tdata truncation\n"); #endif @@ -803,7 +802,7 @@ attr, sizeof(attr), &attr_ret) { direction = SQL_FETCH_NEXT; - fprintf(fp, "%s - %s\n", driver, attr); + fprintf(fp, "\t%s - %s\n", driver, attr); #ifdef NOTYET if (xx == SQL_SUCCESS_WITH_INFO) fprintf(fp, "\tdata truncation\n"); #endif @@ -941,7 +940,7 @@ return rc; } -int odbcTables(ODBC_t odbc) +int odbcTables(ODBC_t odbc, const char * tblname) { SQLHANDLE * stmt; int rc = 0; @@ -951,14 +950,17 @@ stmt = odbc->stmt->hp; rc = CHECK(odbc, SQL_HANDLE_STMT, "SQLTables", - SQLTables(stmt, NULL, 0, NULL, 0, NULL, 0, - (SQLCHAR *) "TABLE", SQL_NTS)); + SQLTables(stmt, + NULL, 0, + NULL, 0, + (SQLCHAR *) tblname, SQL_NTS, + NULL, 0)); SPEW(0, rc, odbc); return rc; } -int odbcColumns(ODBC_t odbc) +int odbcColumns(ODBC_t odbc, const char * tblname, const char * colname) { SQLHANDLE * stmt; int rc = 0; @@ -967,9 +969,32 @@ odbc->stmt = hAlloc(odbc, SQL_HANDLE_STMT); stmt = odbc->stmt->hp; -rc = CHECK(odbc, SQL_HANDLE_STMT, "SQLTables", - SQLColumns(stmt, NULL, 0, NULL, 0, NULL, 0, - (SQLCHAR *) "TABLE", SQL_NTS)); +rc = CHECK(odbc, SQL_HANDLE_STMT, "SQLColumns", + SQLColumns(stmt, + NULL, 0, + NULL, 0, + (SQLCHAR *) tblname, SQL_NTS, + (SQLCHAR *) colname, SQL_NTS)); + +SPEW(0, rc, odbc); +return rc; +} + +int odbcStatistics(ODBC_t odbc, const char * tblname) +{ +SQLHANDLE * stmt; +int rc = 0; + +if (odbc->stmt == NULL) + odbc->stmt = hAlloc(odbc, SQL_HANDLE_STMT); +stmt = odbc->stmt->hp; + +rc = CHECK(odbc, SQL_HANDLE_STMT, "SQLStatistics", + SQLStatistics(stmt, + NULL, 0, + NULL, 0, + (SQLCHAR *) tblname, SQL_NTS, + 0, 0)); SPEW(0, rc, odbc); return rc; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmodbc.h
[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers rpmodbc.c rpmodbc.h todbc...
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: 24-Mar-2012 23:19:48 Branch: rpm-5_4 Handle: 2012032422194700 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers rpmodbc.c rpmodbc.h todbc.c rpm/tests/ref odbc.out Log: - odbc: label columns in output spew. Summary: RevisionChanges Path 2.199.2.12 +6 -1 rpm/rpmio/librpmio.vers 1.1.2.10+141 -18rpm/rpmio/rpmodbc.c 1.1.2.9 +29 -5 rpm/rpmio/rpmodbc.h 1.1.2.9 +1 -1 rpm/rpmio/todbc.c 1.1.2.3 +304 -314 rpm/tests/ref/odbc.out patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.11 -r2.199.2.12 librpmio.vers --- rpm/rpmio/librpmio.vers 24 Mar 2012 21:02:17 - 2.199.2.11 +++ rpm/rpmio/librpmio.vers 24 Mar 2012 22:19:47 - 2.199.2.12 @@ -212,12 +212,17 @@ Mount; noLibio; _odbc_debug; -odbcBind; +odbcBindCol; +odbcBindParameter; +odbcColAttribute; odbcColumns; odbcConnect; odbcDisconnect; odbcExecute; odbcExecDirect; +odbcFetch; +odbcFetchScroll; +odbcGetData; odbcGetEnvAttr; odbcGetInfo; odbcGetStmtAttr; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmodbc.c $ cvs diff -u -r1.1.2.9 -r1.1.2.10 rpmodbc.c --- rpm/rpmio/rpmodbc.c 24 Mar 2012 21:02:17 - 1.1.2.9 +++ rpm/rpmio/rpmodbc.c 24 Mar 2012 22:19:47 - 1.1.2.10 @@ -13,6 +13,7 @@ #include #include #include +#include #define _RPMODBC_INTERNAL #include @@ -40,6 +41,20 @@ #define SQL_FETCH_PRIOR 4 #define SQL_FETCH_ABSOLUTE 5 #define SQL_FETCH_RELATIVE 6 + +#define SQL_C_CHAR 1 +#define SQL_C_SHORT 5 +#define SQL_C_LONG 4 +#define SQL_C_FLOAT 6 +#define SQL_C_DOUBLE8 +#define SQL_C_DATE 9 +#define SQL_C_TIME 10 +#define SQL_C_TIMESTAMP 11 + +#define SQL_COLUMN_NAME 1 +#define SQL_COLUMN_TABLE_NAME15 +#define SQL_COLUMN_LABEL 18 + #endif /*==*/ @@ -612,7 +627,8 @@ /* XXX FIXME: SQLDriverConnect should print once?. */ if (rc == 0) { - xx = odbcDumpInfo(odbc, NULL); + if (_odbc_debug < 0) + xx = odbcDumpInfo(odbc, NULL); } SPEW(0, rc, odbc); @@ -718,41 +734,126 @@ return rc; } +int odbcFetch(ODBC_t odbc) +{ +SQLHANDLE * stmt = odbc->stmt->hp; +int rc = SQL_NO_DATA; +(void)stmt; + +rc = CHECK(odbc, SQL_HANDLE_STMT, "SQLFetch", + SQLFetch(stmt)); + +SPEW(0, rc, odbc); +return rc; +} + +int odbcFetchScroll(ODBC_t odbc, short FetchOrientation, long FetchOffset) +{ +SQLHANDLE * stmt = odbc->stmt->hp; +int rc = SQL_NO_DATA; +(void)stmt; + +rc = CHECK(odbc, SQL_HANDLE_STMT, "SQLFetch", + SQLFetchScroll(stmt, FetchOrientation, FetchOffset)); + +SPEW(0, rc, odbc); +return rc; +} + +int odbcGetData(ODBC_t odbc, + unsigned short Col_or_Param_Num, + short TargetType, + void * TargetValuePtr, + long BufferLength, + long * StrLen_or_IndPtr) +{ +SQLHANDLE * stmt = odbc->stmt->hp; +int rc = -1; +(void)stmt; + +rc = CHECK(odbc, SQL_HANDLE_STMT, "SQLGetData", + SQLGetData(stmt, + Col_or_Param_Num, + TargetType, + TargetValuePtr, + BufferLength, + StrLen_or_IndPtr)); + +SPEW(0, rc, odbc); +return rc; +} + +int odbcColAttribute(ODBC_t odbc, + unsigned short ColumnNumber, + unsigned short FieldIdentifier, + void * CharacterAttributePtr, + short BufferLength, + short * StringLengthPtr, + long * NumericAttributePtr) +{ +SQLHANDLE * stmt = odbc->stmt->hp; +int rc = -1; +(void)stmt; + +rc = CHECK(odbc, SQL_HANDLE_STMT, "SQLColAttribute", + SQLColAttribute(stmt, + ColumnNumber, + FieldIdentifier, + CharacterAttributePtr, + Buffer
[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers rpmodbc.c rpmodbc.h
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: 24-Mar-2012 22:02:18 Branch: rpm-5_4 Handle: 2012032421021700 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers rpmodbc.c rpmodbc.h Log: - odbc: add getter/setter tables. Summary: RevisionChanges Path 2.199.2.11 +5 -0 rpm/rpmio/librpmio.vers 1.1.2.9 +445 -41rpm/rpmio/rpmodbc.c 1.1.2.8 +11 -0 rpm/rpmio/rpmodbc.h patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.10 -r2.199.2.11 librpmio.vers --- rpm/rpmio/librpmio.vers 20 Mar 2012 16:12:42 - 2.199.2.10 +++ rpm/rpmio/librpmio.vers 24 Mar 2012 21:02:17 - 2.199.2.11 @@ -218,12 +218,17 @@ odbcDisconnect; odbcExecute; odbcExecDirect; +odbcGetEnvAttr; +odbcGetInfo; +odbcGetStmtAttr; odbcListDataSources; odbcListDrivers; odbcNCols; odbcNew; odbcPrepare; odbcPrint; +odbcSetEnvAttr; +odbcSetStmtAttr; odbcTables; Open; _Open; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmodbc.c $ cvs diff -u -r1.1.2.8 -r1.1.2.9 rpmodbc.c --- rpm/rpmio/rpmodbc.c 21 Mar 2012 18:09:49 - 1.1.2.8 +++ rpm/rpmio/rpmodbc.c 24 Mar 2012 21:02:17 - 1.1.2.9 @@ -134,6 +134,441 @@ }; /*==*/ +typedef struct key_s { +int32_t t; +uint32_t v; +const char *n; +} KEY; + +#define _ENTRY(_t, _v) { _t, SQL_ATTR_##_v, #_v, } +static KEY SQL_ATTRS[] = { +#if defined(WITH_UNIXODBC) + /* sql.h */ +_ENTRY(8+1, APP_PARAM_DESC), /* ptr */ +_ENTRY(8+1, APP_ROW_DESC), /* ptr */ +_ENTRY(8+1, IMP_PARAM_DESC), /* RO ptr */ +_ENTRY(8+1, IMP_ROW_DESC), /* RO ptr */ + /* sqlext.h */ +_ENTRY( 8, ASYNC_ENABLE), /* ul */ + /* SQL_ATTR_ASYNC_STMT_EVENT ptr */ + /* SQL_ATTR_ASYNC_STMT_PCALLBACK ptr */ + /* SQL_ATTR_ASYNC_STMT_PCONTEXT ptr */ +_ENTRY( 8, CONCURRENCY),/* ul */ + /* SQL_ATTR_CURSOR_SCROLLABLE ul */ + /* SQL_ATTR_CURSOR_SENSITIVITY ul */ +_ENTRY( 8, CURSOR_TYPE),/* ul */ +_ENTRY( 8, ENABLE_AUTO_IPD),/* ul */ +_ENTRY(8+8, FETCH_BOOKMARK_PTR), /* *l */ +_ENTRY( 8, KEYSET_SIZE),/* ul */ +_ENTRY( 8, MAX_LENGTH), /* ul */ +_ENTRY( 8, MAX_ROWS), /* ul */ + /* SQL_ATTR_METADATA_ID ul */ +_ENTRY( 8, NOSCAN), /* ul */ +_ENTRY(8+8, PARAM_BIND_OFFSET_PTR), /* *ul */ +_ENTRY( 8, PARAM_BIND_TYPE),/* ul */ +_ENTRY(8+2, PARAM_OPERATION_PTR),/* *uh */ +_ENTRY(8+2, PARAM_STATUS_PTR), /* *uh */ +_ENTRY(8+8, PARAMS_PROCESSED_PTR), /* *ul */ +_ENTRY( 8, PARAMSET_SIZE), /* ul */ +_ENTRY( 8, QUERY_TIMEOUT), /* ul */ +_ENTRY( 8, RETRIEVE_DATA), /* ul */ +_ENTRY( 8, ROW_ARRAY_SIZE), /* ul */ +_ENTRY(8+8, ROW_BIND_OFFSET_PTR),/* *ul */ +_ENTRY( 8, ROW_BIND_TYPE), /* ul */ +_ENTRY( 8, ROW_NUMBER), /* RO ul */ +_ENTRY(8+2, ROW_OPERATION_PTR), /* *uh */ +_ENTRY(8+2, ROW_STATUS_PTR), /* *uh */ +_ENTRY(8+8, ROWS_FETCHED_PTR), /* *ul */ +_ENTRY( 8, SIMULATE_CURSOR),/* ul */ +_ENTRY( 8, USE_BOOKMARKS), /* ul */ +#else +{ 0, 0, "UNKNOWN" }, +#endif /* WITH_UNIXODBC */ +}; +#undef _ENTRY +static size_t nSQL_ATTRS = sizeof(SQL_ATTRS) / sizeof(SQL_ATTRS[0]); + +static int odbcDumpStmt(ODBC_t odbc, void * _fp) +{ +FILE * fp = (_fp ? _fp : stderr); +int rc = 0; +size_t i; + +for (i = 0; i < nSQL_ATTRS; i++) { + int _attr = SQL_ATTRS[i].v; + unsigned long _ul; + void * _p; + unsigned short * _uhp; + unsigned long * _ulp; + int ns; + + _ul = 0; + _p = NULL; + _uhp = NULL; + _ulp = NULL; + ns = 0; + switch (SQL_ATTRS[i].t) { + default: + continue; + break; + case 8: + rc = odbcGetStmtAttr(odbc, _attr, &_ul, sizeof(_ul), &ns); + if (_ul != 0) +fprintf(fp, "\t%s:\t0x%lx\n", SQL_ATTRS[i].n, _ul); +
[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers rpmodbc.c rpmodbc.h todbc...
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: 20-Mar-2012 17:12:43 Branch: rpm-5_4 Handle: 2012032016124200 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers rpmodbc.c rpmodbc.h todbc.c Log: - odbc: stub-in odbcBind for C <-> SQL data sharing on retrievals. - odbc: retrieve handle diagnostics on error. Summary: RevisionChanges Path 2.199.2.10 +1 -0 rpm/rpmio/librpmio.vers 1.1.2.7 +87 -37 rpm/rpmio/rpmodbc.c 1.1.2.6 +23 -0 rpm/rpmio/rpmodbc.h 1.1.2.7 +0 -54 rpm/rpmio/todbc.c patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.9 -r2.199.2.10 librpmio.vers --- rpm/rpmio/librpmio.vers 18 Mar 2012 19:26:14 - 2.199.2.9 +++ rpm/rpmio/librpmio.vers 20 Mar 2012 16:12:42 - 2.199.2.10 @@ -212,6 +212,7 @@ Mount; noLibio; _odbc_debug; +odbcBind; odbcColumns; odbcConnect; odbcDisconnect; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmodbc.c $ cvs diff -u -r1.1.2.6 -r1.1.2.7 rpmodbc.c --- rpm/rpmio/rpmodbc.c 19 Mar 2012 04:50:00 - 1.1.2.6 +++ rpm/rpmio/rpmodbc.c 20 Mar 2012 16:12:42 - 1.1.2.7 @@ -33,7 +33,7 @@ /*==*/ #if defined(WITH_UNIXODBC) -static int Xchkodbc(/*@unused@*/ ODBC_t odbc, const char * msg, +static int Xchkodbc(/*@unused@*/ ODBC_t odbc, int type, const char * msg, int error, int printit, const char * func, const char * fn, unsigned ln) { @@ -41,15 +41,41 @@ /* XXX filter SQL_NO_DATA(100) return. */ if (printit && !SQL_SUCCEEDED(rc) && rc != SQL_NO_DATA) { -#define odbc_strerror(_e)"" /* XXX odbc_strerror? */ -rpmlog(RPMLOG_ERR, "%s:%s:%u: %s(%d): %s\n", -func, fn, ln, msg, rc, odbc_strerror(rc)); + SQLINTEGER i = 0; + SQLRETURN ret; + void * hndl; + +fprintf(stderr, "error: %s:%s:%u: %s(%d):\n", +func, fn, ln, msg, rc); + + switch (type) { + case SQL_HANDLE_ENV:hndl = odbc->env; break; + case SQL_HANDLE_DBC:hndl = odbc->dbc; break; + case SQL_HANDLE_STMT: hndl = odbc->stmt; break; + case SQL_HANDLE_DESC: hndl = odbc->desc; break; + default:hndl = NULL;break; + } + + do { + SQLINTEGER native; + SQLCHAR state[7]; + SQLCHAR text[256]; + SQLSMALLINT len; + ret = SQLGetDiagRec(type, hndl, ++i, state, &native, text, +sizeof(text), &len); + if (SQL_SUCCEEDED(ret)) + fprintf(stderr, "\t%s:%ld:%ld:%s\n", + state, (long)i, (long)native, text); + } while (ret == SQL_SUCCESS); } return rc; } -#define CHECK(_odbc, _msg, _error) \ -Xchkodbc(_odbc, _msg, _error, _odbc_debug, __FUNCTION__, __FILE__, __LINE__) + +/* XXF FIXME: add logic to set printit */ +#define CHECK(_o, _t, _m, _rc) \ +Xchkodbc(_o, _t, _m, _rc, _odbc_debug, __FUNCTION__, __FILE__, __LINE__) + #endif /* WITH_UNIXODBC */ /*==*/ @@ -85,12 +111,12 @@ #if defined(WITH_UNIXODBC) assert(odbc->env); if (odbc->dbc == NULL) { - xx = CHECK(odbc, "SQLAllocHandle(DBC)", + xx = CHECK(odbc, SQL_HANDLE_ENV, "SQLAllocHandle(DBC)", SQLAllocHandle(SQL_HANDLE_DBC, odbc->env, &odbc->dbc)); assert(odbc->dbc); } -rc = CHECK(odbc, "SQLConnect", +rc = CHECK(odbc, SQL_HANDLE_DBC, "SQLConnect", SQLConnect(odbc->dbc, (SQLCHAR *) db, SQL_NTS, (SQLCHAR *) u->user, SQL_NTS, @@ -103,16 +129,16 @@ SQLUINTEGER getdata_support; SQLUSMALLINT max_concur_act; - xx = CHECK(odbc, "SQLGetInfo(DBMS_NAME)", + xx = CHECK(odbc, SQL_HANDLE_DBC, "SQLGetInfo(DBMS_NAME)", SQLGetInfo(odbc->dbc, SQL_DBMS_NAME, (SQLPOINTER)dbms_name, sizeof(dbms_name), NULL)); - xx = CHECK(odbc, "SQLGetInfo(DBMS_NAME)", + xx = CHECK(odbc, SQL_HANDLE_DBC, "SQLGetInfo(DBMS_NAME)", SQLGetInfo(odbc->dbc, SQL_DBMS_VER, (SQ
[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers rpmodbc.c rpmodbc.h todbc...
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: 18-Mar-2012 20:26:15 Branch: rpm-5_4 Handle: 2012031819261400 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers rpmodbc.c rpmodbc.h todbc.c Log: - odbc: WIP. Summary: RevisionChanges Path 2.199.2.9 +3 -1 rpm/rpmio/librpmio.vers 1.1.2.5 +194 -53rpm/rpmio/rpmodbc.c 1.1.2.5 +3 -3 rpm/rpmio/rpmodbc.h 1.1.2.4 +72 -20 rpm/rpmio/todbc.c patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.8 -r2.199.2.9 librpmio.vers --- rpm/rpmio/librpmio.vers 18 Mar 2012 14:02:14 - 2.199.2.8 +++ rpm/rpmio/librpmio.vers 18 Mar 2012 19:26:14 - 2.199.2.9 @@ -215,12 +215,14 @@ odbcColumns; odbcConnect; odbcDisconnect; -odbcFetch; +odbcExecute; +odbcExecDirect; odbcListDataSources; odbcListDrivers; odbcNCols; odbcNew; odbcPrepare; +odbcPrint; odbcTables; Open; _Open; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmodbc.c $ cvs diff -u -r1.1.2.4 -r1.1.2.5 rpmodbc.c --- rpm/rpmio/rpmodbc.c 18 Mar 2012 15:47:06 - 1.1.2.4 +++ rpm/rpmio/rpmodbc.c 18 Mar 2012 19:26:14 - 1.1.2.5 @@ -20,23 +20,48 @@ #include "debug.h" /*@unchecked@*/ -int _odbc_debug = -1; +int _odbc_debug = 0; + +#define DBG(_t, _l) \ + if ((_t) || _odbc_debug) fprintf _l #define SPEW(_t, _rc, _odbc)\ - { if ((_t) || _odbc_debug ) \ + { if ((_t) || _odbc_debug) \ fprintf(stderr, "<-- %s(%p) rc %d\n", __FUNCTION__, (_odbc), \ (_rc)); \ } /*==*/ +static int Xchkodbc(/*@unused@*/ ODBC_t odbc, const char * msg, +int error, int printit, +const char * func, const char * fn, unsigned ln) +{ +int rc = error; + +/* XXX filter SQL_NO_DATA(100) return. */ +if (printit && !SQL_SUCCEEDED(rc) && rc != SQL_NO_DATA) { +#define odbc_strerror(_e)"" /* XXX odbc_strerror? */ +rpmlog(RPMLOG_ERR, "%s:%s:%u: %s(%d): %s\n", +func, fn, ln, msg, rc, odbc_strerror(rc)); +} + +return rc; +} +#define CHECK(_odbc, _msg, _error) \ +Xchkodbc(_odbc, _msg, _error, _odbc_debug, __FUNCTION__, __FILE__, __LINE__) + +/*==*/ int odbcConnect(ODBC_t odbc, const char * uri) { const char * db = NULL; urlinfo u = NULL; int rc = -1; +int xx; -fprintf(stderr, "--> %s(%p,%s)\n", __FUNCTION__, odbc, uri); +DBG(0, (stderr, "--> %s(%p,%s)\n", __FUNCTION__, odbc, uri)); + +/*XXX FIXME: SQLConnect by DSN should be done here. */ if (uri) { const char * dbpath = NULL; @@ -51,22 +76,56 @@ assert(u); assert(db); -fprintf(stderr, "\tdb: %s\n", db); -fprintf(stderr, "\t u: %s\n", u->user); -fprintf(stderr, "\tpw: %s\n", u->password); +DBG(0, (stderr, "\tdb: %s\n", db)); +DBG(0, (stderr, "\t u: %s\n", u->user)); +DBG(0, (stderr, "\tpw: %s\n", u->password)); #if defined(WITH_UNIXODBC) assert(odbc->env); if (odbc->dbc == NULL) { - SQLAllocHandle(SQL_HANDLE_DBC, odbc->env, &odbc->dbc); + xx = CHECK(odbc, "SQLAllocHandle(DBC)", + SQLAllocHandle(SQL_HANDLE_DBC, odbc->env, &odbc->dbc)); assert(odbc->dbc); } -/* XXX FIXME: odbc->u->user and odbc->u->password */ -rc = SQLConnect(odbc->dbc, - (SQLCHAR *) db, SQL_NTS, - (SQLCHAR *) u->user, SQL_NTS, - (SQLCHAR *) u->password, SQL_NTS); +rc = CHECK(odbc, "SQLConnect", + SQLConnect(odbc->dbc, + (SQLCHAR *) db, SQL_NTS, + (SQLCHAR *) u->user, SQL_NTS, + (SQLCHAR *) u->password, SQL_NTS)); + + /* XXX FIXME: SQLDriverConnect should print once?. */ +if (rc == 0) { + SQLCHAR dbms_name[256]; + SQLCHAR dbms_ver[256]; + SQLUINTEGER getdata_support; + SQLUSMALLINT max_concur_act; + + xx = CHECK(odbc, "SQLGetInfo(DBMS_NAME)", + SQLGetInfo(odbc->dbc, SQL_DBMS_NAME, (SQLPOINTER)dbms_name, + sizeof(dbms_name), NULL)); + xx = CHECK(odbc, "S
[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers poptIO.c rpmio.c rpmodbc....
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: 18-Mar-2012 15:02:14 Branch: rpm-5_4 Handle: 2012031814021400 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers poptIO.c rpmio.c rpmodbc.c rpmodbc.h todbc.c Log: - odbc: shorter names please. Summary: RevisionChanges Path 2.199.2.8 +11 -11 rpm/rpmio/librpmio.vers 1.94.2.3+1 -1 rpm/rpmio/poptIO.c 1.230.2.5 +2 -2 rpm/rpmio/rpmio.c 1.1.2.3 +28 -28 rpm/rpmio/rpmodbc.c 1.1.2.3 +24 -24 rpm/rpmio/rpmodbc.h 1.1.2.2 +98 -13 rpm/rpmio/todbc.c patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.7 -r2.199.2.8 librpmio.vers --- rpm/rpmio/librpmio.vers 17 Mar 2012 19:25:03 - 2.199.2.7 +++ rpm/rpmio/librpmio.vers 18 Mar 2012 14:02:14 - 2.199.2.8 @@ -211,6 +211,17 @@ _Mknod; Mount; noLibio; +_odbc_debug; +odbcColumns; +odbcConnect; +odbcDisconnect; +odbcFetch; +odbcListDataSources; +odbcListDrivers; +odbcNCols; +odbcNew; +odbcPrepare; +odbcTables; Open; _Open; Opendir; @@ -553,17 +564,6 @@ rpmnixNew; _rpmnss_init; rpmnssImplVecs; -_rpmodbc_debug; -rpmodbcColumns; -rpmodbcConnect; -rpmodbcDisconnect; -rpmodbcFetch; -rpmodbcListDataSources; -rpmodbcListDrivers; -rpmodbcNCols; -rpmodbcNew; -rpmodbcPrepare; -rpmodbcTables; _rpmperl_debug; rpmperlNew; rpmperlRun; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/poptIO.c $ cvs diff -u -r1.94.2.2 -r1.94.2.3 poptIO.c --- rpm/rpmio/poptIO.c17 Mar 2012 15:53:15 - 1.94.2.2 +++ rpm/rpmio/poptIO.c18 Mar 2012 14:02:14 - 1.94.2.3 @@ -664,7 +664,7 @@ N_("Debug Mongo DB connection"), NULL}, { "nixdebug", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &_rpmnix_debug, -1, N_("Debug embedded Nix interpreter"), NULL}, - { "rpmodbcdebug", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &_rpmodbc_debug, -1, + { "odbcdebug", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &_odbc_debug, -1, N_("Debug embedded ODBC interface"), NULL}, { "rpmperldebug", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &_rpmperl_debug, -1, N_("Debug embedded Perl interpreter"), NULL}, @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmio.c $ cvs diff -u -r1.230.2.4 -r1.230.2.5 rpmio.c --- rpm/rpmio/rpmio.c 17 Mar 2012 15:53:15 - 1.230.2.4 +++ rpm/rpmio/rpmio.c 18 Mar 2012 14:02:14 - 1.230.2.5 @@ -3246,7 +3246,7 @@ #ifdef NOTYET extern rpmioPool _rpmnixPool; #endif -extern rpmioPool _rpmodbcPool; +extern rpmioPool _odbcPool; extern rpmioPool _rpmperlPool; extern rpmioPool _rpmpythonPool; extern rpmioPool _rpmrubyPool; @@ -3295,7 +3295,7 @@ _rpmbagPool = rpmioFreePool(_rpmbagPool); _rpmcvsPool = rpmioFreePool(_rpmcvsPool); _rpmgitPool = rpmioFreePool(_rpmgitPool); -_rpmodbcPool = rpmioFreePool(_rpmodbcPool); +_odbcPool = rpmioFreePool(_odbcPool); _rpmsvnPool = rpmioFreePool(_rpmsvnPool); _rpmtpmPool = rpmioFreePool(_rpmtpmPool); @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmodbc.c $ cvs diff -u -r1.1.2.2 -r1.1.2.3 rpmodbc.c --- rpm/rpmio/rpmodbc.c 17 Mar 2012 19:25:03 - 1.1.2.2 +++ rpm/rpmio/rpmodbc.c 18 Mar 2012 14:02:14 - 1.1.2.3 @@ -19,17 +19,17 @@ #include "debug.h" /*@unchecked@*/ -int _rpmodbc_debug = -1; +int _odbc_debug = -1; #define SPEW(_t, _rc, _odbc)\ - { if ((_t) || _rpmodbc_debug ) \ + { if ((_t) || _odbc_debug ) \ fprintf(stderr, "<-- %s(%p) rc %d\n", __FUNCTION__, (_odbc), \ (_rc)); \ } /*==*/ -int rpmodbcConnect(rpmodbc odbc, +int odbcConnect(ODBC_t odbc, const char * db, const char * u, const char * pw) { int rc = -1; @@ -56,7 +56,7 @@ return rc; } -int rpmodbcDisconnect(rpmodbc odbc) +int odbcDisconnect(ODBC_t odbc) {
[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers rpmgit.c rpmgit.h tgit.c
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: 09-Mar-2012 16:51:58 Branch: rpm-5_4 Handle: 2012030915515700 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers rpmgit.c rpmgit.h tgit.c Log: - rpmgit: WIP. Summary: RevisionChanges Path 2.199.2.6 +12 -1 rpm/rpmio/librpmio.vers 2.1.2.8 +362 -8 rpm/rpmio/rpmgit.c 2.1.2.7 +37 -1 rpm/rpmio/rpmgit.h 1.1.2.4 +109 -5 rpm/rpmio/tgit.c patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.5 -r2.199.2.6 librpmio.vers --- rpm/rpmio/librpmio.vers 9 Mar 2012 01:21:45 - 2.199.2.5 +++ rpm/rpmio/librpmio.vers 9 Mar 2012 15:51:57 - 2.199.2.6 @@ -363,9 +363,20 @@ rpmGetMacroEntries; rpmGetPath; _rpmgit_debug; -rpmgitConfigPrint; +rpmgitAddFile; +rpmgitCommit; +rpmgitConfig; rpmgitInfo; +rpmgitInit; rpmgitNew; +rpmgitPrintCommit; +rpmgitPrintHead; +rpmgitPrintIndex; +rpmgitPrintOid; +rpmgitPrintRepo; +rpmgitPrintSig; +rpmgitPrintTime; +rpmgitPrintTree; rpmgitRead; rpmgitWalk; rpmgitWrite; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmgit.c $ cvs diff -u -r2.1.2.7 -r2.1.2.8 rpmgit.c --- rpm/rpmio/rpmgit.c9 Mar 2012 01:21:45 - 2.1.2.7 +++ rpm/rpmio/rpmgit.c9 Mar 2012 15:51:57 - 2.1.2.8 @@ -20,7 +20,7 @@ #include "debug.h" /*@unchecked@*/ -int _rpmgit_debug = -1; +int _rpmgit_debug = 0; #define SPEW(_t, _rc, _git) \ { if ((_t) || _rpmgit_debug ) \ @@ -87,14 +87,13 @@ } #define _ENTRY(_v) { GIT_IDXENTRY_##_v, #_v, } - /*@unchecked@*/ /*@observer@*/ static KEY IDXEflags[] = { _ENTRY(UPDATE), _ENTRY(REMOVE), _ENTRY(UPTODATE), _ENTRY(ADDED), -_ENTRY(HASHED), /* XXX not in DBENV->open() doco */ +_ENTRY(HASHED), _ENTRY(UNHASHED), _ENTRY(WT_REMOVE), _ENTRY(CONFLICTED), @@ -105,6 +104,7 @@ _ENTRY(SKIP_WORKTREE), _ENTRY(EXTENDED2), }; +#undef _ENTRY /*@unchecked@*/ static size_t nIDXEflags = sizeof(IDXEflags) / sizeof(IDXEflags[0]); /*@observer@*/ @@ -119,6 +119,29 @@ } #define _IDXFLAGS(_idxeflags) fmtIDXEflags(_idxeflags) +#define _ENTRY(_v) { GIT_REF_##_v, #_v, } +/*@unchecked@*/ /*@observer@*/ +static KEY REFflags[] = { +_ENTRY(OID), +_ENTRY(SYMBOLIC), +_ENTRY(PACKED), +_ENTRY(HAS_PEEL), +}; +#undef _ENTRY +/*@unchecked@*/ +static size_t nREFflags = sizeof(REFflags) / sizeof(REFflags[0]); +/*@observer@*/ +static const char * fmtREFflags(uint32_t flags) + /*@*/ +{ +static char buf[BUFSIZ]; +char * te = buf; +te = stpcpy(te, "\n\tflags: "); +(void) fmtBits(flags, REFflags, nREFflags, te); +return buf; +} +#define _REFFLAGS(_refflags)fmtREFflags(_refflags) + #endif /* defined(WITH_LIBGT2) */ /*==*/ @@ -126,6 +149,7 @@ static int Xchkgit(/*@unused@*/ rpmgit git, const char * msg, int error, int printit, const char * func, const char * fn, unsigned ln) + /*@*/ { int rc = error; @@ -140,35 +164,365 @@ #define chkgit(_git, _msg, _error) \ Xchkgit(_git, _msg, _error, _rpmgit_debug, __FUNCTION__, __FILE__, __LINE__) +#if defined(WITH_LIBGIT2) +void rpmgitPrintOid(const char * msg, const void * _oidp, void * _fp) +{ +FILE * fp = (_fp ? _fp : stderr); +const git_oid * oidp = _oidp; +char * t = git_oid_allocfmt(oidp); +git_oid_fmt(t, oidp); +if (msg) fprintf(fp, "%s:", msg); +fprintf(fp, " %s\n", t); +t = _free(t); +} + +void rpmgitPrintTime(const char * msg, time_t _Ctime, void * _fp) +{ +FILE * fp = (_fp ? _fp : stderr); +static const char _fmt[] = "%c"; +struct tm tm; +char _b[BUFSIZ]; +size_t _nb = sizeof(_b); +size_t nw = strftime(_b, _nb-1, _fmt, localtime_r(&_Ctime, &tm)); +(void)nw; +if (msg) fprintf(fp, "%s:", msg); +fprintf(fp, " %s\n", _b); +} + +void rpmgitPrintSig(const char * msg, const void * _S, void * _fp) +{ +FILE * fp = (_fp ? _fp : stderr); +const git_signat
[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers rpmgit.c rpmgit.h
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: 09-Mar-2012 02:21:45 Branch: rpm-5_4 Handle: 2012030901214500 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers rpmgit.c rpmgit.h Log: - rpmgit: haul out a load of trash. Summary: RevisionChanges Path 2.199.2.5 +1 -1 rpm/rpmio/librpmio.vers 2.1.2.7 +5 -3 rpm/rpmio/rpmgit.c 2.1.2.6 +16 -10 rpm/rpmio/rpmgit.h patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.4 -r2.199.2.5 librpmio.vers --- rpm/rpmio/librpmio.vers 7 Mar 2012 23:52:48 - 2.199.2.4 +++ rpm/rpmio/librpmio.vers 9 Mar 2012 01:21:45 - 2.199.2.5 @@ -363,7 +363,7 @@ rpmGetMacroEntries; rpmGetPath; _rpmgit_debug; -rpmgitConfig; +rpmgitConfigPrint; rpmgitInfo; rpmgitNew; rpmgitRead; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmgit.c $ cvs diff -u -r2.1.2.6 -r2.1.2.7 rpmgit.c --- rpm/rpmio/rpmgit.c8 Mar 2012 22:18:26 - 2.1.2.6 +++ rpm/rpmio/rpmgit.c9 Mar 2012 01:21:45 - 2.1.2.7 @@ -142,7 +142,7 @@ /*==*/ -static int rpmgitConfigPrint(const char * var_name, const char * value, +static int rpmgitConfigCB(const char * var_name, const char * value, void * _git) { rpmgit git = (rpmgit) _git; @@ -154,7 +154,7 @@ return rc; } -int rpmgitConfig(rpmgit git) +int rpmgitConfigPrint(rpmgit git) { int rc = -1; #if defined(WITH_LIBGIT2) @@ -163,7 +163,7 @@ git_repository_config((git_config **)&git->cfg, git->R)); rc = chkgit(git, "git_config_foreach", - git_config_foreach(git->cfg, rpmgitConfigPrint, git)); + git_config_foreach(git->cfg, rpmgitConfigCB, git)); #endif SPEW(0, rc, git); return rc; @@ -368,6 +368,8 @@ git->I = NULL; git->R = NULL; +git->user_email = _free(git->user_email); +git->user_name = _free(git->user_name); git->fn = _free(git->fn); } @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmgit.h $ cvs diff -u -r2.1.2.5 -r2.1.2.6 rpmgit.h --- rpm/rpmio/rpmgit.h8 Mar 2012 22:18:26 - 2.1.2.5 +++ rpm/rpmio/rpmgit.h9 Mar 2012 01:21:45 - 2.1.2.6 @@ -21,19 +21,25 @@ struct rpmgit_s { struct rpmioItem_s _item;/*!< usage mutex and pool identifier. */ const char * fn; + +int core_bare; +int core_repositoryformatversion; +const char * user_name; +const char * user_email; + int major; int minor; int rev; -void * R;/* git_repository * */ -void * I;/* git_index * */ -void * T;/* git_tree * */ -void * C;/* git_commit * */ -void * H;/* git_reference * */ - -void * cfg; /* git_config * */ -void * odb; /* git_odb * */ -void * walk; /* git_revwalk * */ +void * R;/*!< git_repository * */ +void * I;/*!< git_index * */ +void * T;/*!< git_tree * */ +void * C;/*!< git_commit * */ +void * H;/*!< git_reference * */ + +void * cfg; /*!< git_config * */ +void * odb; /*!< git_odb * */ +void * walk; /*!< git_revwalk * */ #ifdef NOTYET const void * Cauthor; @@ -99,7 +105,7 @@ /*@globals fileSystem, internalState @*/ /*@modifies fileSystem, internalState @*/; -int rpmgitConfig(rpmgit git); +int rpmgitConfigPrint(rpmgit git); int rpmgitInfo(rpmgit git); int rpmgitTree(rpmgit git); int rpmgitWalk(rpmgit git); @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm-5_4: rpm/rpmio/ librpmio.vers rpmgit.c rpmgit.h rpmsvn....
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: 04-Mar-2012 16:46:22 Branch: rpm-5_4 Handle: 2012030415462100 Modified files: (Branch: rpm-5_4) rpm/rpmio librpmio.vers rpmgit.c rpmgit.h rpmsvn.c rpmsvn.h tgit.c Log: - rpmsvn: ditto. - rpmgit: exploratory work with -lgit2. Summary: RevisionChanges Path 2.199.2.2 +5 -0 rpm/rpmio/librpmio.vers 2.1.2.3 +332 -5 rpm/rpmio/rpmgit.c 2.1.2.3 +22 -10 rpm/rpmio/rpmgit.h 2.1.2.3 +26 -2 rpm/rpmio/rpmsvn.c 2.1.2.3 +3 -9 rpm/rpmio/rpmsvn.h 1.1.2.2 +6 -0 rpm/rpmio/tgit.c patch -p0 <<'@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199.2.1 -r2.199.2.2 librpmio.vers --- rpm/rpmio/librpmio.vers 3 Apr 2011 22:13:17 - 2.199.2.1 +++ rpm/rpmio/librpmio.vers 4 Mar 2012 15:46:21 - 2.199.2.2 @@ -363,7 +363,12 @@ rpmGetMacroEntries; rpmGetPath; _rpmgit_debug; +rpmgitConfig; +rpmgitInfo; rpmgitNew; +rpmgitRead; +rpmgitWalk; +rpmgitWrite; rpmGlob; rpmGlobalMacroContext; _rpmhkpI; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmgit.c $ cvs diff -u -r2.1.2.2 -r2.1.2.3 rpmgit.c --- rpm/rpmio/rpmgit.c29 Feb 2012 14:02:33 - 2.1.2.2 +++ rpm/rpmio/rpmgit.c4 Mar 2012 15:46:21 - 2.1.2.3 @@ -8,6 +8,7 @@ #include/* for *Pool methods */ #include #include +#include #if defined(HAVE_GIT2_H) #include @@ -21,18 +22,342 @@ /*@unchecked@*/ int _rpmgit_debug = 0; +#define SPEW(_t, _rc, _git) \ + { if ((_t) || _rpmgit_debug ) \ + fprintf(stderr, "<-- %s(%p) rc %d\n", __FUNCTION__, (_git), \ + (_rc)); \ + } + +/*==*/ +/*@-redef@*/ +typedef struct key_s { +uint32_t v; +/*@observer@*/ +const char *n; +} KEY; +/*@=redef@*/ + +/*@observer@*/ +static const char * tblName(uint32_t v, KEY * tbl, size_t ntbl) + /*@*/ +{ +const char * n = NULL; +static char buf[32]; +size_t i; + +for (i = 0; i < ntbl; i++) { + if (v != tbl[i].v) + continue; + n = tbl[i].n; + break; +} +if (n == NULL) { + (void) snprintf(buf, sizeof(buf), "0x%x", (unsigned)v); + n = buf; +} +return n; +} + +static const char * fmtBits(uint32_t flags, KEY tbl[], size_t ntbl, char *t) + /*@modifies t @*/ +{ +char pre = '<'; +char * te = t; +int i; + +sprintf(t, "0x%x", (unsigned)flags); +te = t; +te += strlen(te); +for (i = 0; i < 32; i++) { + uint32_t mask = (1 << i); + const char * name; + + if (!(flags & mask)) + continue; + + name = tblName(mask, tbl, ntbl); + *te++ = pre; + pre = ','; + te = stpcpy(te, name); +} +if (pre == ',') *te++ = '>'; +*te = '\0'; +return t; +} + +#define _ENTRY(_v) { GIT_IDXENTRY_##_v, #_v, } + +/*@unchecked@*/ /*@observer@*/ +static KEY IDXEflags[] = { +_ENTRY(UPDATE), +_ENTRY(REMOVE), +_ENTRY(UPTODATE), +_ENTRY(ADDED), +_ENTRY(HASHED), /* XXX not in DBENV->open() doco */ +_ENTRY(UNHASHED), +_ENTRY(WT_REMOVE), +_ENTRY(CONFLICTED), +_ENTRY(UNPACKED), +_ENTRY(NEW_SKIP_WORKTREE), + +_ENTRY(INTENT_TO_ADD), +_ENTRY(SKIP_WORKTREE), +_ENTRY(EXTENDED2), +}; +/*@unchecked@*/ +static size_t nIDXEflags = sizeof(IDXEflags) / sizeof(IDXEflags[0]); +/*@observer@*/ +static const char * fmtIDXEflags(uint32_t flags) + /*@*/ +{ +static char buf[BUFSIZ]; +char * te = buf; +te = stpcpy(te, "\n\tflags: "); +(void) fmtBits(flags, IDXEflags, nIDXEflags, te); +return buf; +} +#define _IDXFLAGS(_idxeflags) fmtIDXEflags(_idxeflags) + +/*==*/ + +static int Xchkgit(/*@unused@*/ rpmgit git, const char * msg, +int error, int printit, +const char * func, const char * fn, unsigned ln) +{ +int rc = error; + +if (printit && rc) { + /* XXX git_strerror? */ +rpmlog(RPMLOG_ERR, "%s:%s:%u: %s(%d)\n", +