RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  ____________________________________________________________________________

  Server: rpm5.org                         Name:   Per Øyvind Karlsen
  Root:   /v/rpm/cvs                       Email:  pkarl...@rpm5.org
  Module: rpm                              Date:   27-Jan-2011 19:26:55
  Branch: rpm-5_3                          Handle: 2011012718265400

  Modified files:           (Branch: rpm-5_3)
    rpm                     CHANGES
    rpm/python              header-py.c header-py.h rpmmodule.c

  Log:
    python: export rpmEVRparse() & rpmEVRcompare() in evrSplit() &
    evrcompare()

  Summary:
    Revision    Changes     Path
    1.3296.2.156+2  -0      rpm/CHANGES
    1.110.2.3   +38 -0      rpm/python/header-py.c
    1.18.4.1    +10 -0      rpm/python/header-py.h
    1.177.4.4   +4  -0      rpm/python/rpmmodule.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/CHANGES
  ============================================================================
  $ cvs diff -u -r1.3296.2.155 -r1.3296.2.156 CHANGES
  --- rpm/CHANGES       27 Jan 2011 17:30:05 -0000      1.3296.2.155
  +++ rpm/CHANGES       27 Jan 2011 18:26:54 -0000      1.3296.2.156
  @@ -1,4 +1,6 @@
   5.3.7 -> 5.3.8:
  +    - proyvind: python: export rpmEVRparse() & rpmEVRcompare() in evrSplit() 
&
  +     evrCompare().
       - proyvind: fix return code for ignored signals breaking ie. rpmbuild 
with
        gnome-terminal (mdvbz#62262)
       - proyvind: add tools/dbconvert for rpmdb conversion to/from hash/btree &
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/python/header-py.c
  ============================================================================
  $ cvs diff -u -r1.110.2.2 -r1.110.2.3 header-py.c
  --- rpm/python/header-py.c    27 Jan 2011 18:18:29 -0000      1.110.2.2
  +++ rpm/python/header-py.c    27 Jan 2011 18:26:54 -0000      1.110.2.3
  @@ -968,3 +968,41 @@
   
       return Py_BuildValue("i", rc);
   }
  +
  +PyObject * evrCompare (PyObject * self, PyObject * args,
  +             PyObject * kwds)
  +{
  +    EVR_t lEVR = rpmEVRnew(RPMSENSE_EQUAL, 0),
  +       rEVR = rpmEVRnew(RPMSENSE_EQUAL, 0);
  +    int rc;
  +    char * evr1, * evr2;
  +    char * kwlist[] = {"evr0", "evr1", NULL};
  +
  +    if (!PyArg_ParseTupleAndKeywords(args, kwds, "ss", kwlist, &evr1, &evr2))
  +     return NULL;
  +
  +    rpmEVRparse(evr1, lEVR);
  +    rpmEVRparse(evr2, rEVR);
  +    rc = rpmEVRcompare(lEVR, rEVR);
  +    lEVR = rpmEVRfree(lEVR);
  +    rEVR = rpmEVRfree(rEVR);
  +
  +    return PyLong_FromLong(rc);
  +}
  +
  +PyObject * evrSplit (PyObject * self, PyObject * args, PyObject * kwds)
  +{
  +    EVR_t EVR = rpmEVRnew(RPMSENSE_EQUAL, 0);
  +    char * evr;
  +    char * kwlist[] = {"evr", NULL};
  +    PyObject * tuple;
  +
  +    if (!PyArg_ParseTupleAndKeywords(args, kwds, "s", kwlist, &evr))
  +     return NULL;
  +
  +    rpmEVRparse(evr, EVR);
  +    tuple = Py_BuildValue("(Isss)", EVR->F[RPMEVR_E] ? 
atoi(EVR->F[RPMEVR_E]) : 0, EVR->F[RPMEVR_V], EVR->F[RPMEVR_R], 
EVR->F[RPMEVR_D]);
  +    EVR = rpmEVRfree(EVR);
  +
  +    return tuple;
  +}
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/python/header-py.h
  ============================================================================
  $ cvs diff -u -r1.18 -r1.18.4.1 header-py.h
  --- rpm/python/header-py.h    8 Dec 2008 01:20:02 -0000       1.18
  +++ rpm/python/header-py.h    27 Jan 2011 18:26:54 -0000      1.18.4.1
  @@ -42,6 +42,16 @@
   
   /** \ingroup py_c
    */
  +PyObject * evrSplit (PyObject * self, PyObject * args, PyObject * kwds)
  +     /*@*/;
  +
  +/** \ingroup py_c
  + */
  +PyObject * evrCompare (PyObject * self, PyObject * args, PyObject * kwds)
  +     /*@*/;
  +
  +/** \ingroup py_c
  + */
   PyObject * labelCompare (PyObject * self, PyObject * args)
        /*@*/;
   
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/python/rpmmodule.c
  ============================================================================
  $ cvs diff -u -r1.177.4.3 -r1.177.4.4 rpmmodule.c
  --- rpm/python/rpmmodule.c    2 Dec 2010 16:43:47 -0000       1.177.4.3
  +++ rpm/python/rpmmodule.c    27 Jan 2011 18:26:54 -0000      1.177.4.4
  @@ -256,6 +256,10 @@
        NULL },
       { "labelCompare", (PyCFunction) labelCompare, METH_VARARGS|METH_KEYWORDS,
        NULL },
  +    { "evrCompare", (PyCFunction) evrCompare, METH_VARARGS|METH_KEYWORDS,
  +     NULL },
  +    { "evrSplit", (PyCFunction) evrSplit, METH_VARARGS|METH_KEYWORDS,
  +     NULL },
       { "setVerbosity", (PyCFunction) setVerbosity, METH_VARARGS|METH_KEYWORDS,
        NULL },
       { "setEpochPromote", (PyCFunction) setEpochPromote, 
METH_VARARGS|METH_KEYWORDS,
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                rpm-cvs@rpm5.org

Reply via email to