[game-data-packager] 140/293: Define and use alternatives for quake-engine

Simon McVittie smcv at debian.org
Fri Oct 14 00:12:07 UTC 2016


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

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

commit 0b37eda964c8c54edc240c95ed70896fa583026e
Author: Simon McVittie <smcv at debian.org>
Date:   Wed Jul 6 23:20:10 2011 +0100

    Define and use alternatives for quake-engine
    
    Also define quake-engine-server, but do not use it, yet.
    
    Also specifically depend on quake-registered | quake-shareware, not
    on quake-data.
---
 debian/control    |  6 ++++--
 debian/policy.txt | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
 quake.sh          |  2 +-
 3 files changed, 54 insertions(+), 3 deletions(-)

diff --git a/debian/control b/debian/control
index b63c28a..651daa3 100644
--- a/debian/control
+++ b/debian/control
@@ -8,11 +8,13 @@ Standards-Version: 3.9.2.0
 
 Package: quake
 Architecture: all
-Depends: ${misc:Depends}, quakespasm, quake-data | game-data-packager
+Depends: ${misc:Depends},
+         quakespasm | quake-engine,
+         quake-registered | quake-shareware | game-data-packager
 Recommends: x11-utils | zenity | kdebase-bin
 Description: classic first person shooter
  This package contains a launcher script and menu entry to play
- Quake 1 with the Quakespasm engine.
+ Quake 1 with any suitable engine.
  .
  To make this package useful, you will need to create and install the
  non-distributable quake-registered or quake-shareware package, by using the
diff --git a/debian/policy.txt b/debian/policy.txt
new file mode 100644
index 0000000..f0587c7
--- /dev/null
+++ b/debian/policy.txt
@@ -0,0 +1,49 @@
+Debian Quake mini-policy, version 1
+===================================
+
+Alternatives
+------------
+
+quake-engine is any Quake engine that, when run with -basedir DIR
+and optionally -hipnotic or -rogue (where DIR contains at least id1/pak0.pak),
+acts as a Quake client.
+
+quake-engine-server is any Quake engine that, when run with the command-line
+option -dedicated and the options above, acts as a Quake server. (By this
+definition, almost every quake-engine could also be a quake-engine-server, but
+engines where there is a separate server build with reduced dependencies
+do not need to register their client as a potential server.)
+
+Neither quake-engine nor quake-engine-server is really meant to be run
+directly, so the alternatives go in /usr/lib/quake:
+
+update-alternatives --quiet --install /usr/lib/quake/quake-engine \
+    quake-engine /usr/bin/MYENGINE 0
+update-alternatives --quiet --install /usr/lib/quake/quake-engine-server \
+    quake-engine-server /usr/bin/MYSERVER 0
+
+Quake engines do not generally share a dot-directory, so installing a "better"
+engine would hide user configuration and save-games. Accordingly, every
+implementation of the alternatives should register with priority 0, so that
+the first engine that the user installs is considered "best" by
+update-alternatives.
+
+Virtual packages
+----------------
+
+Packages providing quake-engine must implement the quake-engine alternative.
+
+Packages providing quake-engine-server must implement the quake-engine-server
+alternative.
+
+Non-Quake games
+---------------
+
+Games that use the Quake engine (like Nexuiz or OpenQuartz) should only depend
+on quake-engine or quake-engine-server, or use the corresponding alternatives,
+if they would run acceptably well on an unmodified id Quake engine with no
+community patches or extra features (so no JPEG textures, for instance).
+
+(For instance, Nexuiz relies on features from DarkPlaces, which is its
+"official" engine, so it should depend on darkplaces directly and not rely
+on quake-engine.)
diff --git a/quake.sh b/quake.sh
index adec96d..8c0e586 100644
--- a/quake.sh
+++ b/quake.sh
@@ -3,7 +3,7 @@
 # quake.sh - launcher script for quake 1
 
 data_location=/usr/share/games/quake
-engine_path=/usr/games/quakespasm
+engine_path=/usr/lib/quake/quake-engine
 no_data_msg="Missing data; see /usr/share/doc/quake/README.Debian"
 
 main() {

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