ddodds / instadmg

Automatically exported from code.google.com/p/instadmg
0 stars 0 forks source link

NameError: global name 'checksumType' is not defined #50

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. Use `svn` to update to revision 324. 
2. try to use instaUp2Date.py to update a catalog with pkg's in 
instadmg/InstallerFiles/InstaUp2DatePackages/
3. get errors similar to :

Looking for ClearRegistration
Traceback (most recent call last):
  File "./instadmg/AddOns/InstaUp2Date/instaUp2Date.py", line 799, in <module>
    main()
  File "./instadmg/AddOns/InstaUp2Date/instaUp2Date.py", line 782, in main
    thisController.parseFile(catalogFilePath)
  File "./instadmg/AddOns/InstaUp2Date/instaUp2Date.py", line 252, in parseFile
    checksumString = packageLineMatch.group("fileChecksum"),
  File "./instadmg/AddOns/InstaUp2Date/instaUp2Date.py", line 518, in __init__
    cacheFilePath = self.findItem(filePath, checksumType, checksumValue, cacheFolders)
NameError: global name 'checksumType' is not defined

What is the expected output? What do you see instead?

What version of InstaDMG are you running? What revision number (this should
be the second line of your package log)?
Checked out revision 324.

What OS are you running on (booted from)?
10.6.4

What OS are you installing?
10.6.4

Please provide any additional information below.

Original issue reported on code.google.com by paulbl...@gmail.com on 28 Jul 2010 at 11:19

GoogleCodeExporter commented 8 years ago
I meant to note that the 10.6_vanilla catalog still works fine with this 
release and my catalog that has third-party pkgs worked with the previous 
version on instaUp2Date.  So the update has caused it to fail only on pkgs in 
instadmg/InstallerFiles/InstaUp2DatePackages/.

Original comment by paulbl...@gmail.com on 28 Jul 2010 at 11:33

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
I have resolved this issue. Two lines need to be changed:

Line 518, Original:
cacheFilePath = self.findItem(filePath, checksumType, checksumValue, 
cacheFolders)
Line 518, Fixed:
cacheFilePath = self.findItem(filePath, self.checksumType, self.checksumValue, 
self.cacheFolders)

Line 641, Original:
elif hasattr(additionalCacheFolders, '__iter__'):
Line 641, Fixed:
elif hasattr(additionalSourceFolders, '__iter__'):

I have attached a patch file for these two changes.

Original comment by loadsta...@gmail.com on 31 Jul 2010 at 6:37

Attachments:

GoogleCodeExporter commented 8 years ago
I applied your patch and still get errors -- in a new place.

Looking for ClearRegistration
        Checksummed clearReg.pkg (22 items) in less than one secondTraceback (most recent call last):
  File "./instadmg/AddOns/InstaUp2Date/instaUp2Date.py", line 799, in <module>
    main()
  File "./instadmg/AddOns/InstaUp2Date/instaUp2Date.py", line 782, in main
    thisController.parseFile(catalogFilePath)
  File "./instadmg/AddOns/InstaUp2Date/instaUp2Date.py", line 252, in parseFile
    checksumString = packageLineMatch.group("fileChecksum"),
  File "./instadmg/AddOns/InstaUp2Date/instaUp2Date.py", line 537, in __init__
    for cacheFolder in cacheFolders:
NameError: global name 'cacheFolders' is not defined

Original comment by paulbl...@gmail.com on 2 Aug 2010 at 9:20

GoogleCodeExporter commented 8 years ago
rev329 has a full fix for this, which was slightly more involved. Next up: unit 
tests around this.

Original comment by kuehn.k...@gmail.com on 6 Aug 2010 at 3:32

GoogleCodeExporter commented 8 years ago
I'm still having problems.  I tried rev329 and rev330.  It successfully 
processes 10.6_vanilla, but then fails when it gets to my third party software. 
 Here is the failure and the contents of my catalog.

Looking for ClearRegistration
        Checksummed clearReg.pkg (22 items) in less than one secondTraceback (most recent call last):
  File "./instaUp2Date.py", line 798, in <module>
    main()
  File "./instaUp2Date.py", line 781, in main
    thisController.parseFile(catalogFilePath)
  File "./instaUp2Date.py", line 251, in parseFile
    checksumString = packageLineMatch.group("fileChecksum"),
  File "./instaUp2Date.py", line 536, in __init__
    for cacheFolder in cacheFolders:
NameError: global name 'cacheFolders' is not defined
root@bravura: /local/Installers/instadmg/AddOns/InstaUp2Date 169# cat 
CatalogFiles/cis_base.catalog 
# This is the catalog for the cs.uoregon.edu base image

#ISO Language Code = en
#Output Volume Name = MacintoshHD
Output File Name = cis_base.dmg

include-file: 10.6_vanilla.catalog

#
#       Sections
#

Base OS Disk:

OS Updates:

Apple Updates:

System Settings:

Third Party Software:

        ClearRegistration       clearReg.pkg    sha1:b0ba0f6bfd26956562e286bbcdfa8f78dd3722eb

        create local admin      createUser.pkg  sha1:efd4d9961f7b265610c53e1edebc58148a37b4b3

        Flip4Mac 2.3.4.1        WM_Components-2.3.4.1.dmg       sha1:cb285d13f6ab156f702903cf4da9c424ec33e0d9

        Xerox Printer Drivers   XeroxPrinterDrivers.pkg sha1:658fb1373f845c8aa9ae96f9d1a35e2e5504b090

Original comment by paulbl...@gmail.com on 6 Aug 2010 at 4:15