[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