Fix to removepackages.py to properly import pkg data from pkgutil database under Snow Leopard when there are items in /Library/Receipts/boms, presumably left over from Leopard.

git-svn-id: http://munki.googlecode.com/svn/trunk@541 a4e17f2e-e282-11dd-95e1-755cbddbdd66
This commit is contained in:
Greg Neagle
2010-06-01 16:47:45 +00:00
parent e1237584d3
commit ccd1635a80

View File

@@ -499,6 +499,7 @@ def initDatabase(packagedb,forcerebuild=False):
"Could not remove out-of-date receipt database.")
return False
osvers = int(os.uname()[2].split('.')[0])
pkgcount = 0
receiptsdir = "/Library/Receipts"
bomsdir = "/Library/Receipts/boms"
@@ -512,8 +513,8 @@ def initDatabase(packagedb,forcerebuild=False):
for item in bomslist:
if item.endswith(".bom"):
pkgcount += 1
else:
#no boms dir in some versions of OS X
if osvers > 9:
# Snow Leopard or later
pkglist = []
cmd = ['/usr/sbin/pkgutil', '--pkgs']
p = subprocess.Popen(cmd, shell=False, bufsize=1,
@@ -569,8 +570,8 @@ def initDatabase(packagedb,forcerebuild=False):
ImportBom(bompath, c)
currentpkgindex += 1
local_display_percent_done(currentpkgindex, pkgcount)
else:
#no boms dir in some versions of OS X
if osvers > 9:
# Snow Leopard or later
for pkg in pkglist:
if munkicommon.stopRequested():
c.close()