[game-data-packager] 01/01: implement support for upcoming innoxectract release
Alexandre Detiste
detiste-guest at moszumanska.debian.org
Thu May 14 22:08:13 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 ae8d53d68cece528ba785283d7be7cb96d1be911
Author: Alexandre Detiste <alexandre.detiste at gmail.com>
Date: Fri May 15 00:03:22 2015 +0200
implement support for upcoming innoxectract release
* use new --include argument for bundles
* remove now useless 'distinctive_name: false'
* fallback to old logic if user is still using v1.4
---
data/kingsquest1.yaml | 1 +
data/kingsquest2.yaml | 1 +
data/kingsquest3.yaml | 1 +
data/kingsquest4.yaml | 3 +++
data/kingsquest5.yaml | 2 ++
data/kingsquest6.yaml | 2 ++
data/spacequest1.yaml | 22 +---------------------
data/spacequest2.yaml | 22 +---------------------
data/spacequest3.yaml | 2 +-
data/spacequest4.yaml | 1 +
data/spacequest5.yaml | 1 +
data/zork.yaml | 6 ++++++
game_data_packager/__init__.py | 20 ++++++++++++++++----
13 files changed, 37 insertions(+), 47 deletions(-)
diff --git a/data/kingsquest1.yaml b/data/kingsquest1.yaml
index 4a079bd..56510a0 100644
--- a/data/kingsquest1.yaml
+++ b/data/kingsquest1.yaml
@@ -28,6 +28,7 @@ files:
setup_kings_quest_1_2_3.exe:
unpack:
format: innoextract
+ include: ["Kings Quest 1"]
provides:
- logdir
- object
diff --git a/data/kingsquest2.yaml b/data/kingsquest2.yaml
index 3f5e22a..62b1346 100644
--- a/data/kingsquest2.yaml
+++ b/data/kingsquest2.yaml
@@ -27,6 +27,7 @@ files:
setup_kings_quest_1_2_3.exe:
unpack:
format: innoextract
+ include: ["Kings Quest 2"]
provides:
- logdir
- object
diff --git a/data/kingsquest3.yaml b/data/kingsquest3.yaml
index 0f51ff8..5bfd2df 100644
--- a/data/kingsquest3.yaml
+++ b/data/kingsquest3.yaml
@@ -29,6 +29,7 @@ files:
setup_kings_quest_1_2_3.exe:
unpack:
format: innoextract
+ include: ["Kings Quest 3"]
provides:
- logdir
- object
diff --git a/data/kingsquest4.yaml b/data/kingsquest4.yaml
index 99664d2..9753016 100644
--- a/data/kingsquest4.yaml
+++ b/data/kingsquest4.yaml
@@ -24,6 +24,9 @@ files:
setup_kings_quest_4_5_6.exe:
unpack:
format: innoextract
+ include:
+ - "Kings Quest 4"
+ - manual.pdf
provides:
- resource.001
- resource.002
diff --git a/data/kingsquest5.yaml b/data/kingsquest5.yaml
index 04d5122..b5a6743 100644
--- a/data/kingsquest5.yaml
+++ b/data/kingsquest5.yaml
@@ -43,6 +43,8 @@ files:
setup_kings_quest_4_5_6.exe:
unpack:
format: innoextract
+ include:
+ - "Kings Quest 5"
provides:
- 0.scr
- 0.tex
diff --git a/data/kingsquest6.yaml b/data/kingsquest6.yaml
index bd1a0f5..0ed3e24 100644
--- a/data/kingsquest6.yaml
+++ b/data/kingsquest6.yaml
@@ -84,6 +84,8 @@ files:
setup_kings_quest_4_5_6.exe:
unpack:
format: innoextract
+ include:
+ - "Kings Quest 6"
provides:
- 420.hep
- 420.scr
diff --git a/data/spacequest1.yaml b/data/spacequest1.yaml
index 507c3f9..9c732f5 100644
--- a/data/spacequest1.yaml
+++ b/data/spacequest1.yaml
@@ -24,32 +24,12 @@ packages:
- manual.pdf
files:
- # generic names for AGI engine games
- logdir:
- distinctive_name: false
- object:
- distinctive_name: false
- picdir:
- distinctive_name: false
- snddir:
- distinctive_name: false
- viewdir:
- distinctive_name: false
- vol.0:
- distinctive_name: false
- vol.1:
- distinctive_name: false
- vol.2:
- distinctive_name: false
- words.tok:
- distinctive_name: false
-
manual.pdf:
install_to: $docdir
- distinctive_name: false
setup_space_quest_1_2_3.exe:
unpack:
format: innoextract
+ include: ["Space Quest 1"]
provides:
- logdir
- object
diff --git a/data/spacequest2.yaml b/data/spacequest2.yaml
index e3d4303..7a89162 100644
--- a/data/spacequest2.yaml
+++ b/data/spacequest2.yaml
@@ -22,32 +22,12 @@ packages:
- manual.pdf
files:
- # generic names for AGI engine games
- logdir:
- distinctive_name: false
- object:
- distinctive_name: false
- picdir:
- distinctive_name: false
- snddir:
- distinctive_name: false
- viewdir:
- distinctive_name: false
- vol.0:
- distinctive_name: false
- vol.1:
- distinctive_name: false
- vol.2:
- distinctive_name: false
- words.tok:
- distinctive_name: false
-
manual.pdf:
install_to: $docdir
- distinctive_name: false
setup_space_quest_1_2_3.exe:
unpack:
format: innoextract
+ include: ["Space Quest 2"]
provides:
- logdir
- object
diff --git a/data/spacequest3.yaml b/data/spacequest3.yaml
index 8b5f1df..176f565 100644
--- a/data/spacequest3.yaml
+++ b/data/spacequest3.yaml
@@ -19,10 +19,10 @@ packages:
files:
manual.pdf:
install_to: $docdir
- distinctive_name: false
setup_space_quest_1_2_3.exe:
unpack:
format: innoextract
+ include: ["Space Quest 3"]
provides:
- resource.001
- resource.002
diff --git a/data/spacequest4.yaml b/data/spacequest4.yaml
index ca78e0c..a4b912a 100644
--- a/data/spacequest4.yaml
+++ b/data/spacequest4.yaml
@@ -55,6 +55,7 @@ files:
setup_space_quest.exe:
unpack:
format: innoextract
+ include: ["Space Quest 4"]
provides:
- 335.hep
- 335.scr
diff --git a/data/spacequest5.yaml b/data/spacequest5.yaml
index cf6ddda..b9942ff 100644
--- a/data/spacequest5.yaml
+++ b/data/spacequest5.yaml
@@ -98,6 +98,7 @@ files:
setup_space_quest.exe:
unpack:
format: innoextract
+ include: ["Space Quest 5"]
provides:
- 0.fon
- 10.fon
diff --git a/data/zork.yaml b/data/zork.yaml
index 3a10f4c..0e6abe9 100644
--- a/data/zork.yaml
+++ b/data/zork.yaml
@@ -101,6 +101,12 @@ files:
setup_zork_anthology.exe:
unpack:
format: innoextract
+ include:
+ - DATA/ZORK1.DAT
+ - DATA/ZORK2.DAT
+ - DATA/ZORK3.DAT
+ - BEYONDZO.DAT
+ - PLANETFA.DAT
provides:
- zork1.dat_zip
- zork2.dat
diff --git a/game_data_packager/__init__.py b/game_data_packager/__init__.py
index b3c87c9..e439db5 100644
--- a/game_data_packager/__init__.py
+++ b/game_data_packager/__init__.py
@@ -700,6 +700,9 @@ class GameData(object):
assert len(wanted.provides) == 1, filename
assert isinstance(wanted.unpack['other_parts'],
list), filename
+ if 'include' in wanted.unpack:
+ assert isinstance(wanted.unpack['include'],
+ list), filename
if wanted.alternatives:
for alt in wanted.alternatives:
@@ -1573,10 +1576,19 @@ class GameData(object):
tmpdir = os.path.join(self.get_workdir(), 'tmp',
provider_name + '.d')
mkdir_p(tmpdir)
- subprocess.check_call(['innoextract', '--silent',
- '--language', 'english',
- '--lowercase', '-T', 'local', '-d', '.',
- os.path.abspath(found_name)], cwd=tmpdir)
+ cmdline = ['innoextract', '--silent',
+ '--language', 'english',
+ '-T', 'local',
+ '-d', tmpdir,
+ os.path.abspath(found_name)]
+ version = subprocess.check_output(['innoextract', '-v'],
+ universal_newlines=True)[12:15]
+ if version != '1.4':
+ include = provider.unpack.get('include')
+ for i in include:
+ cmdline.append('-I')
+ cmdline.append(i)
+ subprocess.check_call(cmdline)
# for at least Theme Hospital the files we want are
# actually in subdirectories, so we search recursively
self.consider_file_or_dir(tmpdir)
--
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