backend/common/rhn_rpm.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-)
New commits: commit 9ac877df3528140cb5c583e1e1779b2d3574c7bf Author: Pradeep Kilambi pkilambi@redhat.com Date: Thu Apr 2 15:50:02 2009 -0400
493583 - fixing the rhnpush to call old rpm libraries for RHEL-4
diff --git a/backend/common/rhn_rpm.py b/backend/common/rhn_rpm.py index 93b87d5..3b622e6 100644 --- a/backend/common/rhn_rpm.py +++ b/backend/common/rhn_rpm.py @@ -268,10 +268,19 @@ def get_package_header(filename=None, file=None, fd=None): if hdr is None: raise InvalidPackageError else: - header_start, header_end = \ - get_header_byte_range(os.fdopen(os.dup(file_desc))) - os.lseek(file_desc, header_start, 0) - hdr, offset = rpm.readHeaderFromFD(file_desc) + try: + header_start, header_end = \ + get_header_byte_range(os.fdopen(os.dup(file_desc))) + os.lseek(file_desc, header_start, 0) + hdr, offset = rpm.readHeaderFromFD(file_desc) + except AttributeError: + # RHEL-4 and older, do the old way + ts = RPMReadOnlyTransaction() + nomd5 = getattr(rpm, 'RPMVSF_NOMD5') + needpayload = getattr(rpm, 'RPMVSF_NEEDPAYLOAD') + ts.pushVSFlags(~(nomd5 | needpayload)) + hdr = RPMReadOnlyTransaction().hdrFromFdno(file_desc) + ts.popVSFlags() if hdr is None: raise InvalidPackageError is_source = hdr[getattr(rpm, 'RPMTAG_SOURCEPACKAGE')]
On Thursday 02 April 2009 21:51:08 Pradeep Kilambi wrote:
backend/common/rhn_rpm.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-)
New commits: commit 9ac877df3528140cb5c583e1e1779b2d3574c7bf Author: Pradeep Kilambi pkilambi@redhat.com Date: Thu Apr 2 15:50:02 2009 -0400
493583 - fixing the rhnpush to call old rpm libraries for RHEL-4
diff --git a/backend/common/rhn_rpm.py b/backend/common/rhn_rpm.py index 93b87d5..3b622e6 100644 --- a/backend/common/rhn_rpm.py +++ b/backend/common/rhn_rpm.py @@ -268,10 +268,19 @@ def get_package_header(filename=None, file=None, fd=None): if hdr is None: raise InvalidPackageError else:
header_start, header_end = \
get_header_byte_range(os.fdopen(os.dup(file_desc)))
os.lseek(file_desc, header_start, 0)
hdr, offset = rpm.readHeaderFromFD(file_desc)
try:
header_start, header_end = \
get_header_byte_range(os.fdopen(os.dup(file_desc)))
os.lseek(file_desc, header_start, 0)
hdr, offset = rpm.readHeaderFromFD(file_desc)
except AttributeError:
# RHEL-4 and older, do the old way
ts = RPMReadOnlyTransaction()
nomd5 = getattr(rpm, 'RPMVSF_NOMD5')
needpayload = getattr(rpm, 'RPMVSF_NEEDPAYLOAD')
ts.pushVSFlags(~(nomd5 | needpayload))
hdr = RPMReadOnlyTransaction().hdrFromFdno(file_desc)
ts.popVSFlags() if hdr is None: raise InvalidPackageError is_source = hdr[getattr(rpm, 'RPMTAG_SOURCEPACKAGE')]
Can't we just do:
if hasattr(rpm, 'rpmHeaderFromFD'): ...
rather than try ... except AttributeError: ... ?
-Milan
Milan Zazrivec wrote:
On Thursday 02 April 2009 21:51:08 Pradeep Kilambi wrote:
backend/common/rhn_rpm.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-)
New commits: commit 9ac877df3528140cb5c583e1e1779b2d3574c7bf Author: Pradeep Kilambi pkilambi@redhat.com Date: Thu Apr 2 15:50:02 2009 -0400
493583 - fixing the rhnpush to call old rpm libraries for RHEL-4
diff --git a/backend/common/rhn_rpm.py b/backend/common/rhn_rpm.py index 93b87d5..3b622e6 100644 --- a/backend/common/rhn_rpm.py +++ b/backend/common/rhn_rpm.py @@ -268,10 +268,19 @@ def get_package_header(filename=None, file=None, fd=None): if hdr is None: raise InvalidPackageError else:
header_start, header_end = \
get_header_byte_range(os.fdopen(os.dup(file_desc)))
os.lseek(file_desc, header_start, 0)
hdr, offset = rpm.readHeaderFromFD(file_desc)
try:
header_start, header_end = \
get_header_byte_range(os.fdopen(os.dup(file_desc)))
os.lseek(file_desc, header_start, 0)
hdr, offset = rpm.readHeaderFromFD(file_desc)
except AttributeError:
# RHEL-4 and older, do the old way
ts = RPMReadOnlyTransaction()
nomd5 = getattr(rpm, 'RPMVSF_NOMD5')
needpayload = getattr(rpm, 'RPMVSF_NEEDPAYLOAD')
ts.pushVSFlags(~(nomd5 | needpayload))
hdr = RPMReadOnlyTransaction().hdrFromFdno(file_desc)
ts.popVSFlags() if hdr is None: raise InvalidPackageError is_source = hdr[getattr(rpm, 'RPMTAG_SOURCEPACKAGE')]
Can't we just do:
if hasattr(rpm, 'rpmHeaderFromFD'): ...
rather than try ... except AttributeError: ... ?
that works too.. I dont seem much difference between the two though.
~ Prad
-Milan _______________________________________________ spacewalk-commits mailing list spacewalk-commits@lists.fedorahosted.org https://fedorahosted.org/mailman/listinfo/spacewalk-commits
spacewalk-commits@lists.fedorahosted.org