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 02328ed673c0c2a6ad0c28957e910ddd78de126a Author: Alexandre Detiste <[email protected]> Date: Sun Feb 7 22:31:07 2016 +0100 make innoextract integration a bit smarter; less boilerplate in yaml --- data/nomouth.yaml | 12 ------------ data/quake3.yaml | 6 ------ data/zork-inquisitor.yaml | 14 -------------- data/zork.yaml | 12 ------------ debian/changelog | 3 +++ game_data_packager/build.py | 14 +++++++++++--- 6 files changed, 14 insertions(+), 47 deletions(-) diff --git a/data/nomouth.yaml b/data/nomouth.yaml index 316992f..68bc937 100644 --- a/data/nomouth.yaml +++ b/data/nomouth.yaml @@ -182,10 +182,6 @@ files: setup_i_have_no_mouth_and_i_must_scream_2.0.0.7.exe: unpack: format: innoextract - unpack: - - nomouth.dat - - patch.res - - i have no mouth and i must scream - manual.pdf provides: - nomouth.dat - patch.re_ @@ -233,10 +229,6 @@ files: setup_i_have_no_mouth_and_i_must_scream_german_2.0.0.7.exe: unpack: format: innoextract - unpack: - - nomouth.dat - - patch.res - - i have no mouth and i must scream - manual.pdf provides: - nomouth.dat?de - patch.re_ @@ -285,10 +277,6 @@ files: setup_i_have_no_mouth_and_i_must_scream_french_2.1.0.8.exe: unpack: format: innoextract - unpack: - - nomouth.dat - - patch.res - - i have no mouth and i must scream - manual.pdf provides: - nomouth.dat?fr - patch.re_ diff --git a/data/quake3.yaml b/data/quake3.yaml index 1df8e57..7a4610d 100644 --- a/data/quake3.yaml +++ b/data/quake3.yaml @@ -342,12 +342,6 @@ files: setup_quake3_2.0.0.2.exe: unpack: format: innoextract - unpack: - - $provides - - 'Help/BotCommands.htm' - - 'Help/Dedicated Server.htm' - - 'Help/Index.htm' - - 'Help/Readme.htm' provides: - common documentation - patch pk3s diff --git a/data/zork-inquisitor.yaml b/data/zork-inquisitor.yaml index 89ed442..113929b 100644 --- a/data/zork-inquisitor.yaml +++ b/data/zork-inquisitor.yaml @@ -160,20 +160,6 @@ files: setup_zork_grand_inquisitor_2.0.0.15.exe: unpack: format: innoextract - unpack: - - $provides - - ue1ea011.rlf - - ue1ea021.rlf - - ue1ea031.rlf - - ue1ea041.rlf - - ue1ea051.rlf - - ue1ea061.rlf - - ue1ea071.rlf - - ue1ea081.rlf - - ue1ea091.rlf - - ue1ea101.rlf - - ue1ea111.rlf - - ue1ea121.rlf provides: - inquis.str?gog - inquis.zix?gog diff --git a/data/zork.yaml b/data/zork.yaml index 2ba6689..0e1f82f 100644 --- a/data/zork.yaml +++ b/data/zork.yaml @@ -178,12 +178,6 @@ files: setup_zork_zero_2.1.0.16.exe: unpack: format: innoextract - unpack: - - zork0.zip - - zork0.cg1 - - zork0.eg1 - - zork0.mg1 - - manual.pdf provides: - zork zero assets - manual.pdf?zork0 @@ -221,9 +215,6 @@ files: setup_beyond_zork_2.1.0.17.exe: unpack: format: innoextract - unpack: - - beyondzo.dat - - manual.pdf provides: - beyondzo.z5 - manual.pdf?beyondzork @@ -231,9 +222,6 @@ files: setup_planetfall_2.1.0.17.exe: unpack: format: innoextract - unpack: - - planetfa.dat - - manual.pdf provides: - planetfa.z3 - manual.pdf?planetfall diff --git a/debian/changelog b/debian/changelog index 1613648..cd4596e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -21,6 +21,9 @@ game-data-packager (45) UNRELEASED; urgency=medium to RPM or Arch syntax as needed; and library dependencies can be spelled like "libfoo0.so.1" which will be translated to libfoo0-1 for dpkg distributions. [smcv] + - Smarter handling of InnoExtract archives that takes alternative + look_for names into account; which reduces the need + to explicitely list files to unpack. [adetiste] -- Stephen Kitt <[email protected]> Sat, 23 Jan 2016 22:38:20 +0100 diff --git a/game_data_packager/build.py b/game_data_packager/build.py index 05e208f..5c61367 100644 --- a/game_data_packager/build.py +++ b/game_data_packager/build.py @@ -955,8 +955,17 @@ class PackagingTask(object): list(to_unpack), cwd=tmpdir) self.consider_file_or_dir(tmpdir, provider=provider) elif fmt == 'innoextract': - to_unpack = provider.unpack.get('unpack', - [f.name for f in provider.provides_files]) + if 'unpack' in provider.unpack: + to_unpack = provider.unpack['unpack'] + else: + # this will result in extraneous "-I <file>" parameters, + # but innoextract doesn't care + to_unpack = set() + for f in provider.provides_files: + to_unpack.add(f.name.split('?')[0]) + for l in f.look_for: + to_unpack.add(l) + to_unpack = sorted(to_unpack) logger.debug('Extracting %r from %s', to_unpack, found_name) package.used_sources.add(provider.name) tmpdir = os.path.join(self.get_workdir(), 'tmp', @@ -983,7 +992,6 @@ class PackagingTask(object): cmdline.append('-I') if prefix and i[0] != '/': i = prefix + i - i = i.split('?')[0] cmdline.append(i) check_call(cmdline) self.consider_file_or_dir(tmpdir, provider=provider) -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/game-data-packager.git _______________________________________________ Pkg-games-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits

