[game-data-packager] 07/16: Consistently substitute variables everywhere we use install_to

Simon McVittie smcv at debian.org
Fri Jan 8 09:14:02 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 9ebb12543785eaf4a5a63b380112fda073b3dc58
Author: Simon McVittie <smcv at debian.org>
Date:   Fri Jan 8 08:52:58 2016 +0000

    Consistently substitute variables everywhere we use install_to
    
    The default value of install_to changed from being substituted
    during GameDataPackage object creation to being substituted during
    build, in commit b3ef1dfe.
---
 game_data_packager/build.py                   | 13 ++++++++-----
 game_data_packager/games/doom_common.py       | 10 +++++++---
 game_data_packager/games/ecwolf_common.py     |  5 ++++-
 game_data_packager/games/residualvm_common.py |  6 ++++--
 game_data_packager/games/unreal.py            |  4 +++-
 game_data_packager/games/z_code.py            |  5 ++++-
 6 files changed, 30 insertions(+), 13 deletions(-)

diff --git a/game_data_packager/build.py b/game_data_packager/build.py
index b3c4c74..961a9b4 100644
--- a/game_data_packager/build.py
+++ b/game_data_packager/build.py
@@ -1646,11 +1646,14 @@ class PackagingTask(object):
                 else:
                     os.chmod(copy_to, 0o644)
 
+        install_to = self.packaging.substitute(package.install_to,
+                package.name).lstrip('/')
+
         for symlink, real_file in package.symlinks.items():
             symlink = self.packaging.substitute(symlink, package.name,
-                    install_to=package.install_to)
+                    install_to=install_to)
             real_file = self.packaging.substitute(real_file, package.name,
-                    install_to=package.install_to)
+                    install_to=install_to)
 
             symlink = symlink.lstrip('/')
             real_file = real_file.lstrip('/')
@@ -1678,8 +1681,6 @@ class PackagingTask(object):
         if package.rip_cd and self.cd_tracks.get(package.name):
             for i, copy_from in self.cd_tracks[package.name].items():
                 logger.debug('Found CD track %d at %s', i, copy_from)
-                install_to = self.packaging.substitute(package.install_to,
-                        package.name).lstrip('/')
                 install_as = package.rip_cd['filename_format'] % i
                 copy_to = os.path.join(destdir, install_to, install_as)
                 copy_to_dir = os.path.dirname(copy_to)
@@ -1976,7 +1977,9 @@ class PackagingTask(object):
                     paths.append(path)
 
             for package in packages:
-                path = '/' + package.install_to
+                path = '/' + self.packaging.substitute(package.install_to,
+                        package.name).lstrip('/')
+
                 if os.path.isdir(path) and path not in paths:
                     paths.append(path)
                 path = '/usr/share/doc/' + package.name
diff --git a/game_data_packager/games/doom_common.py b/game_data_packager/games/doom_common.py
index 34652e2..9fd6cfa 100644
--- a/game_data_packager/games/doom_common.py
+++ b/game_data_packager/games/doom_common.py
@@ -151,15 +151,19 @@ class DoomTask(PackagingTask):
                 entry['Name'] += ' - ' + quirks['name']
             entry['GenericName'] = self.game.genre + ' game'
             entry['TryExec'] = package.program
+
+            install_to = self.packaging.substitute(package.install_to,
+                    package.name).lstrip('/')
+
             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 /' + package.install_to + '/' + iwad
-                       + ' -file /' + package.install_to + '/' + main_wad)
+                args = (  '-iwad /' + install_to + '/' + iwad
+                       + ' -file /' + install_to + '/' + main_wad)
             else:
-                args = '-iwad /' + package.install_to + '/' + main_wad
+                args = '-iwad /' + install_to + '/' + main_wad
             entry['Exec'] = package.program + ' ' + args
             entry['Icon'] = desktop_file
             entry['Terminal'] = 'false'
diff --git a/game_data_packager/games/ecwolf_common.py b/game_data_packager/games/ecwolf_common.py
index 5f4ed57..7749768 100644
--- a/game_data_packager/games/ecwolf_common.py
+++ b/game_data_packager/games/ecwolf_common.py
@@ -80,6 +80,9 @@ class EcwolfTask(PackagingTask):
             mkdir_p(svgdir)
             install_data(from_, os.path.join(svgdir, '%s.svgz' % package.name))
 
+        install_to = self.packaging.substitute(package.install_to,
+                package.name).lstrip('/')
+
         desktop = configparser.RawConfigParser()
         desktop.optionxform = lambda option: option
         desktop['Desktop Entry'] = {}
@@ -88,7 +91,7 @@ class EcwolfTask(PackagingTask):
         entry['GenericName'] = self.game.genre + ' game'
         entry['TryExec'] = 'ecwolf'
         entry['Exec'] = 'ecwolf' + package.quirks
-        entry['Path'] = '/' + package.install_to
+        entry['Path'] = '/' + install_to
         entry['Icon'] = package.name
         entry['Terminal'] = 'false'
         entry['Type'] = 'Application'
diff --git a/game_data_packager/games/residualvm_common.py b/game_data_packager/games/residualvm_common.py
index 8822e42..f305b55 100644
--- a/game_data_packager/games/residualvm_common.py
+++ b/game_data_packager/games/residualvm_common.py
@@ -97,6 +97,9 @@ class ResidualvmTask(PackagingTask):
         appdir = os.path.join(destdir, 'usr/share/applications')
         mkdir_p(appdir)
 
+        install_to = self.packaging.substitute(package.install_to,
+                package.name).lstrip('/')
+
         desktop = configparser.RawConfigParser()
         desktop.optionxform = lambda option: option
         desktop['Desktop Entry'] = {}
@@ -108,8 +111,7 @@ class ResidualvmTask(PackagingTask):
         entry['Terminal'] = 'false'
         entry['Type'] = 'Application'
         entry['Categories'] = 'Game;'
-        entry['Exec'] = 'residualvm -p /%s %s' % (package.install_to,
-                self.game.gameid)
+        entry['Exec'] = 'residualvm -p /%s %s' % (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/unreal.py b/game_data_packager/games/unreal.py
index aa26f8e..bcf39f1 100644
--- a/game_data_packager/games/unreal.py
+++ b/game_data_packager/games/unreal.py
@@ -39,7 +39,9 @@ class UnrealTask(PackagingTask):
     def __add_manifest(self, package, destdir):
         # A real Manifest.ini is much larger than this, but this is
         # enough to identify the version.
-        install_to = package.install_to.lstrip('/')
+
+        install_to = self.packaging.substitute(package.install_to,
+                package.name).lstrip('/')
         mkdir_p(os.path.join(destdir, install_to, 'System'))
 
         with open(os.path.join(destdir, install_to, 'System',
diff --git a/game_data_packager/games/z_code.py b/game_data_packager/games/z_code.py
index fe05d95..df7728f 100644
--- a/game_data_packager/games/z_code.py
+++ b/game_data_packager/games/z_code.py
@@ -45,6 +45,9 @@ class ZCodeTask(PackagingTask):
     def fill_extra_files(self, package, destdir):
         super(ZCodeTask, self).fill_extra_files(package, destdir)
 
+        install_to = self.packaging.substitute(package.install_to,
+                package.name).lstrip('/')
+
         with TemporaryUmask(0o022):
             appdir = os.path.join(destdir, 'usr/share/applications')
             mkdir_p(appdir)
@@ -64,7 +67,7 @@ class ZCodeTask(PackagingTask):
                 engine = 'gargoyle-free'
                 entry['Terminal'] = 'false'
             entry['TryExec'] = engine
-            arg = '/' + package.install_to + '/' + package.only_file
+            arg = '/' + install_to + '/' + package.only_file
             entry['Exec'] = engine + ' ' + arg
 
             pixdir = os.path.join(destdir, 'usr/share/pixmaps')

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