[Rpm-maint] [PATCH] Add __version__ and __version_info__ to python module

james at fedoraproject.org james at fedoraproject.org
Sat May 1 01:17:48 UTC 2010


From: James Antill <james at and.org>

---
 python/Makefile.am        |    6 +++
 python/rpm/__init__.py    |   75 -------------------------------------------
 python/rpm/__init__.py.in |   78 +++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 84 insertions(+), 75 deletions(-)
 delete mode 100644 python/rpm/__init__.py
 create mode 100644 python/rpm/__init__.py.in

diff --git a/python/Makefile.am b/python/Makefile.am
index f50c103..1a96642 100644
--- a/python/Makefile.am
+++ b/python/Makefile.am
@@ -11,6 +11,12 @@ AM_CPPFLAGS += -I at WITH_PYTHON_INCLUDE@
 pkgpyexec_LTLIBRARIES = _rpmmodule.la _rpmbmodule.la
 pkgpyexec_DATA = rpm/__init__.py rpm/transaction.py
 
+rpm/__init__.py: rpm/__init__.py.in
+	@$(SED) \
+	  -e "s,[@]VERSION[@],$(VERSION),g" \
+	  < $(top_srcdir)/$(subdir)/rpm/__init__.py.in > rpm/__init__.py
+CLEANFILES = rpm/__init__.py
+
 _rpmmodule_la_LDFLAGS = -module -avoid-version
 _rpmmodule_la_LIBADD = \
 	$(top_builddir)/lib/librpm.la \
diff --git a/python/rpm/__init__.py b/python/rpm/__init__.py
deleted file mode 100644
index b7021ce..0000000
--- a/python/rpm/__init__.py
+++ /dev/null
@@ -1,75 +0,0 @@
-r"""RPM Module
-
-This module enables you to manipulate rpms and the rpm database.
-
-"""
-
-import warnings
-import os
-from rpm._rpm import *
-from rpm.transaction import *
-import rpm._rpm as _rpm
-_RPMVSF_NODIGESTS = _rpm._RPMVSF_NODIGESTS
-_RPMVSF_NOHEADER = _rpm._RPMVSF_NOHEADER
-_RPMVSF_NOPAYLOAD = _rpm._RPMVSF_NOPAYLOAD
-_RPMVSF_NOSIGNATURES = _rpm._RPMVSF_NOSIGNATURES
-
-# try to import build bits but dont require it
-try:
-    from rpm._rpmb import *
-except ImportError:
-    pass
-
-# backwards compatibility + give the same class both ways
-ts = TransactionSet
-
-def headerLoad(*args, **kwds):
-    warnings.warn("Use rpm.hdr() instead.", DeprecationWarning, stacklevel=2)
-    return hdr(*args, **kwds)
-
-def _doHeaderListFromFD(rpm_fd, retrofit):
-    hlist = []
-    while 1:
-        try:
-            h = hdr(rpm_fd)
-            if retrofit:
-                h.convert(HEADERCONV_RETROFIT_V3)
-            hlist.append(h)
-        except _rpm.error:
-            break
-
-    return hlist
-
-def readHeaderListFromFD(file_desc, retrofit = True):
-    if not isinstance(file_desc, fd):
-        file_desc = fd(file_desc)
-    return _doHeaderListFromFD(file_desc, retrofit)
-        
-def readHeaderListFromFile(path, retrofit = True):
-    f = fd(path)
-    hlist = _doHeaderListFromFD(f, retrofit)
-    f.close()
-    return hlist
-    
-def readHeaderFromFD(file_desc):
-    if not isinstance(file_desc, fd):
-        file_desc = fd(file_desc)
-    try:
-        offset = file_desc.tell()
-        h = hdr(file_desc)
-    except (_rpm.error, IOError):
-        offset = None
-        h = None
-
-    return (h, offset)
-
-def signalsCaught(siglist):
-    caught = []
-    for sig in siglist:
-        if signalCaught(sig):
-            caught.append(sig)
-
-    return caught
-
-def dsSingle(TagN, N, EVR = "", Flags = RPMSENSE_ANY):
-    return ds((N, EVR, Flags), TagN)
diff --git a/python/rpm/__init__.py.in b/python/rpm/__init__.py.in
new file mode 100644
index 0000000..627ebf9
--- /dev/null
+++ b/python/rpm/__init__.py.in
@@ -0,0 +1,78 @@
+r"""RPM Module
+
+This module enables you to manipulate rpms and the rpm database.
+
+"""
+
+import warnings
+import os
+from rpm._rpm import *
+from rpm.transaction import *
+import rpm._rpm as _rpm
+_RPMVSF_NODIGESTS = _rpm._RPMVSF_NODIGESTS
+_RPMVSF_NOHEADER = _rpm._RPMVSF_NOHEADER
+_RPMVSF_NOPAYLOAD = _rpm._RPMVSF_NOPAYLOAD
+_RPMVSF_NOSIGNATURES = _rpm._RPMVSF_NOSIGNATURES
+
+__version__ = "@VERSION@"
+__version_info__ = __version__.split('.')
+
+# try to import build bits but dont require it
+try:
+    from rpm._rpmb import *
+except ImportError:
+    pass
+
+# backwards compatibility + give the same class both ways
+ts = TransactionSet
+
+def headerLoad(*args, **kwds):
+    warnings.warn("Use rpm.hdr() instead.", DeprecationWarning, stacklevel=2)
+    return hdr(*args, **kwds)
+
+def _doHeaderListFromFD(rpm_fd, retrofit):
+    hlist = []
+    while 1:
+        try:
+            h = hdr(rpm_fd)
+            if retrofit:
+                h.convert(HEADERCONV_RETROFIT_V3)
+            hlist.append(h)
+        except _rpm.error:
+            break
+
+    return hlist
+
+def readHeaderListFromFD(file_desc, retrofit = True):
+    if not isinstance(file_desc, fd):
+        file_desc = fd(file_desc)
+    return _doHeaderListFromFD(file_desc, retrofit)
+        
+def readHeaderListFromFile(path, retrofit = True):
+    f = fd(path)
+    hlist = _doHeaderListFromFD(f, retrofit)
+    f.close()
+    return hlist
+    
+def readHeaderFromFD(file_desc):
+    if not isinstance(file_desc, fd):
+        file_desc = fd(file_desc)
+    try:
+        offset = file_desc.tell()
+        h = hdr(file_desc)
+    except (_rpm.error, IOError):
+        offset = None
+        h = None
+
+    return (h, offset)
+
+def signalsCaught(siglist):
+    caught = []
+    for sig in siglist:
+        if signalCaught(sig):
+            caught.append(sig)
+
+    return caught
+
+def dsSingle(TagN, N, EVR = "", Flags = RPMSENSE_ANY):
+    return ds((N, EVR, Flags), TagN)
-- 
1.7.0.1



More information about the Rpm-maint mailing list