RPM Community Forums

Mailing List Message of <rpm-cvs>

[CVS] RPM: rpm/ CHANGES rpm/python/ Makefile.am rpmdebug-py.c rpmmacro...

From: Jeff Johnson <jbj@rpm5.org>
Date: Mon 03 Dec 2007 - 20:09:29 CET
Message-Id: <20071203190929.2C55D34845C@rpm5.org>
  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  ____________________________________________________________________________

  Server: rpm5.org                         Name:   Jeff Johnson
  Root:   /v/rpm/cvs                       Email:  jbj@rpm5.org
  Module: rpm                              Date:   03-Dec-2007 20:09:29
  Branch: HEAD                             Handle: 2007120319092800

  Added files:
    rpm/python              rpmmacro-py.c rpmmacro-py.h
  Modified files:
    rpm                     CHANGES
    rpm/python              Makefile.am rpmdebug-py.c rpmmodule.c
  Removed files:
    rpm/python              rpmrc-py.c rpmrc-py.h

  Log:
    - rpm.org: Lose the useless rpmrc python stuff, group macro handling
    to rpmmacro-py.

  Summary:
    Revision    Changes     Path
    1.1923      +1  -0      rpm/CHANGES
    1.77        +6  -6      rpm/python/Makefile.am
    1.11        +0  -2      rpm/python/rpmdebug-py.c
    1.1         +165 -0     rpm/python/rpmmacro-py.c
    1.1         +49 -0      rpm/python/rpmmacro-py.h
    1.159       +5  -15     rpm/python/rpmmodule.c
    1.23        +0  -519    rpm/python/rpmrc-py.c
    1.12        +0  -75     rpm/python/rpmrc-py.h
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/CHANGES
  ============================================================================
  $ cvs diff -u -r1.1922 -r1.1923 CHANGES
  --- rpm/CHANGES	3 Dec 2007 18:51:57 -0000	1.1922
  +++ rpm/CHANGES	3 Dec 2007 19:09:28 -0000	1.1923
  @@ -1,4 +1,5 @@
   5.0a4 -> 5.0b1:
  +    - rpm.org: Lose the useless rpmrc python stuff, group macro handling to rpmmacro-py.
       - rpm.org: rpmpgp doxygen tagging.
       - rpm.org: Add bunch of missing rpmts doxygen groupings.
       - rpm.org: Move file state defs to rpmfi where they logically belong.
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/python/Makefile.am
  ============================================================================
  $ cvs diff -u -r1.76 -r1.77 Makefile.am
  --- rpm/python/Makefile.am	11 Nov 2007 15:05:19 -0000	1.76
  +++ rpm/python/Makefile.am	3 Dec 2007 19:09:28 -0000	1.77
  @@ -27,7 +27,7 @@
   
   noinst_HEADERS = header-py.h \
   	rpmal-py.h rpmds-py.h rpmdb-py.h rpmfd-py.h rpmfts-py.h \
  -	rpmfi-py.h rpmmi-py.h rpmps-py.h rpmrc-py.h rpmte-py.h rpmts-py.h \
  +	rpmfi-py.h rpmmacro-py.h rpmmi-py.h rpmps-py.h rpmte-py.h rpmts-py.h \
   	spec-py.h
   
   mylibs = \
  @@ -48,17 +48,17 @@
   _rpmmodule_la_LIBADD =
   
   _rpmmodule_la_SOURCES = rpmmodule.c header-py.c \
  -		       rpmal-py.c rpmds-py.c rpmdb-py.c rpmfd-py.c rpmfts-py.c \
  -		       rpmfi-py.c rpmmi-py.c rpmps-py.c rpmrc-py.c rpmte-py.c \
  -		       rpmts-py.c spec-py.c
  +			rpmal-py.c rpmds-py.c rpmdb-py.c rpmfd-py.c rpmfts-py.c\
  +			rpmfi-py.c rpmmacro-py.c rpmmi-py.c rpmps-py.c \
  +			rpmte-py.c rpmts-py.c spec-py.c
   
   # rpmmodule.c header-py.c \
   # 	rpmal-py.c rpmds-py.c rpmdb-py.c rpmfd-py.c rpmfi-py.c rpmmi-py.c \
  -# 	rpmps-py.c rpmrc-py.c rpmte-py.c rpmts-py.c
  +# 	rpmmacro-py.c rpmps-py.c rpmte-py.c rpmts-py.c
   # rpmmodule.c header-py.c
   splint_srcs = \
    	rpmal-py.c rpmds-py.c rpmdb-py.c rpmfd-py.c rpmfts-py.c \
  -	rpmfi-py.c rpmmi-py.c rpmps-py.c rpmrc-py.c rpmte-py.c rpmts-py.c \
  +	rpmfi-py.c rpmmacro-py.c rpmmi-py.c rpmps-py.c rpmte-py.c rpmts-py.c \
   	spec-py.c
   
   .PHONY:	lint
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/python/rpmdebug-py.c
  ============================================================================
  $ cvs diff -u -r1.10 -r1.11 rpmdebug-py.c
  --- rpm/python/rpmdebug-py.c	9 Nov 2004 06:59:34 -0000	1.10
  +++ rpm/python/rpmdebug-py.c	3 Dec 2007 19:09:28 -0000	1.11
  @@ -16,7 +16,6 @@
   #include "rpmfts-py.h"	/* XXX debug only */
   #include "rpmmi-py.h"	/* XXX debug only */
   #include "rpmps-py.h"	/* XXX debug only */
  -#include "rpmrc-py.h"	/* XXX debug only */
   #include "rpmte-py.h"	/* XXX debug only */
   #include "rpmts-py.h"	/* XXX debug only */
   
  @@ -79,7 +78,6 @@
       if (o->ob_type == &rpmfts_Type)	return "rpmfts";
       if (o->ob_type == &rpmmi_Type)	return "rpmmi";
       if (o->ob_type == &rpmps_Type)	return "rpmps";
  -    if (o->ob_type == &rpmrc_Type)	return "rpmrc";
       if (o->ob_type == &rpmte_Type)	return "rpmte";
       if (o->ob_type == &rpmts_Type)	return "rpmts";
   
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/python/rpmmacro-py.c
  ============================================================================
  $ cvs diff -u -r0 -r1.1 rpmmacro-py.c
  --- /dev/null	2007-12-03 20:07:17 +0100
  +++ rpmmacro-py.c	2007-12-03 20:09:28 +0100
  @@ -0,0 +1,165 @@
  +/** \ingroup py_c
  + * \file python/rpmrc-py.c
  + */
  +
  +#include "system.h"
  +
  +#include "structmember.h"
  +
  +#include <rpmio.h>
  +#include <rpmmacro.h>
  +
  +#include "rpmdebug-py.c"
  +#include "rpmmacro-py.h"
  +
  +#include "debug.h"
  +
  +/** \ingroup python
  + * \class Rpmmacro
  + * \brief A python rpm.macro object encapsulates macro configuration.
  + */
  +
  +/** \ingroup python
  + * \name Class: Rpmmacro
  + */
  +/*@{*/
  +
  +/**
  + */
  +PyObject *
  +rpmmacro_AddMacro(/*@unused@*/ PyObject * self, PyObject * args, PyObject * kwds)
  +{
  +    char * name, * val;
  +    char * kwlist[] = {"name", "value", NULL};
  +
  +    if (!PyArg_ParseTupleAndKeywords(args, kwds, "ss:AddMacro", kwlist,
  +	    &name, &val))
  +	return NULL;
  +
  +    addMacro(NULL, name, NULL, val, -1);
  +
  +    Py_INCREF(Py_None);
  +    return Py_None;
  +}
  +
  +/**
  + */
  +PyObject *
  +rpmmacro_DelMacro(/*@unused@*/ PyObject * self, PyObject * args, PyObject * kwds)
  +{
  +    char * name;
  +    char * kwlist[] = {"name", NULL};
  +
  +    if (!PyArg_ParseTupleAndKeywords(args, kwds, "s:DelMacro", kwlist, &name))
  +	return NULL;
  +
  +    delMacro(NULL, name);
  +
  +    Py_INCREF(Py_None);
  +    return Py_None;
  +}
  +
  +/**
  + */
  +PyObject *
  +rpmmacro_ExpandMacro(/*@unused@*/PyObject * self, PyObject * args, PyObject * kwds)
  +{
  +    char * macro;
  +    char * kwlist[] = {"macro", NULL};
  +
  +    if (!PyArg_ParseTupleAndKeywords(args, kwds, "s:ExpandMacro", kwlist, &macro))
  +	return NULL;
  +
  +    return Py_BuildValue("s", rpmExpand(macro, NULL));
  +}
  +
  +/**
  + */
  +PyObject *
  +rpmmacro_GetMacros(/*@unused@*/ PyObject * self, PyObject * args, PyObject * kwds)
  +{
  +    char * kwlist[] = { NULL };
  +    PyObject * mdict;
  +    PyObject *oo, *bo;
  +    const char ** av = NULL;
  +    int ac = 0;
  +    int i;
  +
  +    if (!PyArg_ParseTupleAndKeywords(args, kwds, ":GetMacros", kwlist))
  +	return NULL;
  +
  +    mdict = PyDict_New();
  +    ac = rpmGetMacroEntries(NULL, NULL, -1, &av);
  +    if (mdict == NULL || ac < 0 || av == NULL) {
  +	PyErr_SetString(pyrpmError, "out of memory");
  +	return NULL;
  +    }
  +
  +    if (ac == 0) {
  +	av = argvFree(av);
  +	return mdict;
  +    }
  +
  +    oo = PyString_FromString("opts");
  +    bo = PyString_FromString("body");
  +
  +    if (oo != NULL && bo != NULL)
  +    for (i = 0; i < ac; i++) {
  +	char *n, *o, *b;
  +	PyObject *ndo, *no, *vo;
  +	int failed = 0;
  +
  +	/* Parse out "%name(opts)\tbody" into n/o/b strings. */
  +	n = (char *) av[i];
  +	b = strchr(n, '\t');
  +assert(b != NULL);
  +	o = ((b > n && b[-1] == ')') ? strchr(n, '(') : NULL);
  +	if (*n == '%')	n++;
  +	if (o != NULL && *o == '(') {
  +	    b[-1] = '\0';
  +	    o++;
  +	}
  +	b++;
  +
  +	/* Create a "name" dictionary, add "opts" and "body" items. */
  +	no = PyString_FromString(n);
  +	if (no == NULL)
  +	    break;
  +
  +	ndo = PyDict_New();
  +	if (ndo == NULL) {
  +	    Py_DECREF(no);
  +	    break;
  +	}
  +	PyDict_SetItem(mdict, no, ndo);
  +	Py_DECREF(ndo);
  +
  +	if (o) {
  +	    if ((vo = PyString_FromString(o)) != NULL)
  +		PyDict_SetItem(ndo, oo, vo);
  +	    else
  +		failed = 1;
  +	    Py_XDECREF(vo);
  +	}
  +
  +	if (b) {
  +	    if ((vo = PyString_FromString(b)) != NULL)
  +		PyDict_SetItem(ndo, bo, vo);
  +	    else
  +		failed = 1;
  +	    Py_XDECREF(vo);
  +	}
  +
  +	if (failed)
  +	    PyDict_DelItem(mdict, no);
  +	Py_DECREF(no);
  +    }
  +
  +   Py_XDECREF(oo);
  +   Py_XDECREF(bo);
  +
  +   av = argvFree(av);
  +   return mdict;
  +}
  +
  +/*@}*/
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/python/rpmmacro-py.h
  ============================================================================
  $ cvs diff -u -r0 -r1.1 rpmmacro-py.h
  --- /dev/null	2007-12-03 20:07:17 +0100
  +++ rpmmacro-py.h	2007-12-03 20:09:28 +0100
  @@ -0,0 +1,49 @@
  +#ifndef H_RPMMACRO_PY
  +#define H_RPMMACRO_PY
  +
  +/** \ingroup py_c
  + * \file python/rpmmacro-py.h
  + */
  +
  +/** \name Type: _rpm.macro */
  +/*@{*/
  +
  +#ifdef __cplusplus
  +extern "C" {
  +#endif
  +
  +/** \ingroup py_c
  + */
  +/*@null@*/
  +PyObject * rpmmacro_AddMacro(PyObject * self, PyObject * args, PyObject * kwds)
  +	/*@globals rpmGlobalMacroContext, _Py_NoneStruct @*/
  +	/*@modifies rpmGlobalMacroContext, _Py_NoneStruct @*/;
  +
  +/** \ingroup py_c
  + */
  +/*@null@*/
  +PyObject * rpmmacro_DelMacro(PyObject * self, PyObject * args, PyObject * kwds)
  +	/*@globals rpmGlobalMacroContext, _Py_NoneStruct @*/
  +	/*@modifies rpmGlobalMacroContext, _Py_NoneStruct @*/;
  +
  +/** \ingroup py_c
  + */
  +/*@null@*/
  +PyObject * rpmmacro_ExpandMacro(PyObject * self, PyObject * args, PyObject * kwds)
  +	/*@globals rpmGlobalMacroContext, _Py_NoneStruct @*/
  +	/*@modifies rpmGlobalMacroContext, _Py_NoneStruct @*/;
  +
  +/** \ingroup py_c
  + */
  +/*@null@*/
  +PyObject * rpmmacro_GetMacros(PyObject * self, PyObject * args, PyObject * kwds)
  +	/*@globals rpmGlobalMacroContext, _Py_NoneStruct @*/
  +	/*@modifies rpmGlobalMacroContext, _Py_NoneStruct @*/;
  +
  +#ifdef __cplusplus      
  +}
  +#endif
  +
  +/*@}*/
  +
  +#endif
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/python/rpmmodule.c
  ============================================================================
  $ cvs diff -u -r1.158 -r1.159 rpmmodule.c
  --- rpm/python/rpmmodule.c	24 Nov 2007 21:01:44 -0000	1.158
  +++ rpm/python/rpmmodule.c	3 Dec 2007 19:09:28 -0000	1.159
  @@ -20,9 +20,9 @@
   #include "rpmfd-py.h"
   #include "rpmfts-py.h"
   #include "rpmfi-py.h"
  +#include "rpmmacro-py.h"
   #include "rpmmi-py.h"
   #include "rpmps-py.h"
  -#include "rpmrc-py.h"
   #include "rpmte-py.h"
   #include "rpmts-py.h"
   #include "spec-py.h"
  @@ -170,17 +170,13 @@
   "rpm.TransactionSet([rootDir, [db]]) -> ts\n\
   - Create a transaction set.\n" },
   
  -#if Py_TPFLAGS_HAVE_ITER        /* XXX backport to python-1.5.2 */
  -    { "newrc", (PyCFunction) rpmrc_Create, METH_VARARGS|METH_KEYWORDS,
  -	NULL },
  -#endif
  -    { "addMacro", (PyCFunction) rpmrc_AddMacro, METH_VARARGS|METH_KEYWORDS,
  +    { "addMacro", (PyCFunction) rpmmacro_AddMacro, METH_VARARGS|METH_KEYWORDS,
   	NULL },
  -    { "delMacro", (PyCFunction) rpmrc_DelMacro, METH_VARARGS|METH_KEYWORDS,
  +    { "delMacro", (PyCFunction) rpmmacro_DelMacro, METH_VARARGS|METH_KEYWORDS,
   	NULL },
  -    { "expandMacro", (PyCFunction)rpmrc_ExpandMacro, METH_VARARGS|METH_KEYWORDS,
  +    { "expandMacro", (PyCFunction)rpmmacro_ExpandMacro, METH_VARARGS|METH_KEYWORDS,
   	NULL },
  -    { "getMacros", (PyCFunction) rpmrc_GetMacros, METH_VARARGS|METH_KEYWORDS,
  +    { "getMacros", (PyCFunction) rpmmacro_GetMacros, METH_VARARGS|METH_KEYWORDS,
   	NULL },
   
       { "signalsCaught", (PyCFunction) signalsCaught, METH_O,
  @@ -250,9 +246,6 @@
       if (PyType_Ready(&rpmmi_Type) < 0) return;
       if (PyType_Ready(&rpmps_Type) < 0) return;
   
  -    rpmrc_Type.tp_base = &PyDict_Type;
  -    if (PyType_Ready(&rpmrc_Type) < 0) return;
  -
       if (PyType_Ready(&rpmte_Type) < 0) return;
       if (PyType_Ready(&rpmts_Type) < 0) return;
       if (PyType_Ready(&spec_Type) < 0) return;
  @@ -308,9 +301,6 @@
       Py_INCREF(&rpmps_Type);
       PyModule_AddObject(m, "ps", (PyObject *) &rpmps_Type);
   
  -    Py_INCREF(&rpmrc_Type);
  -    PyModule_AddObject(m, "rc", (PyObject *) &rpmrc_Type);
  -
       Py_INCREF(&rpmte_Type);
       PyModule_AddObject(m, "te", (PyObject *) &rpmte_Type);
   
  @@ .
  rm -f rpm/python/rpmrc-py.c <<'@@ .'
  Index: rpm/python/rpmrc-py.c
  ============================================================================
  [NO CHANGE SUMMARY BECAUSE FILE AS A WHOLE IS JUST REMOVED]
  @@ .
  rm -f rpm/python/rpmrc-py.h <<'@@ .'
  Index: rpm/python/rpmrc-py.h
  ============================================================================
  [NO CHANGE SUMMARY BECAUSE FILE AS A WHOLE IS JUST REMOVED]
  @@ .
Received on Mon Dec 3 20:09:29 2007
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.