[game-data-packager] 06/24: Convert Quake III Arena to the declarative style
Simon McVittie
smcv at debian.org
Tue Dec 30 01:32:03 UTC 2014
This is an automated email from the git hooks/post-receive script.
smcv pushed a commit to branch master
in repository game-data-packager.
commit e69b1330bdf1374caaeb01359870e1f4aa01f058
Author: Simon McVittie <smcv at debian.org>
Date: Mon Dec 29 14:05:16 2014 +0000
Convert Quake III Arena to the declarative style
---
Makefile | 4 +-
.../DEBIAN/control => data/quake3-data.control.m4 | 0
.../copyright.in => data/quake3-data.copyright | 2 +-
data/quake3-data.yaml | 89 +++++++++++++
quake3.mk | 45 -------
supported/quake3 | 139 +--------------------
6 files changed, 97 insertions(+), 182 deletions(-)
diff --git a/Makefile b/Makefile
index 99f65da..6a5ab97 100644
--- a/Makefile
+++ b/Makefile
@@ -7,7 +7,7 @@ default: $(DIRS)
chmod 0644 ./out/changelog.gz
install -m644 data/*.yaml out/
install -m644 data/*.copyright out/
- set -e; for x in data/*.control.m4; do \
+ set -e; for x in data/*.*.m4; do \
o="out/$${x#data/}"; \
o="$${o%.m4}"; \
m4 -DVERSION=${VERSION} < $$x > $$o; \
@@ -44,7 +44,6 @@ default: $(DIRS)
make -f quake2.mk VERSION=$(VERSION) PACKAGE=quake2-music
make -f quake2.mk VERSION=$(VERSION) PACKAGE=quake2-xatrix
make -f quake2.mk VERSION=$(VERSION) PACKAGE=quake2-rogue
- make -f quake3.mk LONG="Quake III Arena" VERSION=$(VERSION)
make -f hexen2.mk VERSION=$(VERSION)
make -f rott.mk VERSION=$(VERSION)
make -f wolf3d.mk VERSION=$(VERSION)
@@ -96,7 +95,6 @@ clean:
make -f quake2.mk VERSION=$(VERSION) PACKAGE=quake2-xatrix clean
make -f quake2.mk VERSION=$(VERSION) PACKAGE=quake2-rogue clean
make -f hexen2.mk VERSION=$(VERSION) clean
- make -f quake3.mk LONG="Quake III Arena" VERSION=$(VERSION) clean
make -f rott.mk VERSION=$(VERSION) clean
make -f wolf3d.mk VERSION=$(VERSION) clean
make -f lgeneral.mk LONG="LGeneral" VERSION=$(VERSION) clean
diff --git a/quake3-data/DEBIAN/control b/data/quake3-data.control.m4
similarity index 100%
rename from quake3-data/DEBIAN/control
rename to data/quake3-data.control.m4
diff --git a/quake3-data/copyright.in b/data/quake3-data.copyright
similarity index 93%
rename from quake3-data/copyright.in
rename to data/quake3-data.copyright
index 24c885f..ed8c741 100644
--- a/quake3-data/copyright.in
+++ b/data/quake3-data.copyright
@@ -1,4 +1,4 @@
-The PACKAGE package was generated using game-data-packager.
+This package was generated using game-data-packager.
Copyright © 2008-2013 Jonathan Dowland <jmtd at debian.org>.
The pk3 files under "/usr/share/games/quake3" are user-supplied
diff --git a/data/quake3-data.yaml b/data/quake3-data.yaml
new file mode 100644
index 0000000..67e0541
--- /dev/null
+++ b/data/quake3-data.yaml
@@ -0,0 +1,89 @@
+%YAML 1.2
+---
+package: quake3-data
+install_to: usr/share/games/quake3
+compress_deb: false
+
+install_files_from_cksums: |
+ # Retail
+ 1131927141 479493658 baseq3/pak0.pk3
+ # Patch
+ 3518406034 374405 baseq3/pak1.pk3
+ 243530540 7511182 baseq3/pak2.pk3
+ 987913107 276305 baseq3/pak3.pk3
+ 1445361719 9600350 baseq3/pak4.pk3
+ 3989134593 191872 baseq3/pak5.pk3
+ 1938352652 7346884 baseq3/pak6.pk3
+ 241293937 320873 baseq3/pak7.pk3
+ 1541013579 454478 baseq3/pak8.pk3
+
+files:
+ linuxq3apoint-1.32b-3.x86.run:
+ download:
+ quake3-mirrors:
+ path: .
+ idstuff-mirrors:
+ path: quake3/linux
+ provides:
+ - baseq3/pak1.pk3
+ - baseq3/pak2.pk3
+ - baseq3/pak3.pk3
+ - baseq3/pak4.pk3
+ - baseq3/pak5.pk3
+ - baseq3/pak6.pk3
+ - baseq3/pak7.pk3
+ - baseq3/pak8.pk3
+ md5: c71fdddccb20e8fc393d846e9c61d685
+ sha1: 802d84af0d515db50a496c4c55d1f1c4f40a9239
+ sha256: c36132c5556b35e01950f1e9c646235033a5130f87ad776ba2bc7becf4f4f186
+ unpack:
+ format: tar.gz
+ skip: 8251
+
+md5sums: |
+ 1197ca3df1e65f3c380f8abc10ca43bf baseq3/pak0.pk3
+ 48911719d91be25adb957f2d325db4a0 baseq3/pak1.pk3
+ d550ce896130c47166ca44b53f8a670a baseq3/pak2.pk3
+ 968dfd0f30dad67056115c8e92344ddc baseq3/pak3.pk3
+ 24bb1f4fcabd95f6e320c0e2f62f19ca baseq3/pak4.pk3
+ 734dcd06d2cbc7a16432ff6697f1c5ba baseq3/pak5.pk3
+ 873888a73055c023f6c38b8ca3f2ce05 baseq3/pak6.pk3
+ 8fd38c53ed814b64f6ab03b5290965e4 baseq3/pak7.pk3
+ d8b96d429ca4a9c289071cb7e77e14d2 baseq3/pak8.pk3
+
+sha1sums: |
+ 9d588ea65e92944d3e23eeb6ec08f1dd666f4658 baseq3/pak0.pk3
+ 0be8c392b0237304fd823206d7b6ef72e0f656d5 baseq3/pak1.pk3
+ 507a86bdf8e3a8315f66a6b638fe1cabefd44425 baseq3/pak2.pk3
+ 8a8719837537b511f39c616e50918f2d1da4686b baseq3/pak3.pk3
+ d9b27a8e573dcda5dcb286a0e12e82af769c9d8b baseq3/pak4.pk3
+ a6ba9930c5cec6ba7431f6d8750426c221d7522c baseq3/pak5.pk3
+ 5716d9b9099067549f46ca77cf2cc7f8c0f498da baseq3/pak6.pk3
+ c20d9301aa833baaffed2194be46c89c42b5b4d1 baseq3/pak7.pk3
+ 657e2d95041ca37f7cfb23fa23850d0aad09e26c baseq3/pak8.pk3
+
+sha256sums: |
+ 7ce8b3910620cd50a09e4f1100f426e8c6180f68895d589f80e6bd95af54bcae baseq3/pak0.pk3
+ d4ffd60b4b414c3419499e321b6f5c2e933cf082df85823ad2d6ae2f803e1682 baseq3/pak1.pk3
+ ccae938a2f13a03b24902d675181d516a431699701ed88023a307f34b5bcd58c baseq3/pak2.pk3
+ d03c0a0e06b99f9ecca2be7389f57faed406e85f7c09b9c56afdfa53ba25e312 baseq3/pak3.pk3
+ af5f6d5c82fe4440ae0bb660f0648d1fa1731a9e8305a9eb652aa243428697f1 baseq3/pak4.pk3
+ 69f87070ca7719e252a3ba97e6483f6663939c987ede550d1268d4d9a07b45bc baseq3/pak5.pk3
+ bb4f0ae2bf603b050fb665436d3178ce7c1c20360e67bacf7c14d93daff38daf baseq3/pak6.pk3
+ de6283ce23e3486a2622c5dbf73d3721a59f24debd380e90f43a97d952fea283 baseq3/pak7.pk3
+ 812c9e97f231e89cefede3848c6110b7bd34245093af6f22c2cacde3e6b15663 baseq3/pak8.pk3
+
+# Not used yet
+sha512sums: |
+ ac7b8a6c4a5e9a90d44ae3d4fb854473c5b80b7bf448c6ceaf5b48b69abc6be7a2a83eb4cc6b7dfa54e75d8273841786db14f4c6e8a2b0ecf5ffe27d6f657622 baseq3/pak0.pk3
+ 635196a76ac3374a37726b6e474e2cbda6a57cef7d1d97ce53732deee7fd9c446b10c4ce84ec3836587ca85e3100d0573eb2cc598615f6391c5e9a315da00b2f baseq3/pak1.pk3
+ de515c32ded0d7e05162dd5b6b55d4054ee946cfe917ffe12488d120307d7b764a46a02f39b0af63456de8f702b4bef4f7606ac5217882453dc65baa0a9be688 baseq3/pak2.pk3
+ a67428948436feaeb92aeca0fb7c4a6476ea6cd49ec2a15eeac22cc011d4d043b06c18d0126e03c8d37edec9816fe1f3d3ff087f9bb89cee15ca5cdb1a61fcc3 baseq3/pak3.pk3
+ 027c398249bba2e025a6621f9234900a1365b0a67fa85fa25bca0843eda0fc32d127450e6909bc9f3058bfa450817fc6bff5ee697bc088dec9be4dfd527b1f48 baseq3/pak4.pk3
+ a9889a31008476fe543384ffdba63da824ebba882c87ddd3b2d723184020a3ded8d9c74dd8721088947383bcfd96e354dbeee8bc959638a4e910ce633e9062df baseq3/pak5.pk3
+ 7a229cebaa262716aa80bfd59ba1f5207c988e48580e2a801de644f3f1c0ac82d64e0cc83b8cc780400f5a0bb1e09a98b1f640edace30101b517eec73a514f06 baseq3/pak6.pk3
+ f9442fa0dfa6391056a082fa552014e27ad2620cb291302655c16265afd5c8bdb304ef3b06ae1255d57d50c00ecae030d4337708d01bd67af252fc006be87244 baseq3/pak7.pk3
+ dcae254ac87a1d8453d5fb301105d9f1e55234e8044d6631f07f645f56c37b3b11aa168df1fe4ce9838f9f7c5e5ae4d6837286aef6297cae44094f750692ab5f baseq3/pak8.pk3
+
+...
+# vim:set sw=2 sts=2 et:
diff --git a/quake3.mk b/quake3.mk
deleted file mode 100644
index 9726c1f..0000000
--- a/quake3.mk
+++ /dev/null
@@ -1,45 +0,0 @@
-# VERSION must be supplied by caller
-
-srcdir = $(CURDIR)
-builddir = $(CURDIR)/build
-outdir = $(CURDIR)/out
-
-QUAKE3DEB = $(outdir)/quake3-data_$(VERSION)_all.deb
-
-$(QUAKE3DEB): \
- $(builddir)/quake3-data/DEBIAN/md5sums \
- $(builddir)/quake3-data/DEBIAN/control \
- fixperms_quake3
- install -d $(builddir)/quake3-data/usr/share/games/quake3/baseq3
- cd $(builddir) && \
- if [ `id -u` -eq 0 ]; then \
- dpkg-deb -b quake3-data $@ ; \
- else \
- fakeroot dpkg-deb -b quake3-data $@ ; \
- fi
-
-$(builddir)/quake3-data/DEBIAN/md5sums: \
- $(builddir)/quake3-data/usr/share/doc/quake3-data/changelog.gz \
- $(builddir)/quake3-data/usr/share/doc/quake3-data/copyright
- install -d `dirname $@`
- cd $(builddir)/quake3-data && find usr/ -type f -print0 |\
- xargs -0 md5sum >DEBIAN/md5sums
-
-$(builddir)/quake3-data/usr/share/doc/quake3-data/changelog.gz:
- install -d `dirname $@`
- gzip -c9 debian/changelog > $@
-
-$(builddir)/quake3-data/usr/share/doc/quake3-data/copyright:
- install -d `dirname $@`
- m4 -DPACKAGE=$(PACKAGE) quake3-data/copyright.in > $@
-
-$(builddir)/quake3-data/DEBIAN/control:
- install -d `dirname $@`
- m4 -DVERSION=$(VERSION) < quake3-data/DEBIAN/control > $@
-
-fixperms_quake3:
- find $(builddir)/quake3-data -type f -print0 | xargs -0 chmod 644
- find $(builddir)/quake3-data -type d -print0 | xargs -0 chmod 755
-
-clean:
- rm -rf $(QUAKE3DEB) $(builddir)/quake3-data
diff --git a/supported/quake3 b/supported/quake3
index 83717ce..f30b736 100644
--- a/supported/quake3
+++ b/supported/quake3
@@ -2,144 +2,17 @@
SHORTNAME=quake3
LONGNAME="Quake III Arena"
+deb=quake3-data
+basedir='/usr/share/games/quake3'
-POINTFILE=linuxq3apoint-1.32b-3.x86.run
-Q3MIRRORFILE=/etc/game-data-packager/quake3-mirrors
-IDMIRRORFILE=/etc/game-data-packager/idstuff-mirrors
+. $LIBDIR/via-python
-if [ "$0" = "./game-data-packager" ]; then
- Q3MIRRORFILE="./etc/quake3-mirrors"
- IDMIRRORFILE="./etc/idstuff-mirrors"
-fi
-
-quake3_usage() {
+usage() {
echo "quake3 game arguments:"
printf "\tmountpoint - Quake III Arena CD mount-point or baseq3/pak0.pk3 filename\n"
printf "\tpoint release - ${POINTFILE}\n"
}
-get_mirror () {
- (
- if [ -s "${Q3MIRRORFILE}" ]; then
- grep -v '^#' "${Q3MIRRORFILE}"
- fi
- grep -v '^#' "${IDMIRRORFILE}" | sed 's#$#/quake3/linux#'
- ) | sort -R | head -n1
-}
-
-parse_args() {
- if [ $# -eq 1 ] && [ -f ${IDMIRRORFILE} ]; then
- CDROM="$1"
- POINT="false"
- elif [ $# -eq 2 ]; then
- CDROM="$1"
- POINT="$2"
- else
- usage >&2
- quake3_usage >&2
- exit 1
- fi
-}
-
-fetch_point_release() {
-
- if [ "x$POINT" != xfalse ]; then
- cp -p "$POINT" "$WORKDIR/$POINTFILE"
- return
- fi
-
- if ! mirror=`get_mirror`; then
- echo "${POINTFILE} or a download mirror in $Q3MIRRORFILE or $IDMIRRORFILE is required" >&2
- exit 1
- fi
-
- wget -O $WORKDIR/$POINTFILE $mirror/$POINTFILE
-}
-
-find_pak0() {
- # identify where pak0.pk3 is (underneath the CD-ROM mount-point)
- # and set the relevant variable
-
- if [ -f "$CDROM" ] && [ "${CDROM%pak0.pk3}" != "$CDROM" ]; then
- PAKFILE="$CDROM"
- elif [ -f "$CDROM/Quake3/baseq3/pak0.pk3" ]; then
- PAKFILE="$CDROM/Quake3/baseq3/pak0.pk3"
- elif [ -f "$CDROM/baseq3/pak0.pk3" ]; then
- PAKFILE="$CDROM/baseq3/pak0.pk3"
- else
- PAKFILE=`find "$CDROM" -type f -name "pak0.pk3" | head -1`
- fi
- if [ "" = "$PAKFILE" ]; then
- echo "couldn't find pak0.pk3 under $CDROM." >&2
- exit 1
- fi
- cp -p "$PAKFILE" "$WORKDIR/pak0.pk3"
-}
-
-# TODO: roll a more advanced check_sums into the game-package-shared
-check_sums() {
- POINTMD5=c71fdddccb20e8fc393d846e9c61d685
- SUM=`md5sum "$WORKDIR/$POINTFILE" | cut -d' ' -f1`
- if [ "$SUM" != "$POINTMD5" ]; then
- echo "error: $POINTFILE sum ($SUM) does not match expected sum" >&2
- echo "($POINTMD5)" >&2
- exit 1
- fi
-
- PAK0MD5=1197ca3df1e65f3c380f8abc10ca43bf
- SUM=`md5sum $WORKDIR/pak0.pk3 | cut -d' ' -f1`
- if [ "$SUM" != "$PAK0MD5" ]; then
- echo "error: pak0.pk3 sum ($SUM) does not match expected sum" >&2
- echo "($PAK0MD5)" >&2
- exit 1
- fi
-}
-
-unpack_point() {
- mkdir "$WORKDIR/unpacked"
- (
- cd "$WORKDIR/unpacked"
- dd if=$WORKDIR/$POINTFILE ibs=1 obs=1024 skip=8251 |
- tar zxf -
- )
- # now interested in $WORKDIR/unpacked/baseq3/pak[1-8].pk3
+go () {
+ gdp_data_driven "$@"
}
-
-DEBBASE="${SHORTNAME}-data_${GAME_PACKAGE_VERSION}_all.deb"
-BASEQ3=/usr/share/games/quake3/baseq3
-
-DEB="$DATADIR/$DEBBASE"
-
-go() {
- parse_args $*
- fetch_point_release
- find_pak0
- check_sums
- unpack_point
-
- DEST="${BASEQ3#/}"
-
- # smcv FIXME: copied from lib/doom-common
- if [ "" = "$OUTDIR" ]; then
- OUTFILE="$WORKDIR/out.deb"
- else
- OUTFILE=`unravel "$OUTDIR"`"/$DEBBASE"
- fi
- # smcv FIXME: end
-
- cp -p "$DEB" "$OUTFILE"
- slipstream "$OUTFILE" "$DEST" pak0.pk3 \
- unpacked/baseq3/pak1.pk3 \
- unpacked/baseq3/pak2.pk3 \
- unpacked/baseq3/pak3.pk3 \
- unpacked/baseq3/pak4.pk3 \
- unpacked/baseq3/pak5.pk3 \
- unpacked/baseq3/pak6.pk3 \
- unpacked/baseq3/pak7.pk3 \
- unpacked/baseq3/pak8.pk3
-
- rm -fr $WORKDIR/unpacked
- rm -f $WORKDIR/pak0.pk3 $WORKDIR/linuxq3apoint-1.32b-3.x86.run
-}
-
-
--
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