[game-data-packager] 01/02: Add support for doing the Quake packages via YAML

Simon McVittie smcv at debian.org
Sun Jan 4 18:39:07 UTC 2015


This is an automated email from the git hooks/post-receive script.

smcv pushed a commit to branch wip/quake
in repository game-data-packager.

commit 327258baf2a4482ee7e8f08faa3fe436ee4139df
Author: Simon McVittie <smcv at debian.org>
Date:   Sat Jan 3 20:14:00 2015 +0000

    Add support for doing the Quake packages via YAML
    
    Music is still done via shell script: the declarative stuff doesn't
    support ripping CDs yet.
---
 data/quake-registered.wip | 122 ---------------------------------
 data/quake.yaml           | 167 ++++++++++++++++++++++++++++++++++++++++++++++
 quake.mk                  |  12 +++-
 supported/quake           |   8 ++-
 4 files changed, 184 insertions(+), 125 deletions(-)

diff --git a/data/quake-registered.wip b/data/quake-registered.wip
deleted file mode 100644
index 7bb5414..0000000
--- a/data/quake-registered.wip
+++ /dev/null
@@ -1,122 +0,0 @@
-%YAML 1.2
----
-# This file is not used yet: the YAML-driven code does not support
-# everything it needs. It's just a sketch of how this could look later.
-
-package: quake-registered
-demo_package: quake-shareware
-install_to: usr/share/games/quake
-
-files:
-  id1/pak0.pak_106:
-    install_as: id1/pak0.pak
-    in_demo: true
-    md5: 5906e5998fc3d896ddaf5e6a62e03abb
-
-  # FIXME: is this actually any use?
-  id1/pak0.pak_101:
-    md5: 85fc9cee2035b66290da1e33be2ac86b
-
-  id1/pak1.pak:
-    install: true
-    # the same in 1.06 and 1.01
-    md5: d76b3e5678f0b64ac74ce5e340e6a685
-
-files:
-  q101_int.1:
-    provides:
-    # FIXME: which one is in here?
-    - id1/pak0.pak_FIXME
-    - id1/pak1.pak
-    requires: q101_int.2
-    md5: 752f49131bb3ba832346e873c1bcfdc6
-    unpack:
-      format: cat
-      recurse: q101_int_1+2.exe
-
-  q101_int_1+2.exe:
-    provides:
-    # FIXME: which one is in here?
-    - id1/pak0.pak_FIXME
-    - id1/pak1.pak
-    unpack:
-      format: lha
-
-  q101_int.2:
-    md5: 9ed67b39020575771e29645d977c9216
-
-  quake106.zip:
-    provides:
-    - id1/pak0.pak_106
-    download:
-      idstuff-mirrors:
-        path: quake
-    sha256: ec6c9d34b1ae0252ac0066045b6611a7919c2a0d78a3a66d9387a8f597553239
-    unpack:
-      format: zip
-      recurse: resource.1
-
-  resource.1:
-    provides:
-    - id1/pak0.pak_106
-    unpack:
-      format: lha
-
-addons:
-  quake-music:
-    install_to: usr/share/games/quake/id1/music
-    rip_cd:
-      encoding: vorbis
-      filename_format: track%02d.ogg
-      first_track: 2
-      last_track: 9
-
-  quake-armagon-music:
-    install_to: usr/share/games/quake/hipnotic/music
-    rip_cd:
-      encoding: vorbis
-      filename_format: track%02d.ogg
-      first_track: 2
-      last_track: 9
-
-  quake-dissolution-music:
-    install_to: usr/share/games/quake/rogue/music
-    rip_cd:
-      encoding: vorbis
-      filename_format: track%02d.ogg
-      first_track: 2
-      last_track: 9
-
-  quake-armagon:
-    files:
-      hipnotic/pak0.pak:
-        alternatives:
-        - hipnotic/pak0.pak_cd
-        - hipnotic/pak0.pak_glquake_compatible
-
-      hipnotic/pak0.pak_cd:
-        md5: 0ab83681aaf841c4320269e02941a14a
-
-      hipnotic/pak0.pak_glquake_compatible:
-        # http://speeddemosarchive.com/quake/qdq/movies/sds.html
-        md5: f05b7452ae725e060fb3d14f7731fb00
-
-  quake-dissolution:
-    files:
-      rogue/pak0.pak:
-        alternatives:
-        - rogue/pak0.pak_cd
-        - rogue/pak0.pak_steam
-        - rogue/pak0.pak_both_packs_cd
-
-      rogue/pak0.pak_cd:
-        md5: f8898a483b131de21581656c94f3c1a4
-
-      rogue/pak0.pak_steam:
-        md5: f71428763229bdb373f00a547296efe3
-
-      rogue/pak0.pak_both_packs_cd:
-        md5: c38a4e04219c317cd1b02f386bdfe11f
-
-...
-# vim:set sw=2 sts=2 et:
diff --git a/data/quake.yaml b/data/quake.yaml
new file mode 100644
index 0000000..e6ce670
--- /dev/null
+++ b/data/quake.yaml
@@ -0,0 +1,167 @@
+%YAML 1.2
+---
+packages:
+  quake-registered:
+    type: full
+    install_to: usr/share/games/quake
+    install:
+    - id1/pak0.pak_106
+    - id1/pak1.pak
+
+  quake-shareware:
+    type: demo
+    install_to: usr/share/games/quake
+    install:
+    - id1/pak0.pak_106
+
+  quake-armagon:
+    type: expansion
+    install_files:
+      hipnotic/pak0.pak:
+        alternatives:
+        - hipnotic/pak0.pak_cd
+        - hipnotic/pak0.pak_sds_patched
+
+  quake-dissolution:
+    install_files:
+      rogue/pak0.pak:
+        alternatives:
+        - rogue/pak0.pak_cd
+        - rogue/pak0.pak_steam_20110426
+        - rogue/pak0.pak_both_packs_cd
+
+      rogue/pak0.pak_cd:
+        distinctive_name: false
+        md5: f8898a483b131de21581656c94f3c1a4
+
+      rogue/pak0.pak_steam_20110426:
+        distinctive_name: false
+        md5: f71428763229bdb373f00a547296efe3
+
+      # This is also the version available on Steam, as of 2015-01-03.
+      rogue/pak0.pak_both_packs_cd:
+        distinctive_name: false
+        md5: c38a4e04219c317cd1b02f386bdfe11f
+
+files:
+  hipnotic/pak0.pak_cd:
+    look_for:
+    - hipnotic/pak0.pak
+    distinctive_name: false
+    size: 35527205
+
+  # http://speeddemosarchive.com/quake/qdq/movies/sds.html
+  hipnotic/pak0.pak_sds_patched:
+    look_for:
+    - hipnotic/pak0.pak
+    distinctive_name: false
+
+  id1/pak0.pak_106:
+    install_as: id1/pak0.pak
+    size: 18689235
+    distinctive_name: false
+
+  id1/pak1.pak:
+    size: 34257856
+
+  # This is not actually any use to us; included for completeness only
+  id1/pak0.pak_101:
+    md5: 85fc9cee2035b66290da1e33be2ac86b
+
+  # Original Quake CD-ROMs apparently contain this.
+  q101_int.1:
+    provides:
+    - q101_int_1+2.exe
+    md5: 752f49131bb3ba832346e873c1bcfdc6
+    unpack:
+      format: cat
+      later_parts:
+      - q101_int.2
+
+  q101_int_1+2.exe:
+    # FIXME: this should also contain one of the flavours of pak0.pak.
+    # Which one is it?
+    skip_hash_matching: true
+    provides:
+    - id1/pak1.pak
+    unpack:
+      format: lha
+      unpack:
+      - id1/pak1.pak
+
+  q101_int.2:
+    md5: 9ed67b39020575771e29645d977c9216
+
+  quake106.zip:
+    provides:
+    - quake106.zip_resource.1
+    download:
+      idstuff-mirrors:
+        path: quake
+    unpack:
+      format: zip
+
+  quake106.zip_resource.1:
+    look_for:
+    - resource.1
+    provides:
+    - id1/pak0.pak_106
+    unpack:
+      format: lha
+      unpack:
+      - id1/pak0.pak
+
+# FIXME: this part isn't used yet
+music:
+  quake-music:
+    install_to: usr/share/games/quake/id1/music
+    rip_cd:
+      encoding: vorbis
+      filename_format: track%02d.ogg
+      first_track: 2
+      last_track: 9
+
+  quake-armagon-music:
+    install_to: usr/share/games/quake/hipnotic/music
+    rip_cd:
+      encoding: vorbis
+      filename_format: track%02d.ogg
+      first_track: 2
+      last_track: 9
+
+  quake-dissolution-music:
+    install_to: usr/share/games/quake/rogue/music
+    rip_cd:
+      encoding: vorbis
+      filename_format: track%02d.ogg
+      first_track: 2
+      last_track: 9
+
+md5sums: |
+  0ab83681aaf841c4320269e02941a14a  hipnotic/pak0.pak_cd
+  f05b7452ae725e060fb3d14f7731fb00  hipnotic/pak0.pak_sds_patched
+  5906e5998fc3d896ddaf5e6a62e03abb  id1/pak0.pak_106
+  d76b3e5678f0b64ac74ce5e340e6a685  id1/pak1.pak
+  c38a4e04219c317cd1b02f386bdfe11f  rogue/pak0.pak_both_packs_cd
+  8cee4d03ee092909fdb6a4f84f0c1357  quake106.zip
+  994d127ea51ba4bae1030cb7242806aa  quake106.zip_resource.1
+
+sha1sums: |
+  1b089a41dd0cf9268668a5072acfb858a7fb8cc2  hipnotic/pak0.pak_cd
+  36b42dc7b6313fd9cabc0be8b9e9864840929735  id1/pak0.pak_106
+  6fd0d1643047612f41afb2001b972d830c792921  id1/pak1.pak
+  78df8ce771d1bef5eb9da3d51c7628b11b4ae2c8  rogue/pak0.pak_both_packs_cd
+  f8a1a509b094ccdbed3c54b96f7d9b351c0898f5  quake106.zip
+  5301abe61da5876aac74f8a112e0e66ff1ce1aea  quake106.zip_resource.1
+
+
+sha256sums: |
+  62b83569ba975015535be73407796ce0829ebcfa75a68fb29c67514649dc655f  hipnotic/pak0.pak_cd
+  35a9c55e5e5a284a159ad2a62e0e8def23d829561fe2f54eb402dbc0a9a946af  id1/pak0.pak_106
+  94e355836ec42bc464e4cbe794cfb7b5163c6efa1bcc575622bb36475bf1cf30  id1/pak1.pak
+  c3c40408f953e2de99f241dd85bf7854b69f1ae264b4e55a5657ef2ab12201a7  rogue/pak0.pak_both_packs_cd
+  ec6c9d34b1ae0252ac0066045b6611a7919c2a0d78a3a66d9387a8f597553239  quake106.zip
+  c192c9c71bee41750dd7d14c99378766d61e077977b9d13d1a457b8d9eabe34a  quake106.zip_resource.1
+
+...
+# vim:set sw=2 sts=2 et:
diff --git a/quake.mk b/quake.mk
index 391f0c7..218d955 100644
--- a/quake.mk
+++ b/quake.mk
@@ -6,10 +6,10 @@ outdir = $(CURDIR)/out
 
 QUAKEDEB = $(outdir)/$(PACKAGE)_$(VERSION)_all.deb
 
-ifeq ($(filter-out quake-music quake-%-music,$(PACKAGE)),)
-
 all: do-$(PACKAGE)
 
+ifeq ($(filter-out quake-music quake-%-music,$(PACKAGE)),)
+
 do-${PACKAGE}: do-common
 	install -m644 quake/quake-music.copyright ${outdir}/quake/${PACKAGE}.copyright
 	( \
@@ -30,6 +30,8 @@ clean:
 
 else
 
+do-${PACKAGE}: ${QUAKEDEB} out/${PACKAGE}.control out/${PACKAGE}.copyright
+
 $(QUAKEDEB): \
 	$(builddir)/$(PACKAGE)/DEBIAN/md5sums \
 	$(builddir)/$(PACKAGE)/DEBIAN/control \
@@ -75,6 +77,12 @@ $(builddir)/$(PACKAGE)/DEBIAN/control: quake-common/DEBIAN/control.in
 	  echo Conflicts: quake-registered >> $@; \
 	fi
 
+out/${PACKAGE}.copyright: ${builddir}/${PACKAGE}/usr/share/doc/${PACKAGE}/copyright
+	install -m644 $< $@
+
+out/${PACKAGE}.control: ${builddir}/${PACKAGE}/DEBIAN/control
+	install -m644 $< $@
+
 fixperms:
 	find $(builddir)/$(PACKAGE) -type f -print0 | xargs -0 chmod 644
 	find $(builddir)/$(PACKAGE) -type d -print0 | xargs -0 chmod 755
diff --git a/supported/quake b/supported/quake
index ad9618c..2fbffd5 100644
--- a/supported/quake
+++ b/supported/quake
@@ -105,7 +105,13 @@ verify_args() {
 }
 
 go() {
-    
+    # Not the default because it doesn't yet support music
+    if [ -n "$GDP_PREFER_YAML" ]; then
+        . $LIBDIR/via-python
+        gdp_data_driven quake "$@"
+        return $?
+    fi
+
     verify_args "$@"
     case "$method" in
         "guess")

-- 
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