[game-data-packager] 01/02: make_template: don't compute SHA1 for tiny files
Alexandre Detiste
detiste-guest at moszumanska.debian.org
Fri Sep 25 20:52:01 UTC 2015
This is an automated email from the git hooks/post-receive script.
detiste-guest pushed a commit to branch master
in repository game-data-packager.
commit 40523ef64aa982132c70c35dc97f0923d5ecbf42
Author: Alexandre Detiste <alexandre.detiste at gmail.com>
Date: Fri Sep 25 22:42:03 2015 +0200
make_template: don't compute SHA1 for tiny files
---
game_data_packager/make_template.py | 20 ++++++++++++++------
1 file changed, 14 insertions(+), 6 deletions(-)
diff --git a/game_data_packager/make_template.py b/game_data_packager/make_template.py
index 1446dca..e0daebc 100644
--- a/game_data_packager/make_template.py
+++ b/game_data_packager/make_template.py
@@ -36,6 +36,10 @@ from .util import which
logging.basicConfig()
logger = logging.getLogger('game_data_packager.make-template')
+# I guess there is a minimum size under which a
+# MD5 collision is not possible and having
+# a SHA1 for these files is not usefull
+MD5_SAFE_ENOUGH = 5000
def is_license(file):
name, ext = os.path.splitext(file.lower())
@@ -127,9 +131,10 @@ class GameData(object):
self.install.add(out_name)
hf = HashedFile.from_file(name, open(name, 'rb'))
- self.ck[out_name] = os.path.getsize(name)
+ self.ck[out_name] = size = os.path.getsize(name)
self.md5[out_name] = hf.md5
- self.sha1[out_name] = hf.sha1
+ if size > MD5_SAFE_ENOUGH:
+ self.sha1[out_name] = hf.sha1
def add_one_dir(self,destdir,lower,archive=None):
if destdir.startswith('/usr/local') or destdir.startswith('/opt/'):
@@ -194,9 +199,10 @@ class GameData(object):
self.install.add(out_name)
hf = HashedFile.from_file(name, open(path, 'rb'))
- self.ck[out_name] = os.path.getsize(path)
+ self.ck[out_name] = size = os.path.getsize(path)
self.md5[out_name] = hf.md5
- self.sha1[out_name] = hf.sha1
+ if size > MD5_SAFE_ENOUGH:
+ self.sha1[out_name] = hf.sha1
else:
logger.warning('ignoring unknown file type at %s' % path)
@@ -339,7 +345,8 @@ class GameData(object):
self.ck[name] = entry.size
self.md5[name] = hf.md5
- self.sha1[name] = hf.sha1
+ if entry.size > MD5_SAFE_ENOUGH:
+ self.sha1[name] = hf.sha1
elif entry.isdir():
pass
elif entry.issym():
@@ -393,7 +400,8 @@ class GameData(object):
print(' %-9s %s %s' % (self.ck[filename], self.md5[filename], filename))
print('\nsha1sums: |')
for filename in print_order:
- print(' %s %s' % (self.sha1[filename], filename))
+ if filename in self.sha1:
+ print(' %s %s' % (self.sha1[filename], filename))
print('...')
print('')
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/game-data-packager.git
More information about the Pkg-games-commits
mailing list