[game-data-packager] 01/01: GOG.com: add support for unpacking provided .deb
Alexandre Detiste
detiste-guest at moszumanska.debian.org
Mon May 25 11:57:59 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 d0d97a99eb31afaddee254317804b5a93f95d442
Author: Alexandre Detiste <alexandre.detiste at gmail.com>
Date: Mon May 25 13:47:04 2015 +0200
GOG.com: add support for unpacking provided .deb
& use it for ROTT
shipping the .EXEs with private copies of DOSBox, libSDL... ok;
but that postinst script... yuck
this unofficial script does it much better:
https://github.com/Tea23/arch-gog/blob/master/gog-dosbox-launcher/gog-dosbox-launcher
----8<------
declare -r GAME_DIR="Rise of the Triad Dark War"
cd "/opt/GOG Games/${GAME_DIR}"
./start.sh --install-deb
chmod -R a+rw "/opt/GOG Games/${GAME_DIR}"
chmod -R 666 "/opt/GOG Games/${GAME_DIR}/docs/"*
exit 0
----8<------
Still, as the GOG .deb is smaller that the setup.exe & the tarball
because it's xz-compressed, it's the best pick for lgogdownloader
---
data/rott-data.control.in | 4 ----
data/rott-extreme-data.copyright | 20 --------------------
data/rott.yaml | 20 ++++++++++++++++++++
game_data_packager/__init__.py | 8 +++++++-
4 files changed, 27 insertions(+), 25 deletions(-)
diff --git a/data/rott-data.control.in b/data/rott-data.control.in
deleted file mode 100644
index 903de3a..0000000
--- a/data/rott-data.control.in
+++ /dev/null
@@ -1,4 +0,0 @@
-Description: Game data for Rise of the Triad
- Rise of the Triad requires game data to play. This package contains
- the game data from the shareware episode of Rise of the Triad and
- was generated using the "game-data-packager" program.
diff --git a/data/rott-extreme-data.copyright b/data/rott-extreme-data.copyright
deleted file mode 100644
index 44820a6..0000000
--- a/data/rott-extreme-data.copyright
+++ /dev/null
@@ -1,20 +0,0 @@
-The rott-extreme-data package was generated using game-data-packager.
-Copyright © 2008-2015 Jonathan Dowland <jmtd at debian.org>
-
-The files within "/usr/share/games/rott" are subject to the copyright
-described in /usr/share/doc/rott-extreme-data/LICENSE.TXT.
-
-The remainder of this package is covered by the following
-Licence:
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; version 2 of the License.
-
-This program is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-On Debian GNU/Linux systems, the complete text of the GNU General Public
-License can be found in /usr/share/common-licenses/GPL-2.
diff --git a/data/rott.yaml b/data/rott.yaml
index de6f5ef..f7ca549 100644
--- a/data/rott.yaml
+++ b/data/rott.yaml
@@ -35,8 +35,11 @@ packages:
longname: "Rise of the Triad: Dark War"
debian:
depends: rott-data
+ # lgogdownloader --game rise_of_the_triad__dark_war --download --platform 4 --download --no-targz --subdir-game ''
gog:
url: rise_of_the_triad__dark_war
+ game: rise_of_the_triad__dark_war
+ format: deb
install_to: usr/share/games/rott
install:
- any_registered_rtc
@@ -158,6 +161,20 @@ files:
- REMOTE1.RTS
- ROTTCD.RTC
+ gog_rise_of_the_triad_dark_war_1.0.0.7.deb:
+ unpack:
+ format: deb
+ provides:
+ - DARKWAR.RTL
+ - DARKWAR.WAD
+ - EXTREME.RTL
+ - HUNTBGIN.RTC
+ - HUNTBGIN.RTL
+ - LICENSE.TXT
+ - manual.pdf
+ - REMOTE1.RTS
+ - ROTTCD.RTC
+
cksums: |
2270167158 162646 DARKWAR.RTC
2187295173 408096 DARKWAR.RTL
@@ -183,6 +200,7 @@ cksums: |
_ 9521526 manual.pdf
_ 31605104 setup_rise_of_the_triad_2.0.0.5.exe
_ 21337749 gog_rise_of_the_triad_dark_war_1.0.0.7.tar.gz
+ _ 18864246 gog_rise_of_the_triad_dark_war_1.0.0.7.deb
md5sums: |
001a2aafefe4f5394655f735ee60c326 DEMO1_3.DMO
@@ -211,6 +229,7 @@ md5sums: |
92a132d4d25d6f96587e406bd9959ae8 setup_rise_of_the_triad_2.0.0.5.exe
34c7f39c23482a7ecab464a2dd76ef8f manual.pdf
5695390945993b841f1c0b72781d143c gog_rise_of_the_triad_dark_war_1.0.0.7.tar.gz
+ 7acfe7c8d48c4654604b90e955212793 gog_rise_of_the_triad_dark_war_1.0.0.7.deb
sha1sums: |
9dea7c8e1ae32628ce8ee39750a6fcde73ae29c1 DEMO1_3.DMO
@@ -239,6 +258,7 @@ sha1sums: |
53d4a05c474dd13098b9d591ea2eab13310af0bc setup_rise_of_the_triad_2.0.0.5.exe
7ecd289958858af8dfc357fec2499d9bc3e7206b manual.pdf
017a31ee33bdb81882287b497682b12de56b0f50 gog_rise_of_the_triad_dark_war_1.0.0.7.tar.gz
+ a49f283110d5eb479ac8baf794e8a9d865c0d796 gog_rise_of_the_triad_dark_war_1.0.0.7.deb
sha256sums: |
b57b2a1d5c72f6a9b2761537340969b297af16b14dbc284794a71163bc6c50a0 DEMO1_3.DMO
diff --git a/game_data_packager/__init__.py b/game_data_packager/__init__.py
index 94574b3..ca5bd3d 100644
--- a/game_data_packager/__init__.py
+++ b/game_data_packager/__init__.py
@@ -1527,6 +1527,12 @@ class GameData(object):
mode='r|' + fmt[4:],
fileobj=rf) as tar:
self.consider_tar_stream(found_name, tar, provider)
+ elif fmt == 'deb':
+ with subprocess.Popen(['dpkg-deb', '--fsys-tarfile', found_name],
+ stdout=subprocess.PIPE) as fsys_process:
+ with tarfile.open(found_name + '//data.tar.*', mode='r|',
+ fileobj=fsys_process.stdout) as tar:
+ self.consider_tar_stream(found_name, tar, provider)
elif fmt == 'zip':
with zipfile.ZipFile(found_name, 'r') as zf:
self.consider_zip(found_name, zf, provider)
@@ -2731,7 +2737,7 @@ class GameData(object):
fmt = wanted.unpack['format']
# builtins
- if fmt in ('cat', 'dos2unix', 'tar.gz', 'tar.bz2', 'tar.xz', 'zip'):
+ if fmt in ('cat', 'dos2unix', 'tar.gz', 'tar.bz2', 'tar.xz', 'deb', 'zip'):
return True
if which(fmt) is not 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