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:05
  Branch: rpm-5_4                          Handle: 2011012718260301

  Modified files:           (Branch: rpm-5_4)
    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.3501.2.54 +2  -0      rpm/CHANGES
    1.110.4.3   +38 -0      rpm/python/header-py.c
    1.18.6.1    +10 -0      rpm/python/header-py.h
    1.180.2.1   +4  -0      rpm/python/rpmmodule.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/CHANGES
  ============================================================================
  $ cvs diff -u -r1.3501.2.53 -r1.3501.2.54 CHANGES
  --- rpm/CHANGES       27 Jan 2011 17:29:45 -0000      1.3501.2.53
  +++ rpm/CHANGES       27 Jan 2011 18:26:04 -0000      1.3501.2.54
  @@ -1,4 +1,6 @@
   5.4.0 -> 5.4.1:
  +    - 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.4.2 -r1.110.4.3 header-py.c
  --- rpm/python/header-py.c    27 Jan 2011 18:17:28 -0000      1.110.4.2
  +++ rpm/python/header-py.c    27 Jan 2011 18:26:03 -0000      1.110.4.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.6.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:03 -0000      1.18.6.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.180 -r1.180.2.1 rpmmodule.c
  --- rpm/python/rpmmodule.c    1 Dec 2010 16:46:03 -0000       1.180
  +++ rpm/python/rpmmodule.c    27 Jan 2011 18:26:03 -0000      1.180.2.1
  @@ -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