[game-data-packager] 02/25: Use absolute paths for $assets, $bindir etc.

Simon McVittie smcv at debian.org
Sun Oct 9 21:26:05 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 0b022b5bcdecec5156f3896ea7f1e4708162169f
Author: Simon McVittie <smcv at debian.org>
Date:   Fri Sep 30 11:24:22 2016 +0100

    Use absolute paths for $assets, $bindir etc.
    
    This makes the substitutions into the .desktop files a lot less odd.
---
 game_data_packager/build.py                   | 39 ++++++++++++++-------------
 game_data_packager/games/doom_common.py       | 10 ++++---
 game_data_packager/games/dosbox.py            |  8 +++---
 game_data_packager/games/ecwolf_common.py     |  4 +--
 game_data_packager/games/morrowind.py         |  7 ++---
 game_data_packager/games/residualvm_common.py |  7 +++--
 game_data_packager/games/scummvm_common.py    | 14 ++++++----
 game_data_packager/games/unreal.py            | 12 +++++----
 game_data_packager/games/z_code.py            |  7 ++---
 game_data_packager/make_template.py           |  7 ++---
 game_data_packager/packaging/__init__.py      |  8 +++---
 game_data_packager/packaging/arch.py          |  2 +-
 game_data_packager/packaging/deb.py           |  4 +--
 game_data_packager/packaging/rpm.py           | 10 +++----
 runtime/doom2-masterlevels.desktop.in         |  2 +-
 runtime/launch-unreal-gold.yaml.in            | 28 +++++++++----------
 runtime/launch-unreal.yaml.in                 | 20 +++++++-------
 runtime/unreal-gold.desktop.in                |  4 +--
 runtime/unreal.desktop.in                     |  4 +--
 19 files changed, 107 insertions(+), 90 deletions(-)

diff --git a/game_data_packager/build.py b/game_data_packager/build.py
index e596aad..fc9ac6c 100644
--- a/game_data_packager/build.py
+++ b/game_data_packager/build.py
@@ -1148,7 +1148,7 @@ class PackagingTask(object):
         return complete
 
     def fill_docs(self, package, destdir, pkgdocdir):
-        copy_to = os.path.join(destdir, pkgdocdir, 'copyright')
+        copy_to = os.path.join(destdir, pkgdocdir.strip('/'), 'copyright')
         for n in (package.name, self.game.shortname):
             copy_from = os.path.join(DATADIR, n + '.copyright')
             if os.path.exists(copy_from):
@@ -1175,7 +1175,7 @@ class PackagingTask(object):
                  if not f.license:
                      continue
                  license_file = f.install_as
-                 licenses.add("/%s/%s/%s" % (self.packaging.LICENSEDIR,
+                 licenses.add(os.path.join('/', self.packaging.LICENSEDIR,
                      package.name, license_file))
                  if os.path.splitext(license_file)[0].lower() == 'license':
                      self.packaging.override_lintian(destdir, package.name,
@@ -1232,12 +1232,12 @@ class PackagingTask(object):
                 o.write('"/usr/share/doc/%s/%s"\n' % (package.name,
                                                       package.only_file))
             elif count_usr == 1:
-                o.write('"/%s/%s"\n' % (install_to, main_wad))
+                o.write('"%s"\n' % os.path.join('/', install_to, main_wad))
             elif len(exts) == 1:
-                o.write('The %s files under "/%s/"\n' %
-                        (list(exts)[0], install_to))
+                o.write('The %s files under "%s/"\n' %
+                        (list(exts)[0], os.path.join('/', install_to)))
             else:
-                o.write('The files under "/%s/"\n' % install_to)
+                o.write('The files under "%s/"\n' % os.path.join('/', install_to))
 
             if count_usr and count_doc:
                 if count_usr == 1:
@@ -1476,10 +1476,10 @@ class PackagingTask(object):
             return False
 
         pkgdocdir = os.path.join(self.packaging.DOCDIR, package.name)
-        dest_pkgdocdir = os.path.join(destdir, pkgdocdir)
+        dest_pkgdocdir = os.path.join(destdir, pkgdocdir.strip('/'))
         mkdir_p(dest_pkgdocdir)
         shutil.copyfile(os.path.join(DATADIR, 'changelog.gz'),
-                os.path.join(destdir, pkgdocdir, 'changelog.gz'))
+                os.path.join(dest_pkgdocdir, 'changelog.gz'))
 
         self.fill_docs(package, destdir, pkgdocdir)
 
@@ -1511,13 +1511,14 @@ class PackagingTask(object):
                 logger.debug('Found %s at %s', wanted.name, copy_from)
 
                 install_to = self.packaging.substitute(package.install_to,
-                        package.name).lstrip('/')
+                        package.name)
 
                 if wanted.install_to is not None:
                     install_to = self.packaging.substitute(wanted.install_to,
                             package.name, install_to=install_to)
 
-                copy_to = os.path.join(destdir, install_to, install_as)
+                copy_to = os.path.join(destdir, install_to.strip('/'), install_as)
+                assert copy_to.startswith(destdir + '/'), (copy_to, destdir)
                 copy_to_dir = os.path.dirname(copy_to)
                 logger.debug('Copying to %s', copy_to)
                 if not os.path.isdir(copy_to_dir):
@@ -1532,11 +1533,11 @@ class PackagingTask(object):
                 else:
                     os.chmod(copy_to, 0o644)
 
-                fullname = os.path.join(install_to, install_as)
+                fullname = os.path.join(install_to, install_as).strip('/')
                 package.md5sums[fullname] = md5
 
         install_to = self.packaging.substitute(package.install_to,
-                package.name).lstrip('/')
+                package.name)
 
         for symlink, real_file in package.symlinks.items():
             symlink = self.packaging.substitute(symlink, package.name,
@@ -1544,8 +1545,8 @@ class PackagingTask(object):
             real_file = self.packaging.substitute(real_file, package.name,
                     install_to=install_to)
 
-            symlink = symlink.lstrip('/')
-            real_file = real_file.lstrip('/')
+            symlink = symlink.strip('/')
+            real_file = real_file.strip('/')
 
             toplevel, rest = symlink.split('/', 1)
             if real_file.startswith(toplevel + '/'):
@@ -1571,7 +1572,8 @@ class PackagingTask(object):
             for i, copy_from in self.cd_tracks[package.name].items():
                 logger.debug('Found CD track %d at %s', i, copy_from)
                 install_as = package.rip_cd['filename_format'] % i
-                copy_to = os.path.join(destdir, install_to, install_as)
+                copy_to = os.path.join(destdir, install_to.strip('/'), install_as)
+                assert copy_to.startswith(destdir + '/'), (copy_to, destdir)
                 copy_to_dir = os.path.dirname(copy_to)
                 if not os.path.isdir(copy_to_dir):
                     mkdir_p(copy_to_dir)
@@ -1906,12 +1908,13 @@ class PackagingTask(object):
                     paths.append(path)
 
             for package in packages:
-                path = '/' + self.packaging.substitute(package.install_to,
-                        package.name).lstrip('/')
+                path = os.path.join('/',
+                        self.packaging.substitute(package.install_to,
+                            package.name).strip('/'))
 
                 if os.path.isdir(path) and path not in paths:
                     paths.append(path)
-                path = '/' + self.packaging.DOCDIR + '/' + package.name
+                path = os.path.join('/', self.packaging.DOCDIR, package.name)
                 if os.path.isdir(path) and path not in paths:
                     paths.append(path)
 
diff --git a/game_data_packager/games/doom_common.py b/game_data_packager/games/doom_common.py
index add9cdb..681f26e 100644
--- a/game_data_packager/games/doom_common.py
+++ b/game_data_packager/games/doom_common.py
@@ -145,17 +145,19 @@ class DoomTask(PackagingTask):
             entry['TryExec'] = program
 
             install_to = self.packaging.substitute(package.install_to,
-                    package.name).lstrip('/')
+                    package.name)
 
             if 'args' in quirks:
                 args = quirks['args'] % main_wad
             elif package.expansion_for:
                 iwad = self.game.packages[package.expansion_for].only_file
                 assert iwad is not None, "Couldn't find %s's IWAD" % main_wad
-                args = (  '-iwad /' + install_to + '/' + iwad
-                       + ' -file /' + install_to + '/' + main_wad)
+                iwad = os.path.join('/', install_to, iwad)
+                pwad = os.path.join('/', install_to, main_wad)
+                args = ' '.join(('-iwad', iwad, '-file', pwad))
             else:
-                args = '-iwad /' + install_to + '/' + main_wad
+                iwad = os.path.join('/', install_to, main_wad)
+                args = ' '.join(('-iwad', iwad))
             entry['Exec'] = program + ' ' + args
             entry['Icon'] = desktop_file
             entry['Terminal'] = 'false'
diff --git a/game_data_packager/games/dosbox.py b/game_data_packager/games/dosbox.py
index a59e3fe..401165a 100755
--- a/game_data_packager/games/dosbox.py
+++ b/game_data_packager/games/dosbox.py
@@ -62,9 +62,9 @@ class DosboxTask(PackagingTask):
         super(DosboxTask, self).fill_extra_files(package, destdir)
 
         pgm = package.name[:len(package.name)-5]
-        mkdir_p(os.path.join(destdir, self.packaging.BINDIR))
+        mkdir_p(os.path.join(destdir, self.packaging.BINDIR.strip('/')))
         os.symlink('dosgame',
-                   os.path.join(destdir, self.packaging.BINDIR, pgm))
+                   os.path.join(destdir, self.packaging.BINDIR.strip('/'), pgm))
 
         appdir = os.path.join(destdir, 'usr/share/applications')
         mkdir_p(appdir)
@@ -95,8 +95,8 @@ class DosboxTask(PackagingTask):
         entry['Exe'] = package.main_exe
 
         install_to = self.packaging.substitute(package.install_to,
-                       package.name).lstrip('/')
-        with open(os.path.join(destdir, install_to, 'dosgame.inf'),
+                       package.name)
+        with open(os.path.join(destdir, install_to.strip('/'), 'dosgame.inf'),
                   'w', encoding='utf-8') as output:
              dosgame.write(output, space_around_delimiters=False)
 
diff --git a/game_data_packager/games/ecwolf_common.py b/game_data_packager/games/ecwolf_common.py
index 4298342..065cf4e 100644
--- a/game_data_packager/games/ecwolf_common.py
+++ b/game_data_packager/games/ecwolf_common.py
@@ -82,7 +82,7 @@ class EcwolfTask(PackagingTask):
             install_data(from_, os.path.join(svgdir, '%s.svgz' % package.name))
 
         install_to = self.packaging.substitute(package.install_to,
-                package.name).lstrip('/')
+                package.name)
 
         desktop = configparser.RawConfigParser()
         desktop.optionxform = lambda option: option
@@ -92,7 +92,7 @@ class EcwolfTask(PackagingTask):
         entry['GenericName'] = self.game.genre + ' game'
         entry['TryExec'] = 'ecwolf'
         entry['Exec'] = 'ecwolf' + package.quirks
-        entry['Path'] = '/' + install_to
+        entry['Path'] = os.path.join('/', install_to)
         entry['Icon'] = package.name
         entry['Terminal'] = 'false'
         entry['Type'] = 'Application'
diff --git a/game_data_packager/games/morrowind.py b/game_data_packager/games/morrowind.py
index 2ecea21..809f494 100644
--- a/game_data_packager/games/morrowind.py
+++ b/game_data_packager/games/morrowind.py
@@ -34,9 +34,10 @@ class MorrowindTask(PackagingTask):
             return False
 
         install_to = self.packaging.substitute(package.install_to,
-                                               package.name).lstrip('/')
+                                               package.name)
 
-        datadir = os.path.join(destdir, install_to)
+        datadir = os.path.join(destdir, install_to.strip('/'))
+        assert datadir.startswith(destdir + '/'), (datadir, destdir)
 
         subdir_expected_by_iniimporter = os.path.join(datadir, 'Data Files')
         os.symlink(datadir, subdir_expected_by_iniimporter)
@@ -68,7 +69,7 @@ class MorrowindTask(PackagingTask):
         os.unlink(subdir_expected_by_iniimporter)
 
         with open(cfg, 'a', encoding='utf-8') as f:
-            f.write('data=/%s\n' % install_to)
+            f.write('data=%s\n' % os.path.join('/', install_to))
 
         # then user needs to do this:
         #
diff --git a/game_data_packager/games/residualvm_common.py b/game_data_packager/games/residualvm_common.py
index ea0fffd..021e096 100644
--- a/game_data_packager/games/residualvm_common.py
+++ b/game_data_packager/games/residualvm_common.py
@@ -98,7 +98,7 @@ class ResidualvmTask(PackagingTask):
         mkdir_p(appdir)
 
         install_to = self.packaging.substitute(package.install_to,
-                package.name).lstrip('/')
+                package.name)
 
         desktop = configparser.RawConfigParser()
         desktop.optionxform = lambda option: option
@@ -111,7 +111,10 @@ class ResidualvmTask(PackagingTask):
         entry['Terminal'] = 'false'
         entry['Type'] = 'Application'
         entry['Categories'] = 'Game;'
-        entry['Exec'] = 'residualvm -p /%s %s' % (install_to, self.game.gameid)
+        entry['Exec'] = 'residualvm -p %s %s' % (
+                os.path.join('/', install_to),
+                self.game.gameid,
+                )
         with open(os.path.join(appdir, '%s.desktop' % package.name),
                   'w', encoding='utf-8') as output:
              desktop.write(output, space_around_delimiters=False)
diff --git a/game_data_packager/games/scummvm_common.py b/game_data_packager/games/scummvm_common.py
index ab4234c..998db56 100644
--- a/game_data_packager/games/scummvm_common.py
+++ b/game_data_packager/games/scummvm_common.py
@@ -135,9 +135,10 @@ class ScummvmTask(PackagingTask):
         entry['Categories'] = 'Game;%sGame;' % self.game.genre.replace(' ','')
         gameid = package.gameid or self.game.gameid
         install_to = self.packaging.substitute(package.install_to,
-                                               package.name).lstrip('/')
+                                               package.name)
         if len(package.langs) == 1:
-            entry['Exec'] = 'scummvm -p /%s %s' % (install_to, gameid)
+            entry['Exec'] = 'scummvm -p %s %s' % (
+                    os.path.join('/', install_to), gameid)
             self.packaging.override_lintian(destdir, package.name,
                     'desktop-command-not-in-package',
                     'usr/share/applications/%s.desktop %s'
@@ -145,7 +146,8 @@ class ScummvmTask(PackagingTask):
         else:
             pgm = package.name[0:len(package.name)-len('-data')]
             entry['Exec'] = pgm
-            bindir = os.path.join(destdir, self.packaging.BINDIR)
+            bindir = os.path.join(destdir, self.packaging.BINDIR.strip('/'))
+            assert bindir.startswith(destdir + '/'), (bindir, destdir)
             mkdir_p(bindir)
             path = os.path.join(bindir, pgm)
             if 'en' not in package.langs:
@@ -160,9 +162,11 @@ class ScummvmTask(PackagingTask):
                 f.write('done\n')
                 f.write(')\n')
                 f.write('if [ "$GAME_LANG" = "en" ]; then\n')
-                f.write('  exec scummvm -p /%s %s\n' % (install_to, gameid))
+                f.write('  exec scummvm -p %s %s\n' % (
+                    os.path.join('/', install_to), gameid))
                 f.write('else\n')
-                f.write('  exec scummvm -q $GAME_LANG -p /%s %s\n' % (install_to, gameid))
+                f.write('  exec scummvm -q $GAME_LANG -p %s %s\n' % (
+                    os.path.join('/', install_to), gameid))
                 f.write('fi\n')
             os.chmod(path, 0o755)
 
diff --git a/game_data_packager/games/unreal.py b/game_data_packager/games/unreal.py
index bef05e2..1d30211 100644
--- a/game_data_packager/games/unreal.py
+++ b/game_data_packager/games/unreal.py
@@ -78,11 +78,12 @@ class UnrealTask(PackagingTask):
         # enough to identify the version.
 
         install_to = self.packaging.substitute(package.install_to,
-                package.name).lstrip('/')
-        mkdir_p(os.path.join(destdir, install_to, 'System'))
+                package.name)
+        system = os.path.join(destdir, install_to.strip('/'), 'System')
+        assert system.startswith(destdir + '/'), (system, destdir)
+        mkdir_p(system)
 
-        with open(os.path.join(destdir, install_to, 'System',
-                'Manifest.ini'), 'w') as writer:
+        with open(os.path.join(system, 'Manifest.ini'), 'w') as writer:
             if package.name == 'unreal-gold':
                 groups = (('UnrealGold', package.name, package.version),
                         ('Unreal Gold', package.name, package.version))
@@ -111,8 +112,9 @@ class UnrealTask(PackagingTask):
 
     def __convert_logo(self, destdir, package, logo_name):
         source_logo = os.path.join(destdir,
-                self.packaging.substitute(package.install_to, package.name),
+                self.packaging.substitute(package.install_to, package.name).strip('/'),
                 logo_name)
+        assert source_logo.startswith(destdir + '/'), (source_logo, destdir)
 
         try:
             import gi
diff --git a/game_data_packager/games/z_code.py b/game_data_packager/games/z_code.py
index fad4d68..78f324c 100644
--- a/game_data_packager/games/z_code.py
+++ b/game_data_packager/games/z_code.py
@@ -55,7 +55,7 @@ class ZCodeTask(PackagingTask):
         super(ZCodeTask, self).fill_extra_files(package, destdir)
 
         install_to = self.packaging.substitute(package.install_to,
-                package.name).lstrip('/')
+                package.name)
 
         with TemporaryUmask(0o022):
             appdir = os.path.join(destdir, 'usr/share/applications')
@@ -93,7 +93,7 @@ class ZCodeTask(PackagingTask):
                 else:
                     engine = 'gargoyle'
             entry['TryExec'] = engine
-            arg = '/' + install_to + '/' + package.z_file
+            arg = os.path.join('/', install_to, package.z_file)
             entry['Exec'] = engine + ' ' + arg
 
             pixdir = os.path.join(destdir, 'usr/share/pixmaps')
@@ -114,7 +114,8 @@ class ZCodeTask(PackagingTask):
                     'usr/share/applications/%s.desktop %s'
                      % (package.name, engine))
 
-            bindir = os.path.join(destdir, self.packaging.BINDIR)
+            bindir = os.path.join(destdir, self.packaging.BINDIR.strip('/'))
+            assert bindir.startswith(destdir + '/'), (bindir, destdir)
             mkdir_p(bindir)
             pgm = package.name[0:len(package.name)-len('-data')]
             path = os.path.join(bindir, pgm)
diff --git a/game_data_packager/make_template.py b/game_data_packager/make_template.py
index 622d8f8..86a56d1 100644
--- a/game_data_packager/make_template.py
+++ b/game_data_packager/make_template.py
@@ -349,7 +349,7 @@ class GameData(object):
                 if os.path.isdir(path):
                     continue
                 elif os.path.islink(path):
-                    self.package.setdefault('symlinks', {})[name] = os.path.realpath(path).lstrip('/')
+                    self.package.setdefault('symlinks', {})[name] = os.path.realpath(path)
                 elif os.path.isfile(path):
                     self.add_file(path, out_name=out_name, lang=lang)
                 else:
@@ -359,7 +359,7 @@ class GameData(object):
                 logger.warning('DOSBOX files detected, make sure not to include those in your package')
 
         if self.plugin != 'scummvm_common':
-            self.package['install_to'] = 'usr/share/games/' + game
+            self.package['install_to'] = '$assets/' + game
 
         self.package['install'].sort()
         if self.package['optional']:
@@ -552,7 +552,8 @@ class GameData(object):
                             name, entry.type)
 
         if self.plugin != 'scummvm_common':
-            self.package['install_to'] = install_to
+            self.package['install_to'] = os.path.join('/',
+                    install_to).replace('/usr/share/games/', '$assets/')
         self.package['install'].sort()
         if self.package['optional']:
             self.package['optional'].sort()
diff --git a/game_data_packager/packaging/__init__.py b/game_data_packager/packaging/__init__.py
index df7ca25..47e29c2 100644
--- a/game_data_packager/packaging/__init__.py
+++ b/game_data_packager/packaging/__init__.py
@@ -21,10 +21,10 @@ import os
 import string
 
 class PackagingSystem(metaclass=ABCMeta):
-    ASSETS = 'usr/share'
-    BINDIR = 'usr/bin'
-    DOCDIR = 'usr/share/doc'
-    LICENSEDIR = 'usr/share/doc'
+    ASSETS = '/usr/share'
+    BINDIR = '/usr/bin'
+    DOCDIR = '/usr/share/doc'
+    LICENSEDIR = '/usr/share/doc'
     CHECK_CMD = None
     INSTALL_CMD = None
 
diff --git a/game_data_packager/packaging/arch.py b/game_data_packager/packaging/arch.py
index 3b85e74..14df682 100644
--- a/game_data_packager/packaging/arch.py
+++ b/game_data_packager/packaging/arch.py
@@ -26,7 +26,7 @@ from ..util import (run_as_root, check_output)
 logger = logging.getLogger(__name__)
 
 class ArchPackaging(PackagingSystem):
-    LICENSEDIR = 'usr/share/licenses'
+    LICENSEDIR = '/usr/share/licenses'
     CHECK_CMD = 'namcap'
     INSTALL_CMD = ['pacman', '-S']
     PACKAGE_MAP = {
diff --git a/game_data_packager/packaging/deb.py b/game_data_packager/packaging/deb.py
index 1b32593..ec6b29e 100644
--- a/game_data_packager/packaging/deb.py
+++ b/game_data_packager/packaging/deb.py
@@ -33,8 +33,8 @@ from ..util import (check_output, mkdir_p, run_as_root)
 logger = logging.getLogger(__name__)
 
 class DebPackaging(PackagingSystem):
-    BINDIR = 'usr/games'
-    ASSETS = 'usr/share/games'
+    BINDIR = '/usr/games'
+    ASSETS = '/usr/share/games'
     CHECK_CMD = 'lintian'
     INSTALL_CMD = ['apt-get', 'install']
     PACKAGE_MAP = {
diff --git a/game_data_packager/packaging/rpm.py b/game_data_packager/packaging/rpm.py
index df52d70..7e8aafb 100644
--- a/game_data_packager/packaging/rpm.py
+++ b/game_data_packager/packaging/rpm.py
@@ -103,7 +103,7 @@ class RpmPackaging(PackagingSystem):
 #      As install_packages() needs root, we need to use the 'dnf' pgm
 
 class DnfPackaging(RpmPackaging):
-    LICENSEDIR = 'usr/share/licenses'
+    LICENSEDIR = '/usr/share/licenses'
     INSTALL_CMD = ['dnf', 'install']
     PACKAGE_MAP = {
                   'dpkg-deb': 'dpkg',
@@ -150,8 +150,8 @@ class DnfPackaging(RpmPackaging):
                 gain_root=gain_root)
 
 class ZypperPackaging(RpmPackaging):
-    DOCDIR = 'usr/share/doc/packages'
-    LICENSEDIR = 'usr/share/doc/packages'
+    DOCDIR = '/usr/share/doc/packages'
+    LICENSEDIR = '/usr/share/doc/packages'
     INSTALL_CMD = ['zypper', 'install']
     PACKAGE_MAP = {
                   'dpkg-deb': 'dpkg',
@@ -187,8 +187,8 @@ class ZypperPackaging(RpmPackaging):
                 gain_root=gain_root)
 
 class UrpmiPackaging(RpmPackaging):
-    BINDIR = 'usr/games'
-    ASSETS = 'usr/share/games'
+    BINDIR = '/usr/games'
+    ASSETS = '/usr/share/games'
     INSTALL_CMD = ['urpmi']
     PACKAGE_MAP = {
                   'dpkg-deb': 'dpkg',
diff --git a/runtime/doom2-masterlevels.desktop.in b/runtime/doom2-masterlevels.desktop.in
index 17cd7d4..23915cb 100644
--- a/runtime/doom2-masterlevels.desktop.in
+++ b/runtime/doom2-masterlevels.desktop.in
@@ -2,7 +2,7 @@
 Name=Doom 2: Master Levels
 GenericName=First Person Shooter Game
 Exec=doom2-masterlevels
-TryExec=/$assets/doom2-masterlevels-tryexec
+TryExec=$assets/doom2-masterlevels-tryexec
 Icon=doom2-masterlevels
 Terminal=false
 Type=Application
diff --git a/runtime/launch-unreal-gold.yaml.in b/runtime/launch-unreal-gold.yaml.in
index 4509111..ea967a2 100644
--- a/runtime/launch-unreal-gold.yaml.in
+++ b/runtime/launch-unreal-gold.yaml.in
@@ -8,9 +8,9 @@ required_files:
 base_directories:
   - /usr/lib/unreal-gold
   - /usr/lib/unreal
-  - /$assets/unreal-gold
-  - /$assets/unreal
-  - /$assets/unreal-ut99-shared
+  - $assets/unreal-gold
+  - $assets/unreal
+  - $assets/unreal-ut99-shared
 working_directory: $${XDG_DATA_HOME}/unreal-gold/System
 library_path: ["."]
 argv: [./UnrealLinux.bin]
@@ -30,21 +30,21 @@ edit_unreal_ini:
         append_unique:
           - Paths=/usr/lib/unreal-gold/Maps/*.unr
           - Paths=/usr/lib/unreal-gold/Maps/UPak/*.unr
-          - Paths=/$assets/unreal-gold/Maps/*.unr
-          - Paths=/$assets/unreal-gold/Maps/UPak/*.unr
-          - Paths=/$assets/unreal/Maps/*.unr
+          - Paths=$assets/unreal-gold/Maps/*.unr
+          - Paths=$assets/unreal-gold/Maps/UPak/*.unr
+          - Paths=$assets/unreal/Maps/*.unr
 
           - Paths=/usr/lib/unreal-gold/Textures/*.utx
-          - Paths=/$assets/unreal-gold/Textures/*.utx
-          - Paths=/$assets/unreal/Textures/*.utx
-          - Paths=/$assets/unreal-ut99-shared/Textures/*.utx
+          - Paths=$assets/unreal-gold/Textures/*.utx
+          - Paths=$assets/unreal/Textures/*.utx
+          - Paths=$assets/unreal-ut99-shared/Textures/*.utx
 
           - Paths=/usr/lib/unreal-gold/Sounds/*.uax
-          - Paths=/$assets/unreal-gold/Sounds/*.uax
-          - Paths=/$assets/unreal/Sounds/*.uax
-          - Paths=/$assets/unreal-ut99-shared/Sounds/*.uax
+          - Paths=$assets/unreal-gold/Sounds/*.uax
+          - Paths=$assets/unreal/Sounds/*.uax
+          - Paths=$assets/unreal-ut99-shared/Sounds/*.uax
 
           - Paths=/usr/lib/unreal-gold/Music/*.umx
-          - Paths=/$assets/unreal-gold/Music/*.umx
-          - Paths=/$assets/unreal/Music/*.umx
+          - Paths=$assets/unreal-gold/Music/*.umx
+          - Paths=$assets/unreal/Music/*.umx
 ...
diff --git a/runtime/launch-unreal.yaml.in b/runtime/launch-unreal.yaml.in
index 812b7f1..c3e7bf4 100644
--- a/runtime/launch-unreal.yaml.in
+++ b/runtime/launch-unreal.yaml.in
@@ -8,8 +8,8 @@ required_files:
 base_directories:
   - /usr/lib/unreal-classic
   - /usr/lib/unreal
-  - /$assets/unreal
-  - /$assets/unreal-ut99-shared
+  - $assets/unreal
+  - $assets/unreal-ut99-shared
 working_directory: $${XDG_DATA_HOME}/unreal/System
 library_path: ["."]
 argv: [./UnrealLinux.bin]
@@ -28,22 +28,22 @@ edit_unreal_ini:
       - section: Core.System
         append_unique:
           - Paths=/usr/lib/unreal-classic/System/*.u
-          - Paths=/$assets/unreal/System/*.u
+          - Paths=$assets/unreal/System/*.u
 
           - Paths=/usr/lib/unreal-classic/Maps/*.unr
-          - Paths=/$assets/unreal/Maps/*.unr
+          - Paths=$assets/unreal/Maps/*.unr
 
           - Paths=/usr/lib/unreal-classic/Textures/*.utx
-          - Paths=/$assets/unreal/Textures/*.utx
-          - Paths=/$assets/unreal-ut99-shared/Textures/*.utx
+          - Paths=$assets/unreal/Textures/*.utx
+          - Paths=$assets/unreal-ut99-shared/Textures/*.utx
 
           - Paths=/usr/lib/unreal-classic/Sounds/*.uax
-          - Paths=/$assets/unreal/Sounds/*.uax
-          - Paths=/$assets/unreal-ut99-shared/Sounds/*.uax
+          - Paths=$assets/unreal/Sounds/*.uax
+          - Paths=$assets/unreal-ut99-shared/Sounds/*.uax
 
           - Paths=/usr/lib/unreal-classic/Music/*.umx
-          - Paths=/$assets/unreal/Music/*.umx
+          - Paths=$assets/unreal/Music/*.umx
 
           - Paths=/usr/lib/unreal-classic/Meshes/*.usm
-          - Paths=/$assets/unreal/Meshes/*.usm
+          - Paths=$assets/unreal/Meshes/*.usm
 ...
diff --git a/runtime/unreal-gold.desktop.in b/runtime/unreal-gold.desktop.in
index db9a8b4..d326833 100644
--- a/runtime/unreal-gold.desktop.in
+++ b/runtime/unreal-gold.desktop.in
@@ -1,8 +1,8 @@
 [Desktop Entry]
 Version=1.0
 Name=Unreal Gold
-Exec=/${bindir}/unreal-gold
-TryExec=/${bindir}/unreal-gold
+Exec=${bindir}/unreal-gold
+TryExec=${bindir}/unreal-gold
 Icon=unreal
 Terminal=false
 Type=Application
diff --git a/runtime/unreal.desktop.in b/runtime/unreal.desktop.in
index 0c9ab0e..b591ff2 100644
--- a/runtime/unreal.desktop.in
+++ b/runtime/unreal.desktop.in
@@ -1,8 +1,8 @@
 [Desktop Entry]
 Version=1.0
 Name=Unreal
-Exec=/${bindir}/unreal
-TryExec=/${bindir}/unreal
+Exec=${bindir}/unreal
+TryExec=${bindir}/unreal
 Icon=unreal
 Terminal=false
 Type=Application

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