+++ This bug was initially created as a clone of Bug #823491 +++ Description of problem: rhnpush fails with a global name h not defined error - line 506 of /usr/share/rhn/rhnpush/uploadLib.py Version-Release number of selected component (if applicable): spacewalk 1.7 rhnpush-5.5.42-1.el6.noarch How reproducible: Everytime Steps to Reproduce: 1. Obtain RPM from somewhere 2. rhnpush to the spacewalk server 3. observe error Actual results: Get the error: global name h not defined Expected results: RPM package uploaded Additional info: I could have sworn this worked a couple of weeks ago - but I may be imagining it.... Locally editing /usr/share/rhn/rhnpush/uploadLib.py seems then to allow stuff to work (the channel page still has arch so I assume this change works...) - patch attached.
The issue is caused by 4ed2374ccbc7f7dedb8fe6eaf7322700f06a4ca7 when the h = get_header(None, f.fileno(), source) was replaced with a_pkg = package_from_filename(filename) I assume the proper fix is diff --git a/client/tools/rhnpush/uploadLib.py b/client/tools/rhnpush/uploadLib.py index 2d0ed35..aae1604 100644 --- a/client/tools/rhnpush/uploadLib.py +++ b/client/tools/rhnpush/uploadLib.py @@ -503,7 +503,7 @@ class UploadClass: if source: lh.append('src') else: - lh.append(h['arch']) + lh.append(a_pkg.header['arch']) # Build the header hash to be sent hash = { 'header' : Binary(a_pkg.header.unload()), Fixed in Spacewalk master, 03a1c48d59401856b2ffb4b2a96c4d51375b2cf4.
Verified.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHBA-2012-1368.html