[game-data-packager] 14/25: Split out game-data-packager-runtime package
Simon McVittie
smcv at debian.org
Sun Oct 9 21:26:06 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 e7a92e44926b83c0a3972b364f2d8a42f08cd8ec
Author: Simon McVittie <smcv at debian.org>
Date: Sun Oct 9 15:18:02 2016 +0100
Split out game-data-packager-runtime package
---
Makefile | 12 +++++----
data/doom2.yaml | 4 +--
data/unreal.yaml | 28 +++++----------------
debian/control | 42 +++++++++++++++++++++++++------
debian/game-data-packager-runtime.install | 6 +++++
debian/game-data-packager-runtime.links | 3 +++
debian/game-data-packager.install | 14 +++++++++++
debian/rules | 2 +-
doc/launcher.mdwn | 4 +--
runtime/launcher.py | 12 ++++-----
tools/game-data-packager.spec | 32 +++++++++++++++++------
11 files changed, 105 insertions(+), 54 deletions(-)
diff --git a/Makefile b/Makefile
index f489f46..3804180 100644
--- a/Makefile
+++ b/Makefile
@@ -2,6 +2,7 @@ GDP_MIRROR ?= localhost
bindir := /usr/games
datadir := /usr/share/games
pkgdatadir := ${datadir}/game-data-packager
+runtimedir := ${datadir}/game-data-packager-runtime
PYTHON := python3
PYFLAKES3 := $(shell if [ -x /usr/bin/pyflakes3 ] ; then echo pyflakes3 ; \
elif [ -x /usr/bin/pyflakes3k ] ; then echo pyflakes3k ; \
@@ -128,11 +129,12 @@ install:
install -m0644 out/copyright $(DESTDIR)$(pkgdatadir)/
install -m0644 out/vfs.zip $(DESTDIR)$(pkgdatadir)/
- install runtime/launcher.py $(DESTDIR)$(pkgdatadir)/gdp-launcher
- install -m0644 out/*.desktop $(DESTDIR)$(pkgdatadir)/
- install -m0644 runtime/confirm-binary-only.txt $(DESTDIR)$(pkgdatadir)/
- install -m0644 runtime/missing-data.txt $(DESTDIR)$(pkgdatadir)/
- install -m0644 out/launch-*.json $(DESTDIR)$(pkgdatadir)/
+ install -d $(DESTDIR)$(runtimedir)/
+ install runtime/launcher.py $(DESTDIR)$(runtimedir)/gdp-launcher
+ install -m0644 out/*.desktop $(DESTDIR)$(runtimedir)/
+ install -m0644 runtime/confirm-binary-only.txt $(DESTDIR)$(runtimedir)/
+ install -m0644 runtime/missing-data.txt $(DESTDIR)$(runtimedir)/
+ install -m0644 out/launch-*.json $(DESTDIR)$(runtimedir)/
install -d $(DESTDIR)/etc/apparmor.d/
install -m0644 etc/apparmor.d/* $(DESTDIR)/etc/apparmor.d/
diff --git a/data/doom2.yaml b/data/doom2.yaml
index f45a7db..eb15380 100644
--- a/data/doom2.yaml
+++ b/data/doom2.yaml
@@ -63,11 +63,9 @@ packages:
url: doom_ii_final_doom
game: doom_ii_master_levels_game
depends:
+ - game-data-packager-runtime
- deb: doom2-wad | freedoom
generic: doom2-wad
- recommends:
- - rpm: doom2-masterlevels
- generic: game-data-packager
symlinks:
$install_to/doom2-masterlevels-tryexec: etc/alternatives/doom
install:
diff --git a/data/unreal.yaml b/data/unreal.yaml
index 7f4985b..c937ddc 100644
--- a/data/unreal.yaml
+++ b/data/unreal.yaml
@@ -51,22 +51,6 @@ packages:
doc:
- Fusion map pack docs
- unreal-launcher-dependencies:
- short_description: dependencies for Unreal launcher
- long_description: |
- game-data-packager provides a Gtk launcher for Unreal and Unreal Gold.
- This empty package depends on that launcher and its runtime dependencies.
- It is a separate package so that the launcher can be installed for
- the native CPU architecture.
- depends:
- - "game-data-packager (>= 44)"
- - python3
- - deb: gir1.2-gtk-3.0
- rpm: gtk3
- - deb: python3-gi
- rpm: python3-gobject
- empty: true
-
unreal-de-data:
expansion_for: unreal-data
lang: de
@@ -237,9 +221,9 @@ packages:
architecture: i386
install_to: $prefix/lib/unreal-gold
depends:
+ - game-data-packager-runtime
- unreal-data
- unreal-gold-data
- - unreal-launcher-dependencies
- unreal-libfmod
- unreal-libmikmod2
- libalut.so.0
@@ -260,9 +244,9 @@ packages:
# FIXME: ideally $gbpdatadir/gdp-launcher or something, but that
# would require gdp to be aware of where it was going to be installed
$bindir/unreal-gold:
- $assets/game-data-packager/gdp-launcher
+ $assets/game-data-packager-runtime/gdp-launcher
$prefix/share/applications/unreal-gold.desktop:
- $assets/game-data-packager/unreal-gold.desktop
+ $assets/game-data-packager-runtime/unreal-gold.desktop
unreal-libfmod:
version: 3.75+227i
@@ -308,8 +292,8 @@ packages:
install_to: $prefix/lib/unreal-classic
architecture: i386
depends:
+ - game-data-packager-runtime
- unreal-data
- - unreal-launcher-dependencies
- unreal-libfmod
- unreal-libmikmod2
- libalut.so.0
@@ -335,9 +319,9 @@ packages:
doc:
- Unreal classic documentation
symlinks:
- $bindir/unreal: $assets/game-data-packager/gdp-launcher
+ $bindir/unreal: $assets/game-data-packager-runtime/gdp-launcher
usr/share/applications/unreal.desktop:
- $assets/game-data-packager/unreal.desktop
+ $assets/game-data-packager-runtime/unreal.desktop
files:
setup_unreal_gold_2.0.0.6.exe:
diff --git a/debian/control b/debian/control
index 0f91bd4..4e88b47 100644
--- a/debian/control
+++ b/debian/control
@@ -27,7 +27,8 @@ Depends: fakeroot, ${misc:Depends},
python3-debian,
python3-yaml,
${python3:Depends},
-Breaks: lgogdownloader (<< 2.26-1~)
+Recommends:
+ game-data-packager-runtime,
Suggests:
# to install packages
gdebi | gdebi-kde,
@@ -63,19 +64,16 @@ Suggests:
unar,
# for Unreal Tournament and potentially other Loki Games releases
xdelta,
-# for Doom2 Master Levels launcher
- python3-gi,
- gir1.2-gtk-3.0,
- gir1.2-pango-1.0,
# for Unreal
gir1.2-gdkpixbuf-2.0,
+Breaks: lgogdownloader (<< 2.26-1~)
Architecture: all
Multi-Arch: foreign
Description: Installer for game data files
Various games are divided into two logical parts: engine
and data. Often the engine and data are licensed in
- different ways, such that only one half can be distributed
- in Debian.
+ different ways, such that the engine can be distributed
+ in Debian but the data cannot.
.
game-data-packager is a tool which builds .deb files for game
data which cannot be distributed in Debian (such as
@@ -222,3 +220,33 @@ Description: Installer for game data files
* Zork 1, 2 and 3, Beyond Zork, Zork Zero, Return to Zork, Zork: The
Undiscovered Underground
* Zork Grand Inquisitor and Zork Nemesis
+
+Package: game-data-packager-runtime
+Depends:
+ ${misc:Depends},
+ python3,
+ python3-gi,
+ gir1.2-gtk-3.0,
+ gir1.2-pango-1.0,
+Breaks:
+ game-data-packager (<< 46~),
+Replaces:
+ game-data-packager (<< 46~),
+Architecture: all
+Multi-Arch: foreign
+Description: Launcher for proprietary games
+ Various games are divided into two logical parts: engine
+ and data. Often the engine and data are licensed in
+ different ways, such that the engine can be distributed
+ in Debian but the data cannot.
+ .
+ Some of the games supported by game-data-packager need to be
+ started by a special launcher script that will create symbolic
+ links or do other setup. This package contains those launcher
+ scripts.
+ .
+ The following games currently require this package:
+ .
+ * Doom 2: The Master Levels
+ * Unreal
+ * Unreal Gold
diff --git a/debian/game-data-packager-runtime.install b/debian/game-data-packager-runtime.install
new file mode 100644
index 0000000..f242a2e
--- /dev/null
+++ b/debian/game-data-packager-runtime.install
@@ -0,0 +1,6 @@
+etc/apparmor.d
+usr/games/doom2-masterlevels
+usr/share/applications/doom2-masterlevels.desktop
+usr/share/games/game-data-packager-runtime
+usr/share/man/man6/doom2-masterlevels.6
+usr/share/pixmaps/doom2-masterlevels.png
diff --git a/debian/game-data-packager-runtime.links b/debian/game-data-packager-runtime.links
new file mode 100644
index 0000000..c273c74
--- /dev/null
+++ b/debian/game-data-packager-runtime.links
@@ -0,0 +1,3 @@
+usr/share/games/game-data-packager-runtime/gdp-launcher usr/share/games/game-data-packager/gdp-launcher
+usr/share/games/game-data-packager-runtime/unreal.desktop usr/share/games/game-data-packager/unreal.desktop
+usr/share/games/game-data-packager-runtime/unreal-gold.desktop usr/share/games/game-data-packager/unreal-gold.desktop
diff --git a/debian/game-data-packager.install b/debian/game-data-packager.install
index f771123..c638f51 100644
--- a/debian/game-data-packager.install
+++ b/debian/game-data-packager.install
@@ -1,2 +1,16 @@
+etc/game-data-packager
+etc/game-data-packager.conf
out/*.control.in usr/share/games/game-data-packager
out/*.preinst.in usr/share/games/game-data-packager
+usr/games/game-data-packager
+usr/share/bash-completion
+usr/share/games/game-data-packager/*.copyright
+usr/share/games/game-data-packager/*.png
+usr/share/games/game-data-packager/*.svgz
+usr/share/games/game-data-packager/bash_completion
+usr/share/games/game-data-packager/changelog.gz
+usr/share/games/game-data-packager/copyright
+usr/share/games/game-data-packager/game_data_packager
+usr/share/games/game-data-packager/vfs.zip
+usr/share/man/man6/game-data-packager.6
+usr/share/man/*/man6/game-data-packager.6
diff --git a/debian/rules b/debian/rules
index a80861a..5489478 100755
--- a/debian/rules
+++ b/debian/rules
@@ -31,7 +31,7 @@ override_dh_install:
if dpkg-vendor --derives-from Ubuntu; then \
touch debian/game-data-packager/usr/share/games/game-data-packager/is-ubuntu-derived; \
fi
- dh_apparmor -pgame-data-packager --profile-name=usr.lib.unreal
+ dh_apparmor -pgame-data-packager-runtime --profile-name=usr.lib.unreal
override_dh_installdocs:
dh_installdocs -XTODO
diff --git a/doc/launcher.mdwn b/doc/launcher.mdwn
index 2c9ce87..565441f 100644
--- a/doc/launcher.mdwn
+++ b/doc/launcher.mdwn
@@ -67,9 +67,9 @@ All of these are already implemented, and it would be nice to keep them.
* The game only installs proprietary files that we cannot fix anyway,
and symbolic links to stable paths provided by g-d-p or a separate
game engine like ioquake3
- - `/usr/games/unreal-gold` -> `/usr/share/games/g-d-p/gdp-launcher`
+ - `/usr/games/unreal-gold` -> `/usr/share/games/g-d-p-runtime/gdp-launcher`
- `/usr/share/applications/unreal-gold.desktop` ->
- `/usr/share/games/g-d-p/unreal-gold.desktop`
+ `/usr/share/games/g-d-p-runtime/unreal-gold.desktop`
* Errors while launching the game are displayed in the GUI
diff --git a/runtime/launcher.py b/runtime/launcher.py
index 6efbcfe..01dd170 100755
--- a/runtime/launcher.py
+++ b/runtime/launcher.py
@@ -35,9 +35,9 @@ from gi.repository import (GLib, GObject)
from gi.repository import Gtk
if 'GDP_UNINSTALLED' in os.environ:
- GDP_DIR = './runtime'
+ RUNTIME = './runtime'
else:
- GDP_DIR = '/usr/share/games/game-data-packager'
+ RUNTIME = '/usr/share/games/game-data-packager-runtime'
# Normalize environment so we can use ${XDG_DATA_HOME} unconditionally.
# Do this before we use GLib functions that might create worker threads,
@@ -184,7 +184,7 @@ class Launcher:
self.id = self.args.id
self.keyfile = GLib.KeyFile()
- self.keyfile.load_from_file(os.path.join(GDP_DIR,
+ self.keyfile.load_from_file(os.path.join(RUNTIME,
self.id + '.desktop'),
GLib.KeyFileFlags.NONE)
@@ -199,10 +199,10 @@ class Launcher:
if 'GDP_UNINSTALLED' in os.environ:
import yaml
- self.data = yaml.load(open('%s/launch-%s.yaml' % (GDP_DIR, self.id),
+ self.data = yaml.load(open('%s/launch-%s.yaml' % (RUNTIME, self.id),
encoding='utf-8'), Loader=yaml.CSafeLoader)
else:
- self.data = json.load(open('%s/launch-%s.json' % (GDP_DIR, self.id),
+ self.data = json.load(open('%s/launch-%s.json' % (RUNTIME, self.id),
encoding='utf-8'))
self.binary_only = self.data['binary_only']
@@ -466,7 +466,7 @@ class Launcher:
def load_text(self, filename, placeholder):
for f in ('%s.%s' % (self.id, filename), filename):
try:
- path = os.path.join(GDP_DIR, f)
+ path = os.path.join(RUNTIME, f)
text = open(path).read()
except OSError:
pass
diff --git a/tools/game-data-packager.spec b/tools/game-data-packager.spec
index c42c4d8..d550a8d 100644
--- a/tools/game-data-packager.spec
+++ b/tools/game-data-packager.spec
@@ -15,8 +15,8 @@
%endif
Name: game-data-packager
-Version: 45
-Release: 1%{?gver}
+Version: 46
+Release: 0%{?gver}
Summary: Installer for game data files
License: GPLv2 and GPLv2+
Url: https://wiki.debian.org/Games/GameDataPackager
@@ -60,13 +60,28 @@ Various games are divided into two logical parts: engine and data.
game-data-packager is a tool which builds .rpm files for game
data which cannot be distributed (such as commercial game data).
-%package -n doom2-masterlevels
-Summary: "Master Levels for Doom II" launcher
+%package -n runtime
+Summary: Launchers for games supported by game-data-packager
Requires: python3-gobject-base
Requires: gobject-introspection
-%description -n doom2-masterlevels
-This GUI let you select a WAD to play &
-show it's description.
+Requires: gtk
+Obsoletes: game-data-packager-doom2-masterlevels
+%description -n runtime
+Various games are divided into two logical parts: engine
+and data. Often the engine and data are licensed in
+different ways, such that the engine can be distributed
+in free operating systems but the data cannot.
+.
+Some of the games supported by game-data-packager need to be
+started by a special launcher script that will create symbolic
+links or do other setup. This package contains those launcher
+scripts.
+.
+The following games currently require this package:
+.
+ * Doom 2: The Master Levels
+ * Unreal
+ * Unreal Gold
%prep
%autosetup
@@ -100,11 +115,12 @@ rm -rvf $RPM_BUILD_ROOT/etc/apparmor.d
/usr/share/game-data-packager
%license COPYING
-%files -n doom2-masterlevels
+%files -n runtime
%{_mandir}/man6/doom2-masterlevels.*
/usr/bin/doom2-masterlevels
/usr/share/applications/doom2-masterlevels.desktop
/usr/share/pixmaps/doom2-masterlevels.png
+/usr/share/game-data-packager-runtime
%license COPYING
%changelog
--
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