global name 'struct' is not defined - python-smbios patch

BJ Dierkes wdierkes at 5dollarwhitebox.org
Fri Apr 3 12:24:50 CDT 2009


Problem encountered when  running 'sudo update_firmware --yes':

Traceback (most recent call last):
  File "/usr/sbin/dellBiosUpdate", line 185, in ?
    sys.exit( main() )
  File "/usr/sbin/dellBiosUpdate", line 153, in main
    exit_code = updateBios(HdrFile(options.hdr), options)
  File "<libsmbios_c._peak_util_decorators.rewrap wrapping  
libsmbios_c.rbu_update.updateBios at 0x-48337C54>", line 3, in  
updateBios
  File "/usr/lib/python2.4/site-packages/libsmbios_c/ 
trace_decorator.py", line 98, in trace
    result = func(*args, **kw)
  File "/usr/lib/python2.4/site-packages/libsmbios_c/rbu_update.py",  
line 95, in updateBios
    if compareBiosVersions(ver, hdrfile.biosVersion()) >= 0:
  File "<libsmbios_c._peak_util_decorators.rewrap wrapping  
libsmbios_c.rbu_hdr.biosVersion at 0x-4834C1D4>", line 3, in biosVersion
  File "/usr/lib/python2.4/site-packages/libsmbios_c/ 
trace_decorator.py", line 98, in trace
    result = func(*args, **kw)
  File "/usr/lib/python2.4/site-packages/libsmbios_c/rbu_hdr.py", line  
86, in biosVersion
    ver = "%d.%d.%d" % struct.unpack("BBB", self.hdr.biosVersion)
NameError: global name 'struct' is not defined



Simple fix is to 'import struct' in the file 'libsmbios_c/ 
rbu_hdr.py'.  I see this package comes from Open SuSE:

~] $ rpm -qi python-smbios | grep -i suse
Version     : 2.2.14                            Vendor: openSUSE Build  
Service


Not being familliar with SuSE I wasn't really sure where to submit  
this upstream, however you may wish to add this patch to the python- 
smbios rpms distributed via the Dell repos:

# --- start patch ---
$ diff -Naur ./rbu_hdr.py /usr/lib/python2.4/site-packages/libsmbios_c/ 
rbu_hdr.py
--- ./rbu_hdr.py        2008-11-18 09:22:36.000000000 -0600
+++ /usr/lib/python2.4/site-packages/libsmbios_c/rbu_hdr.py      
2009-04-03 11:42:26.000000000 -0500
@@ -14,6 +14,7 @@
  # imports (alphabetical)
  import ctypes
  import exceptions
+import struct

  from libsmbios_c import libsmbios_c_DLL as DLL
  from _common import errorOnNullPtrFN, errorOnNegativeFN,  
freeLibStringFN
# --- end patch ---


Thanks.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.us.dell.com/pipermail/firmware-tools-devel/attachments/20090403/23b391e6/attachment.htm 


More information about the firmware-tools-devel mailing list