[SCM] Installer for game data files branch, quake, updated. 96ca7132050fb5efd8d92a7f7c5a374a234f002d

Jon Dowland jmtd at debian.org
Tue Apr 5 21:05:54 UTC 2011


The following commit has been merged in the quake branch:
commit a745f905812557a6b2b3ced5bd7e4f866dea0f2e
Author: Jon Dowland <jmtd at debian.org>
Date:   Tue Apr 5 21:47:14 2011 +0100

    implement building the template quake .deb

diff --git a/Makefile b/Makefile
index ce6cbe1..6225d4e 100644
--- a/Makefile
+++ b/Makefile
@@ -10,6 +10,7 @@ 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)
 	make -f rott.mk VERSION=$(VERSION)
 	make -f doom-common.mk IWAD=heretic VERSION=$(VERSION) \
 		CONTROLIN=heretic/DEBIAN/control.in \
@@ -27,6 +28,7 @@ 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
 	make -f rott.mk VERSION=$(VERSION) clean
 	make -f doom-common.mk IWAD=heretic VERSION=$(VERSION) \
 		CONTROLIN=heretic/DEBIAN/control.in \
diff --git a/quake-data/DEBIAN/control.in b/quake-data/DEBIAN/control.in
new file mode 100644
index 0000000..7786a56
--- /dev/null
+++ b/quake-data/DEBIAN/control.in
@@ -0,0 +1,16 @@
+Package: quake-data
+Version: VERSION
+Section: non-free/games
+Priority: optional
+Architecture: all
+Recommends: quake-engine
+Installed-Size: 500000
+Maintainer: Debian Games Team <pkg-games-devel at lists.alioth.debian.org>
+Description: Quake commercial data files
+ Quake requires an engine and game data to play. This package contains
+ the commercial data from id Software's game "Quake", and was generated
+ using the "game-data-packager" program from the Debian package of
+ the same name.
+ .
+ To play Quake using this data, install a package providing the
+ "quake-engine" virtual package.
diff --git a/quake3-data/copyright.in b/quake-data/copyright.in
similarity index 80%
copy from quake3-data/copyright.in
copy to quake-data/copyright.in
index 52ad291..f6036c2 100644
--- a/quake3-data/copyright.in
+++ b/quake-data/copyright.in
@@ -1,9 +1,10 @@
 The PACKAGE package was generated using game-data-packager.
-Copyright (C) 2008, 2009 Jon Dowland <jmtd at debian.org>.
+Copyright © 2008-2011 Jon Dowland <jmtd at debian.org>.
 
-The pk3 files under "/usr/share/games/quake3" are user-supplied
+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) 1999 by id Software, all rights reserved.
+package; they are copyright (c) 1996 by id Software, all rights
+reserved.
 
 The remainder of this package is covered by the following
 Licence:
diff --git a/quake.mk b/quake.mk
new file mode 100644
index 0000000..1516e86
--- /dev/null
+++ b/quake.mk
@@ -0,0 +1,45 @@
+# VERSION must be supplied by caller
+
+srcdir = $(CURDIR)
+builddir = $(CURDIR)/build
+outdir = $(CURDIR)/out
+
+QUAKEDEB = $(outdir)/quake-data_$(VERSION)_all.deb
+
+$(QUAKEDEB): \
+	$(builddir)/quake-data/DEBIAN/md5sums \
+	$(builddir)/quake-data/DEBIAN/control \
+	fixperms
+	install -d $(builddir)/quake-data/usr/share/games/quake/id1
+	cd $(builddir) && \
+	if [ `id -u` -eq 0 ]; then \
+		dpkg-deb -b quake-data $@ ; \
+	else \
+		fakeroot dpkg-deb -b quake-data $@ ; \
+	fi
+
+$(builddir)/quake-data/DEBIAN/md5sums: \
+	$(builddir)/quake-data/usr/share/doc/quake-data/changelog.gz \
+	$(builddir)/quake-data/usr/share/doc/quake-data/copyright
+	install -d `dirname $@`
+	cd $(builddir)/quake-data && find usr/ -type f  -print0 |\
+		xargs -0 md5sum >DEBIAN/md5sums
+
+$(builddir)/quake-data/usr/share/doc/quake-data/changelog.gz:
+	install -d `dirname $@`
+	gzip -c9 debian/changelog > $@
+
+$(builddir)/quake-data/usr/share/doc/quake-data/copyright:
+	install -d `dirname $@`
+	m4 -DPACKAGE=$(PACKAGE) quake-data/copyright.in > $@
+
+$(builddir)/quake-data/DEBIAN/control: quake-data/DEBIAN/control.in
+	install -d `dirname $@`
+	m4 -DVERSION=$(VERSION) < quake-data/DEBIAN/control.in > $@
+
+fixperms:
+	find $(builddir)/quake-data -type f -print0 | xargs -0 chmod 644
+	find $(builddir)/quake-data -type d -print0 | xargs -0 chmod 755
+
+clean:
+	rm -rf $(QUAKEDEB) $(builddir)/quake-data
diff --git a/supported/quake b/supported/quake
index 7655b88..9bcb8f2 100644
--- a/supported/quake
+++ b/supported/quake
@@ -90,10 +90,23 @@ dir_method() {
     common_method
 }
 
+DEBBASE="quake-data_${GAME_PACKAGE_VERSION}_all.deb"
+DEB="$DATADIR/$DEBBASE"
+
 common_method() {
     pak0sum=85fc9cee2035b66290da1e33be2ac86b
     pak1sum=d76b3e5678f0b64ac74ce5e340e6a685
     verify_md5sum "$pak0" "$pak0sum"
     verify_md5sum "$pak1" "$pak1sum"
-    die "remainder not implemented yet"
+
+    OUTFILE=`unravel "$OUTDIR"`"/$DEBBASE"
+    cp -p "$DEB" "$OUTFILE"
+
+    slipstream_permcheck "$OUTFILE"
+    slipstream_unpack "$OUTFILE"
+    slipstream_file "$pak0" "usr/share/games/quake/id1/pak0.pak"
+    slipstream_file "$pak1" "usr/share/games/quake/id1/pak1.pak"
+    slipstream_instsize
+    slipstream_repack "$OUTFILE"
+    slipstream_cleanup
 }

-- 
Installer for game data files



More information about the Pkg-games-commits mailing list