[SCM] Installer for game data files branch, quake, updated. 10c435acddf7e3f62af4a8a45be3c6885d1f93bc

Stephen Kitt steve at sk2.org
Thu Apr 14 21:39:02 UTC 2011


The following commit has been merged in the quake branch:
commit 10c435acddf7e3f62af4a8a45be3c6885d1f93bc
Author: Stephen Kitt <steve at sk2.org>
Date:   Thu Apr 14 23:37:43 2011 +0200

    Add support for Quake mission packs.

diff --git a/Makefile b/Makefile
index 9c4cc49..6c3bf6a 100644
--- a/Makefile
+++ b/Makefile
@@ -10,8 +10,14 @@ default: $(DIRS)
 	make -f doom-common.mk IWAD=plutonia \
 		LONG="Final Doom: The Plutonia Experiment" VERSION=$(VERSION)
 	make -f quake3.mk LONG="Quake III Arena" VERSION=$(VERSION)
-	make -f quake.mk LONG="Quake" VERSION=$(VERSION) PACKAGE=quake-registered
-	make -f quake.mk LONG="Quake shareware" VERSION=$(VERSION) PACKAGE=quake-shareware
+	make -f quake.mk LONG="Quake" VERSION=$(VERSION) PACKAGE=quake-registered \
+		FOLDER=id1
+	make -f quake.mk LONG="Quake shareware" VERSION=$(VERSION) \
+		PACKAGE=quake-shareware FOLDER=id1
+	make -f quake.mk LONG="Quake mission pack 1: Scourge of Armagon" \
+		VERSION=$(VERSION) PACKAGE=quake-armagon FOLDER=hipnotic
+	make -f quake.mk LONG="Quake mission pack 2: Dissolution of Eternity" \
+		VERSION=$(VERSION) PACKAGE=quake-dissolution FOLDER=rogue
 	make -f rott.mk VERSION=$(VERSION)
 	make -f doom-common.mk IWAD=heretic VERSION=$(VERSION) \
 		CONTROLIN=heretic/DEBIAN/control.in \
@@ -29,8 +35,14 @@ clean:
 	make -f doom-common.mk IWAD=plutonia \
 		LONG="Final Doom: The Plutonia Experiment" VERSION=$(VERSION) clean
 	make -f quake3.mk LONG="Quake III Arena" VERSION=$(VERSION) clean
-	make -f quake.mk LONG="Quake" VERSION=$(VERSION) clean PACKAGE=quake-registered
-	make -f quake.mk LONG="Quake shareware" VERSION=$(VERSION) PACKAGE=quake-shareware clean
+	make -f quake.mk LONG="Quake" VERSION=$(VERSION) PACKAGE=quake-registered \
+		FOLDER=id1 clean
+	make -f quake.mk LONG="Quake shareware" VERSION=$(VERSION) \
+		PACKAGE=quake-shareware FOLDER=id1 clean
+	make -f quake.mk LONG="Quake mission pack 1: Scourge of Armagon" \
+		VERSION=$(VERSION) PACKAGE=quake-armagon FOLDER=hipnotic clean
+	make -f quake.mk LONG="Quake mission pack 2: Dissolution of Eternity" \
+		VERSION=$(VERSION) PACKAGE=quake-dissolution FOLDER=rogue clean
 	make -f rott.mk VERSION=$(VERSION) clean
 	make -f doom-common.mk IWAD=heretic VERSION=$(VERSION) \
 		CONTROLIN=heretic/DEBIAN/control.in \
diff --git a/debian/changelog b/debian/changelog
index 12a335c..18bf192 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+game-data-packager (27) experimental; urgency=low
+
+  * Add support for Quake mission packs (Scourge of Armagon and
+    Dissolution of Eternity).
+
+ -- Stephen Kitt <steve at sk2.org>  Thu, 14 Apr 2011 00:51:16 +0200
+
 game-data-packager (26) experimental; urgency=low
 
   * Add Heretic support.
diff --git a/quake-common/copyright.in b/quake-common/copyright.in
index f6036c2..7de5014 100644
--- a/quake-common/copyright.in
+++ b/quake-common/copyright.in
@@ -3,7 +3,7 @@ Copyright © 2008-2011 Jon Dowland <jmtd at debian.org>.
 
 The pak files under "/usr/share/games/quake" are user-supplied
 files that are not covered by the copyright or licence of this 
-package; they are copyright (c) 1996 by id Software, all rights
+package; they are Copyright © 1996-1997 by id Software, all rights
 reserved.
 
 The remainder of this package is covered by the following
diff --git a/quake.mk b/quake.mk
index a0a8cd4..eccc820 100644
--- a/quake.mk
+++ b/quake.mk
@@ -1,4 +1,4 @@
-# VERSION, PACKAGE and LONG must be supplied by caller
+# FOLDER, VERSION, PACKAGE and LONG must be supplied by caller
 
 srcdir = $(CURDIR)
 builddir = $(CURDIR)/build
@@ -10,7 +10,7 @@ $(QUAKEDEB): \
 	$(builddir)/$(PACKAGE)/DEBIAN/md5sums \
 	$(builddir)/$(PACKAGE)/DEBIAN/control \
 	fixperms
-	install -d $(builddir)/$(PACKAGE)/usr/share/games/quake/id1
+	install -d $(builddir)/$(PACKAGE)/usr/share/games/quake/$(FOLDER)
 	cd $(builddir) && \
 	if [ `id -u` -eq 0 ]; then \
 		dpkg-deb -b $(PACKAGE) $@ ; \
@@ -40,6 +40,8 @@ $(builddir)/$(PACKAGE)/DEBIAN/control: quake-common/DEBIAN/control.in
 	if [ "$(PACKAGE)" = "quake-registered" ]; then \
 	  echo Conflicts: quake-shareware >> $@; \
 	  echo Replaces: quake-shareware >> $@; \
+	elif [ "$(PACKAGE)" != "quake-shareware" ]; then \
+	  echo Depends: quake-registered >> $@; \
 	else \
 	  echo Conflicts: quake-registered >> $@; \
 	fi
diff --git a/supported/quake b/supported/quake
index 186185b..e2abf14 100644
--- a/supported/quake
+++ b/supported/quake
@@ -9,6 +9,10 @@ quake_usage() {
 \t\t-m path\t\tpath to a mounted Quake CD-ROM\n\
 \t\t-d path\t\tpath to an unpacked Quake directory\n\
 \t\t-s path\t\tpath to a Quake shareware ZIP\n\
+\t\t-mp1 path\t\tpath to an unpacked Scourge of Armagon directory\n\
+\t\t\t\tor a mounted Scourge of Armagon CD\n\
+\t\t-mp2 path\t\tpath to an unpacked Dissolution of Eternity directory\n\
+\t\t\t\tor a mounted Dissolution of Eternity CD\n\
 \t\tpath\t\tpath to any of the above (game-data-packager will guess)\n"
 }
 
@@ -31,6 +35,10 @@ verify_args() {
                 method="dir"
             elif [ "$1" = "-s" ]; then
                 method="swzip"
+            elif [ "$1" = "-mp1" ]; then
+                method="mp1"
+            elif [ "$1" = "-mp2" ]; then
+                method="mp2"
             else
                 usage >&2
                 quake_usage >&2
@@ -61,6 +69,12 @@ go() {
         "swzip")
             swzip_method
             ;;
+        "mp1")
+            mp1_method
+            ;;
+        "mp2")
+            mp2_method
+            ;;
         *)
             die "internal error"
             ;;
@@ -80,6 +94,14 @@ guess_method() {
         debug "treating $mountpoint like a shareware ZIP"
         method="swzip"
         swzip_method
+    elif [ -f "$mountpoint/hipnotic/pak0.pak" ]; then
+        debug "treating $mountpoint like a Scourge of Armagon directory or CD"
+        method="mp1"
+        mp1_method
+    elif [ -f "$mountpoint/rogue/pak0.pak" ]; then
+        debug "treating $mountpoint like a Dissolution of Eternity directory or CD"
+        method="mp2"
+        mp2_method
     else
         die "couldn't figure out what method to use for mountpoint $mountpoint"
     fi
@@ -138,6 +160,29 @@ swzip_method() {
     common_method
 }
 
+mp1_method() {
+    pak0="$mountpoint/hipnotic/pak0.pak"
+    pak0sum=f05b7452ae725e060fb3d14f7731fb00
+    verify_md5sum "$pak0" "$pak0sum"
+
+    DEBBASE="quake-armagon_${GAME_PACKAGE_VERSION}_all.deb"
+    OUTFILE=`unravel "$OUTDIR"`"/$DEBBASE"
+    cp -p "$DATADIR/$DEBBASE" "$OUTFILE"
+
+    slipstream "$OUTFILE" "usr/share/games/quake/hipnotic/" "$pak0"
+}
+
+mp2_method() {
+    pak0="$mountpoint/rogue/pak0.pak"
+    pak0sum=f8898a483b131de21581656c94f3c1a4
+    verify_md5sum "$pak0" "$pak0sum"
+
+    DEBBASE="quake-dissolution_${GAME_PACKAGE_VERSION}_all.deb"
+    OUTFILE=`unravel "$OUTDIR"`"/$DEBBASE"
+    cp -p "$DATADIR/$DEBBASE" "$OUTFILE"
+
+    slipstream "$OUTFILE" "usr/share/games/quake/rogue/" "$pak0"
+}
 
 common_method() {
     pak0sum=85fc9cee2035b66290da1e33be2ac86b

-- 
Installer for game data files



More information about the Pkg-games-commits mailing list