|
|
|
@ -126,7 +126,29 @@ class PkgContents:
|
|
|
|
|
elif path.isfile(newfilename):
|
|
|
|
|
self.addFile(filename)
|
|
|
|
|
|
|
|
|
|
def checkContents(pkg,fileName,prefix='/'):
|
|
|
|
|
def checkReserved(fileName,contentFile):
|
|
|
|
|
"""
|
|
|
|
|
Check contents with newContent
|
|
|
|
|
"""
|
|
|
|
|
TYPE,FILENAME,MD5,MTIME=0,1,2,3
|
|
|
|
|
obj = filter(lambda x:x[1] == fileName,
|
|
|
|
|
map(lambda x:x.split(' '),
|
|
|
|
|
filter(lambda x:x.startswith('obj'),
|
|
|
|
|
readLinesFile(contentFile))))
|
|
|
|
|
# if pkg not content filename
|
|
|
|
|
if not obj:
|
|
|
|
|
return True
|
|
|
|
|
# if file is not exists
|
|
|
|
|
if not path.exists(fileName):
|
|
|
|
|
return True
|
|
|
|
|
contentMD5 = hashlib.md5(readFile(fileName)).hexdigest().strip()
|
|
|
|
|
configMD5 = obj[0][MD5].strip()
|
|
|
|
|
# if content was not changed
|
|
|
|
|
if contentMD5 == configMD5:
|
|
|
|
|
return True
|
|
|
|
|
return False
|
|
|
|
|
|
|
|
|
|
def checkContents(pkg,fileName,prefix='/',reservedFile=None):
|
|
|
|
|
"""
|
|
|
|
|
Check contents with newContent
|
|
|
|
|
"""
|
|
|
|
@ -143,10 +165,18 @@ def checkContents(pkg,fileName,prefix='/'):
|
|
|
|
|
readLinesFile(contentFile))))
|
|
|
|
|
# if pkg not content filename
|
|
|
|
|
if not obj:
|
|
|
|
|
return True
|
|
|
|
|
# for using reserved -CONTENTS file on postinst
|
|
|
|
|
if not reservedFile or checkReserved(fileName,reservedFile):
|
|
|
|
|
return True
|
|
|
|
|
else:
|
|
|
|
|
return False
|
|
|
|
|
# if file is not exists
|
|
|
|
|
if not path.exists(fileName):
|
|
|
|
|
return True
|
|
|
|
|
# for using reserved -CONTENTS file on postinst
|
|
|
|
|
if not reservedFile or checkReserved(fileName,reservedFile):
|
|
|
|
|
return True
|
|
|
|
|
else:
|
|
|
|
|
return False
|
|
|
|
|
contentMD5 = hashlib.md5(readFile(fileName)).hexdigest().strip()
|
|
|
|
|
configMD5 = obj[0][MD5].strip()
|
|
|
|
|
# if content was not changed
|
|
|
|
|