[game-data-packager] 09/11: Use the gdp-launcher to run the Quake series
Simon McVittie
smcv at debian.org
Fri Oct 14 00:13:45 UTC 2016
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 aea47ca36ce878ffa56b1a01e5fab826d5cc31ae
Author: Simon McVittie <smcv at debian.org>
Date: Fri Oct 14 00:55:41 2016 +0100
Use the gdp-launcher to run the Quake series
This means we don't need xmessage or shell scripts - except for
Quake 3, because ioquake3 *also* runs xmessage under some circumstances.
---
Makefile | 106 ++------------------------------
debian/control | 10 +--
debian/etqw.install | 4 --
debian/quake.install | 1 -
debian/quake2.install | 1 -
debian/quake3.install | 2 -
debian/quake4.install | 4 --
runtime/README.binary.in | 8 ---
runtime/confirm-binary-only.sh | 134 -----------------------------------------
runtime/need-data.sh | 48 ---------------
10 files changed, 10 insertions(+), 308 deletions(-)
diff --git a/Makefile b/Makefile
index 8f8810f..1af212b 100644
--- a/Makefile
+++ b/Makefile
@@ -38,18 +38,11 @@ launcher_desktops := \
quake_layer_sizes = 16 22 32 48 256
quake_text = \
- out/quake \
- out/quake2 \
- out/quake3 \
- out/quake4 \
- out/etqw \
out/quake-server \
out/quake2-server \
out/quake3-server \
out/quake4-dedicated \
out/etqw-dedicated \
- out/README.etqw-bin \
- out/README.quake4-bin \
$(NULL)
quake_icons = \
@@ -193,78 +186,6 @@ out/48/quake3-team-arena.png: out/256/quake3-team-arena.png Makefile out/CACHEDI
install -d out/48
convert -resize 48x48 $< $@
-out/quake: runtime/quake.in out/CACHEDIR.TAG
- sed -e 's/@self@/quake/g' \
- -e 's/@role@/client/g' \
- -e 's/@options@//g' \
- -e 's/@alternative@/quake-engine/g' \
- < $< > $@
- chmod +x $@
-
-out/quake2: runtime/quake2.in out/CACHEDIR.TAG
- sed -e 's/@self@/quake2/g' \
- -e 's/@role@/client/g' \
- -e 's/@options@//g' \
- -e 's/@alternative@/quake2-engine/g' \
- < $< > $@
- chmod +x $@
-
-out/quake3: runtime/quake3.in Makefile out/CACHEDIR.TAG
- sed \
- -e 's!@IOQ3BINARY@!ioquake3!' \
- -e 's!@IOQ3SELF@!quake3!' \
- -e 's!@IOQ3ROLE@!client!' \
- < $< > $@
- chmod +x $@
-
-out/quake4: runtime/quake4.in Makefile out/CACHEDIR.TAG
- sed \
- -e 's!@id@!quake4!' \
- -e 's!@icon@!/usr/share/icons/hicolor/48x48/apps/quake4.png!' \
- -e 's!@longname@!Quake 4!' \
- -e 's!@shortname@!Quake 4!' \
- -e 's!@binary@!quake4.x86!' \
- -e 's!@smpbinary@!quake4smp.x86!' \
- -e 's!@self@!quake4!' \
- -e 's!@role@!client!' \
- -e 's!@pkglibdir@!/usr/lib/quake4!' \
- -e 's!@paks@!pak001 pak021 pak022 zpak_english!' \
- -e 's!@basegame@!q4base!' \
- -e 's!@dotdir@!quake4!' \
- < $< > $@
- chmod +x $@
-
-out/README.quake4-bin: runtime/README.binary.in Makefile out/CACHEDIR.TAG
- sed \
- -e 's!@id@!quake4!' \
- -e 's!@shortname@!Quake 4!' \
- -e 's!@distro@!$(distro)!' \
- < $< > $@
-
-out/etqw: runtime/quake4.in Makefile out/CACHEDIR.TAG
- sed \
- -e 's!@id@!etqw!' \
- -e 's!@icon@!/usr/share/pixmaps/etqw.png!' \
- -e 's!@longname@!Enemy Territory: Quake Wars!' \
- -e 's!@shortname@!ETQW!' \
- -e 's!@binary@!etqw.x86!' \
- -e 's!@smpbinary@!etqw-rthread.x86!' \
- -e 's!@self@!etqw!' \
- -e 's!@role@!client!' \
- -e 's!@pkglibdir@!/usr/lib/etqw!' \
- -e 's!@paks@!pak008 game000 pak000 zpak_english000!' \
- -e 's!@basegame@!base!' \
- -e 's!@dotdir@!etqwcl!' \
- < $< > $@
- chmod +x $@
-
-out/README.etqw-bin: runtime/README.binary.in Makefile out/CACHEDIR.TAG
- sed \
- -e 's!@id@!etqw!' \
- -e 's!@shortname@!ETQW!' \
- -e 's!@distro@!$(distro)!' \
- < $< > $@
-
out/quake2-server: runtime/quake2.in out/CACHEDIR.TAG
sed -e 's/@self@/quake2-server/g' \
-e 's/@role@/dedicated server/g' \
@@ -533,15 +454,15 @@ install:
install -m0644 doc/doom2-masterlevels.6 $(DESTDIR)/usr/share/man/man6/
install -m0644 out/doom-common.png $(DESTDIR)/usr/share/pixmaps/doom2-masterlevels.png
install -d $(DESTDIR)$(bindir)
- install -m755 out/quake $(DESTDIR)$(bindir)
+ ln -s ${runtimedir}/gdp-launcher $(DESTDIR)$(bindir)/quake
install -m755 out/quake-server $(DESTDIR)$(bindir)
- install -m755 out/quake2 $(DESTDIR)$(bindir)
+ ln -s ${runtimedir}/gdp-launcher $(DESTDIR)$(bindir)/quake2
install -m755 out/quake2-server $(DESTDIR)$(bindir)
- install -m755 out/quake3 $(DESTDIR)$(bindir)
+ ln -s ${runtimedir}/gdp-launcher $(DESTDIR)$(bindir)/quake3
install -m755 out/quake3-server $(DESTDIR)$(bindir)
- install -m755 out/quake4 $(DESTDIR)$(bindir)
+ ln -s ${runtimedir}/gdp-launcher $(DESTDIR)$(bindir)/quake4
install -m755 out/quake4-dedicated $(DESTDIR)$(bindir)
- install -m755 out/etqw $(DESTDIR)$(bindir)
+ ln -s ${runtimedir}/gdp-launcher $(DESTDIR)$(bindir)/etqw
install -m755 out/etqw-dedicated $(DESTDIR)$(bindir)
install -d $(DESTDIR)$(datadir)/applications
install -m644 out/etqw.desktop $(DESTDIR)$(datadir)/applications
@@ -566,23 +487,6 @@ install:
install -d $(DESTDIR)$(datadir)/man/man6
install -m644 doc/etqw*.6 $(DESTDIR)$(datadir)/man/man6
install -m644 doc/quake*.6 $(DESTDIR)$(datadir)/man/man6
- install -d $(DESTDIR)$(gamedatadir)/quake
- install -m755 runtime/need-data.sh $(DESTDIR)$(gamedatadir)/quake
- install -d $(DESTDIR)$(gamedatadir)/quake2
- install -m755 runtime/need-data.sh $(DESTDIR)$(gamedatadir)/quake2
- install -d $(DESTDIR)$(gamedatadir)/quake3
- install -m644 runtime/README.quake3-data $(DESTDIR)$(gamedatadir)/quake3
- install -m755 runtime/need-data.sh $(DESTDIR)$(gamedatadir)/quake3
- install -d $(DESTDIR)$(libdir)/quake4
- install -m644 out/README.quake4-bin $(DESTDIR)$(libdir)/quake4
- install -m644 runtime/README.quake4-data $(DESTDIR)$(libdir)/quake4
- install -m755 runtime/confirm-binary-only.sh $(DESTDIR)$(libdir)/quake4
- install -m755 runtime/need-data.sh $(DESTDIR)$(libdir)/quake4
- install -d $(DESTDIR)$(libdir)/etqw
- install -m644 out/README.etqw-bin $(DESTDIR)$(libdir)/etqw
- install -m644 runtime/README.etqw-data $(DESTDIR)$(libdir)/etqw
- install -m755 runtime/confirm-binary-only.sh $(DESTDIR)$(libdir)/etqw
- install -m755 runtime/need-data.sh $(DESTDIR)$(libdir)/etqw
html: $(DIRS) $(json)
LC_ALL=C GDP_UNINSTALLED=1 PYTHONPATH=. python3 -m tools.babel
diff --git a/debian/control b/debian/control
index b0833d3..bb04604 100644
--- a/debian/control
+++ b/debian/control
@@ -231,7 +231,7 @@ Package: etqw
Architecture: i386
Depends:
etqw-bin | game-data-packager (>= 44),
- x11-utils | zenity | kde-baseapps-bin,
+ game-data-packager-runtime,
${misc:Depends},
Suggests:
etqw-pb-bin,
@@ -316,11 +316,10 @@ Description: Launcher for proprietary games
Package: quake
Architecture: all
Depends:
+ game-data-packager-runtime,
quake-registered | quake-shareware | game-data-packager,
quakespasm | quake-engine,
${misc:Depends},
-Recommends:
- x11-utils | zenity | kde-baseapps-bin,
Suggests:
quake-armagon (>= 29),
quake-armagon-music,
@@ -368,6 +367,7 @@ Description: classic first person shooter - server and init script
Package: quake2
Architecture: all
Depends:
+ game-data-packager-runtime,
quake2-full-data | quake2-demo-data | game-data-packager (>= 34),
yamagi-quake2 | quake2-engine,
${misc:Depends},
@@ -377,7 +377,6 @@ Suggests:
quake2-reckoning,
Recommends:
game-data-packager (>= 39),
- x11-utils | zenity | kde-baseapps-bin,
Description: classic science-fiction-themed first person shooter
Quake II is a classic first-person shooter game by id Software,
released in 1997. This package contains a launcher script and menu
@@ -416,6 +415,7 @@ Description: dedicated server for Quake II
Package: quake3
Architecture: all
Depends:
+ game-data-packager-runtime,
ioquake3,
quake3-data | quake3-demo-data (>= 40) | game-data-packager (>= 23),
${misc:Depends},
@@ -462,8 +462,8 @@ Description: Quake III Arena dedicated server launcher scripts
Package: quake4
Architecture: i386
Depends:
+ game-data-packager-runtime,
quake4-bin | game-data-packager (>= 43),
- x11-utils | zenity | kde-baseapps-bin,
${misc:Depends},
Description: science-fiction-themed first person shooter
Quake 4 is a first-person shooter game by Raven Software and id Software,
diff --git a/debian/etqw.install b/debian/etqw.install
index 0ce45b7..572ca84 100644
--- a/debian/etqw.install
+++ b/debian/etqw.install
@@ -1,7 +1,3 @@
usr/games/etqw
-usr/lib/etqw/README.etqw-bin
-usr/lib/etqw/README.etqw-data
-usr/lib/etqw/confirm-binary-only.sh
-usr/lib/etqw/need-data.sh
usr/share/applications/etqw.desktop
usr/share/man/man6/etqw.6
diff --git a/debian/quake.install b/debian/quake.install
index 81403c2..5fd5efd 100644
--- a/debian/quake.install
+++ b/debian/quake.install
@@ -1,7 +1,6 @@
usr/games/quake
usr/share/applications/quake-*.desktop
usr/share/applications/quake.desktop
-usr/share/games/quake/need-data.sh
usr/share/icons/hicolor/*/apps/quake-*.png
usr/share/icons/hicolor/*/apps/quake-*.svg
usr/share/icons/hicolor/*/apps/quake.png
diff --git a/debian/quake2.install b/debian/quake2.install
index 14bd882..31b8a0d 100644
--- a/debian/quake2.install
+++ b/debian/quake2.install
@@ -1,6 +1,5 @@
usr/games/quake2
usr/share/applications/quake2*.desktop
-usr/share/games/quake2/need-data.sh
usr/share/icons/hicolor/*/apps/quake2*.png
usr/share/icons/hicolor/*/apps/quake2*.svg
usr/share/man/man6/quake2.6
diff --git a/debian/quake3.install b/debian/quake3.install
index db6c1cb..f0814ef 100644
--- a/debian/quake3.install
+++ b/debian/quake3.install
@@ -1,6 +1,4 @@
-usr/share/games/quake3/README.quake3-data
usr/games/quake3
usr/share/applications/quake3*.desktop
-usr/share/games/quake3/need-data.sh
usr/share/icons/hicolor/*/apps/quake3*.png
usr/share/man/man6/quake3.6
diff --git a/debian/quake4.install b/debian/quake4.install
index f06c4e3..05e751d 100644
--- a/debian/quake4.install
+++ b/debian/quake4.install
@@ -1,9 +1,5 @@
debian/apparmor.d/usr.lib.quake4.quake4.x86 etc/apparmor.d
usr/games/quake4
-usr/lib/quake4/README.quake4-bin
-usr/lib/quake4/README.quake4-data
-usr/lib/quake4/confirm-binary-only.sh
-usr/lib/quake4/need-data.sh
usr/share/applications/quake4.desktop
usr/share/icons/hicolor/*/apps/quake4*.png
usr/share/icons/hicolor/*/apps/quake4*.svg
diff --git a/runtime/README.binary.in b/runtime/README.binary.in
deleted file mode 100644
index 2d381bb..0000000
--- a/runtime/README.binary.in
+++ /dev/null
@@ -1,8 +0,0 @@
- at shortname@ is a binary-only game and might contain security
-vulnerabilities or other bugs. If it does, @distro@ cannot fix them.
-
-Using this game for multiplayer on untrusted networks is not
-recommended. To protect personal files, you could create a dedicated
-user ID to run games.
-
-This message will be shown once for each user ID that runs @shortname at .
diff --git a/runtime/confirm-binary-only.sh b/runtime/confirm-binary-only.sh
deleted file mode 100755
index c782e3a..0000000
--- a/runtime/confirm-binary-only.sh
+++ /dev/null
@@ -1,134 +0,0 @@
-#!/bin/sh
-
-set -e
-
-icon=
-dotdir=
-text_file=
-title=
-
-run () {
- mkdir -p -m700 "${dotdir}"
- touch "${dotdir}/confirmed-binary-only"
- exec "$@"
- exit 70 # EX_SOFTWARE
-}
-
-try_zenity () {
- if ! command -v zenity >/dev/null; then
- return 1
- fi
-
- e=0
- zenity --text-info --filename="$text_file" --title="$title" \
- --checkbox="I'll be careful" --ok-label="Run" \
- --window-icon="${icon}" \
- --width=500 --height=400 || e=$?
- case "$e" in
- (0)
- run "$@"
- ;;
- (*)
- exit 77 # EX_NOPERM
- ;;
- esac
-}
-
-try_kdialog () {
- if ! command -v kdialog >/dev/null; then
- return 1
- fi
-
- e=0
- kdialog --title "$TITLE" --warningcontinuecancel "$(cat "$text_file")" || \
- e=$?
- case "$e" in
- (0)
- run "$@"
- ;;
- (*)
- exit 77 # EX_NOPERM
- ;;
- esac
-}
-
-try_xmessage () {
- if ! command -v xmessage >/dev/null; then
- return 1
- fi
-
- e=0
- xmessage -buttons Run:100,Cancel:101 -nearmouse -file "$text_file" || e=$?
- case "$e" in
- (100)
- run "$@"
- ;;
- (*)
- exit 77 # EX_NOPERM
- ;;
- esac
-}
-
-while [ "$#" -gt 0 ]; do
- case "$1" in
- (--dotdir)
- dotdir="$2"
- shift 2
- ;;
-
- (--icon)
- icon="$2"
- shift 2
- ;;
-
- (--title)
- title="$2"
- shift 2
- ;;
-
- (--text-file)
- text_file="$2"
- shift 2
- ;;
-
- (--)
- shift
- ;;
-
- (*)
- break
- ;;
- esac
-done
-
-if [ -z "$icon" ] || [ -z "$dotdir" ] || [ -z "$text_file" ] || \
- [ -z "$title" ]; then
- echo "$0: usage error: missing parameter" >&2
- exit 2
-fi
-
-if [ -e "${dotdir}/confirmed-binary-only" ]; then
- run "$@"
-fi
-
-case $(echo "$DESKTOP_SESSION" | tr A-Z a-z) in
- (kde)
- pref=try_kdialog
- ;;
- (gnome)
- pref=try_zenity
- ;;
- # easter egg for testing
- (1990slinuxuser)
- pref=try_xmessage
- ;;
- (*)
- pref=false
- ;;
-esac
-
-$pref "$@" || try_zenity "$@" || try_kdialog "$@" || try_xmessage "$@"
-
-exit 72 # EX_OSFILE
-
-# vim:set et sts=2 sw=2:
diff --git a/runtime/need-data.sh b/runtime/need-data.sh
deleted file mode 100755
index 1fbe057..0000000
--- a/runtime/need-data.sh
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/bin/sh
-
-TITLE="$1"
-TEXT="$2"
-
-try_zenity () {
- if command -v zenity >/dev/null; then
- zenity --error --text="$TEXT" --title="$TITLE"
- return 0
- else
- return 1
- fi
-}
-
-try_kdialog () {
- if command -v kdialog >/dev/null; then
- kdialog --error "$TEXT" --title="$TITLE"
- return 0
- else
- return 1
- fi
-}
-
-try_xmessage () {
- if command -v xmessage >/dev/null; then
- xmessage -center -buttons OK "$TEXT"
- return 0
- else
- return 1
- fi
-}
-
-case $(echo "$DESKTOP_SESSION" | tr A-Z a-z) in
- (kde)
- pref=try_kdialog
- ;;
- (gnome)
- pref=try_zenity
- ;;
- (*)
- pref=false
- ;;
-esac
-
-$pref || try_zenity || try_kdialog || try_xmessage
-
-printf "%s\n" "$TEXT"
-exit 72 # EX_OSFILE
--
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