[game-data-packager] 01/01: read data from unknown .deb supplied on command line
Alexandre Detiste
detiste-guest at moszumanska.debian.org
Mon Oct 26 11:13:16 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 12cb9eb4258cc19eeaa045f41a478c0d89c87a0e
Author: Alexandre Detiste <alexandre.detiste at gmail.com>
Date: Mon Oct 26 12:12:30 2015 +0100
read data from unknown .deb supplied on command line
---
game_data_packager/build.py | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)
diff --git a/game_data_packager/build.py b/game_data_packager/build.py
index 5c6f90d..2cde422 100644
--- a/game_data_packager/build.py
+++ b/game_data_packager/build.py
@@ -601,6 +601,12 @@ class PackagingTask(object):
or (basename.startswith('gog_') and extension == '.sh')):
with zipfile.ZipFile(path, 'r') as zf:
self.consider_zip(path, zf)
+ elif extension.lower() == '.deb':
+ with subprocess.Popen(['dpkg-deb', '--fsys-tarfile', path],
+ stdout=subprocess.PIPE) as fsys_process:
+ with tarfile.open(path + '//data.tar.*', mode='r|',
+ fileobj=fsys_process.stdout) as tar:
+ self.consider_tar_stream(path, tar)
def _log_not_any_of(self, path, size, hashes, why, candidates):
message = ('found %s but it is not one of the expected ' +
@@ -773,14 +779,19 @@ class PackagingTask(object):
logger.error('%s should have provided %s but did not',
name, missing)
- def consider_tar_stream(self, name, tar, provider):
- should_provide = set(provider.provides)
+ def consider_tar_stream(self, name, tar, provider=None):
+ if provider is None:
+ try_to_unpack = self.game.files
+ should_provide = set()
+ else:
+ try_to_unpack = provider.provides
+ should_provide = set(try_to_unpack)
for entry in tar:
if not entry.isfile():
continue
- for filename in provider.provides:
+ for filename in try_to_unpack:
wanted = self.game.files.get(filename)
if wanted is None:
--
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