[game-data-packager] 01/01: make innoextract integration a bit smarter; less boilerplate in yaml
Alexandre Detiste
detiste-guest at moszumanska.debian.org
Sun Feb 7 21:31:42 UTC 2016
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 <alexandre.detiste at gmail.com>
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 <skitt at debian.org> 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
More information about the Pkg-games-commits
mailing list