[game-data-packager] 01/01: fedora port: replace hard-coded paths by constants, write no lintian

Alexandre Detiste detiste-guest at moszumanska.debian.org
Sun Nov 1 23:41:09 UTC 2015


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

detiste-guest pushed a commit to branch master
in repository game-data-packager.

commit d4324bdd39628f09152e961b6ecafbfd27ca2869
Author: Alexandre Detiste <alexandre.detiste at gmail.com>
Date:   Mon Nov 2 00:36:57 2015 +0100

    fedora port: replace hard-coded paths by constants, write no lintian
    
    the behaviour on Debian remain identical
---
 debian/rules                                  |  3 +++
 game_data_packager/__init__.py                |  6 +++---
 game_data_packager/build.py                   |  5 +++++
 game_data_packager/games/doom_common.py       |  4 ++++
 game_data_packager/games/ecwolf_common.py     |  4 ++++
 game_data_packager/games/residualvm_common.py |  4 ++++
 game_data_packager/games/scummvm_common.py    | 18 ++++++++++--------
 game_data_packager/games/z_code.py            |  5 +++--
 game_data_packager/version.py                 | 20 +++++++++++++++++---
 9 files changed, 53 insertions(+), 16 deletions(-)

diff --git a/debian/rules b/debian/rules
index f5354c4..2f6485b 100755
--- a/debian/rules
+++ b/debian/rules
@@ -32,6 +32,9 @@ override_dh_auto_clean:
 override_dh_install:
 	dh_install
 	echo 'GAME_PACKAGE_VERSION = """$(DEB_VERSION)"""' > debian/game-data-packager/usr/share/games/game-data-packager/game_data_packager/version.py
+	echo 'FORMAT = "deb"' >> debian/game-data-packager/usr/share/games/game-data-packager/game_data_packager/version.py
+	echo 'BINDIR = "usr/games"' >> debian/game-data-packager/usr/share/games/game-data-packager/game_data_packager/version.py
+	echo 'ASSETS = "usr/share/games"' >> debian/game-data-packager/usr/share/games/game-data-packager/game_data_packager/version.py
 	if dpkg-vendor --derives-from Ubuntu; then \
 		touch debian/game-data-packager/usr/share/games/game-data-packager/is-ubuntu-derived; \
 	fi
diff --git a/game_data_packager/__init__.py b/game_data_packager/__init__.py
index 0c52c7a..ceaadd1 100644
--- a/game_data_packager/__init__.py
+++ b/game_data_packager/__init__.py
@@ -34,7 +34,7 @@ from .gog import run_gog_meta_mode
 from .paths import (DATADIR,USE_VFS)
 from .util import ascii_safe
 from .steam import run_steam_meta_mode
-from .version import GAME_PACKAGE_VERSION
+from .version import (GAME_PACKAGE_VERSION, ASSETS)
 
 logging.basicConfig()
 logger = logging.getLogger('game-data-packager')
@@ -150,9 +150,9 @@ class GameDataPackage(object):
         # put 'usr/share/games/quake3/baseq3/pak1.pk3' in the .deb.
         # The default is 'usr/share/games/' plus the binary package's name.
         if name.endswith('-data'):
-            self.install_to = 'usr/share/games/' + name[:len(name) - 5]
+            self.install_to = ASSETS + '/' + name[:len(name) - 5]
         else:
-            self.install_to = 'usr/share/games/' + name
+            self.install_to = ASSETS + '/' + name
 
         # Prefixes of files that get installed to /usr/share/doc/PACKAGE
         # instead
diff --git a/game_data_packager/build.py b/game_data_packager/build.py
index a47ab9d..8af4e47 100644
--- a/game_data_packager/build.py
+++ b/game_data_packager/build.py
@@ -54,6 +54,8 @@ from .util import (AGENT,
         recursive_utime,
         which)
 
+from .version import (FORMAT)
+
 logging.basicConfig()
 logger = logging.getLogger('game-data-packager.build')
 
@@ -1331,6 +1333,8 @@ class PackagingTask(object):
                      continue
                  license_file = self.game.files[f].install_as
                  licenses.add("/usr/share/doc/%s/%s" % (package.name, license_file))
+                 if FORMAT != 'deb':
+                     continue
                  if os.path.splitext(license_file)[0].lower() == 'license':
                      lintiandir = os.path.join(destdir, 'usr/share/lintian/overrides')
                      mkdir_p(lintiandir)
@@ -1546,6 +1550,7 @@ class PackagingTask(object):
                     os.chmod(full, 0o755)
                 elif ((stat.S_IMODE(stat_res.st_mode) & 0o111) != 0
                        and (fn.endswith('.sh')
+                            or dirpath.endswith('/usr/bin')
                             or dirpath.endswith('/usr/games')
                             or dirpath.endswith('/DEBIAN'))):
                     # make executable files rwxr-xr-x
diff --git a/game_data_packager/games/doom_common.py b/game_data_packager/games/doom_common.py
index 9625fe4..321780a 100644
--- a/game_data_packager/games/doom_common.py
+++ b/game_data_packager/games/doom_common.py
@@ -25,6 +25,7 @@ from .. import GameData
 from ..build import (PackagingTask)
 from ..paths import DATADIR
 from ..util import (copy_with_substitutions, mkdir_p)
+from ..version import (FORMAT)
 
 logger = logging.getLogger('game-data-packager.games.doom-common')
 
@@ -165,6 +166,9 @@ class DoomTask(PackagingTask):
                       'w', encoding='utf-8') as output:
                  desktop.write(output, space_around_delimiters=False)
 
+            if FORMAT != 'deb':
+                return
+
             lintiandir = os.path.join(destdir, 'usr/share/lintian/overrides')
             mkdir_p(lintiandir)
 
diff --git a/game_data_packager/games/ecwolf_common.py b/game_data_packager/games/ecwolf_common.py
index 01f7be8..2ccc42c 100644
--- a/game_data_packager/games/ecwolf_common.py
+++ b/game_data_packager/games/ecwolf_common.py
@@ -24,6 +24,7 @@ from .. import GameData
 from ..build import (PackagingTask)
 from ..paths import DATADIR
 from ..util import mkdir_p
+from ..version import (FORMAT)
 
 logger = logging.getLogger('game-data-packager.games.ecwolf-common')
 
@@ -100,6 +101,9 @@ class EcwolfTask(PackagingTask):
                   'w', encoding='utf-8') as output:
              desktop.write(output, space_around_delimiters=False)
 
+        if FORMAT != 'deb':
+            return
+
         lintiandir = os.path.join(destdir, 'usr/share/lintian/overrides')
         mkdir_p(lintiandir)
 
diff --git a/game_data_packager/games/residualvm_common.py b/game_data_packager/games/residualvm_common.py
index 33c5c36..18a6040 100644
--- a/game_data_packager/games/residualvm_common.py
+++ b/game_data_packager/games/residualvm_common.py
@@ -25,6 +25,7 @@ from .. import GameData
 from ..build import (PackagingTask)
 from ..paths import DATADIR
 from ..util import mkdir_p
+from ..version import (FORMAT)
 
 logger = logging.getLogger('game-data-packager.games.residualvm-common')
 
@@ -114,6 +115,9 @@ class ResidualvmTask(PackagingTask):
                   'w', encoding='utf-8') as output:
              desktop.write(output, space_around_delimiters=False)
 
+        if FORMAT != 'deb':
+            return
+
         lintiandir = os.path.join(destdir, 'usr/share/lintian/overrides')
         mkdir_p(lintiandir)
         with open(os.path.join(lintiandir, package.name),
diff --git a/game_data_packager/games/scummvm_common.py b/game_data_packager/games/scummvm_common.py
index 7b93706..5479c2c 100644
--- a/game_data_packager/games/scummvm_common.py
+++ b/game_data_packager/games/scummvm_common.py
@@ -25,6 +25,7 @@ from .. import GameData
 from ..build import (PackagingTask)
 from ..paths import DATADIR
 from ..util import mkdir_p
+from ..version import (FORMAT, BINDIR)
 
 logger = logging.getLogger('game-data-packager.games.scummvm-common')
 
@@ -130,17 +131,18 @@ class ScummvmTask(PackagingTask):
         gameid = package.gameid or self.game.gameid
         if len(package.langs) == 1:
             entry['Exec'] = 'scummvm -p /%s %s' % (package.install_to, gameid)
-            lintiandir = os.path.join(destdir, 'usr/share/lintian/overrides')
-            mkdir_p(lintiandir)
-            with open(os.path.join(lintiandir, package.name),
-                      'a', encoding='utf-8') as o:
-                 o.write('%s: desktop-command-not-in-package '
-                         'usr/share/applications/%s.desktop scummvm\n'
-                         % (package.name, package.name))
+            if FORMAT == 'deb':
+                lintiandir = os.path.join(destdir, 'usr/share/lintian/overrides')
+                mkdir_p(lintiandir)
+                with open(os.path.join(lintiandir, package.name),
+                          'a', encoding='utf-8') as o:
+                     o.write('%s: desktop-command-not-in-package '
+                             'usr/share/applications/%s.desktop scummvm\n'
+                             % (package.name, package.name))
         else:
             pgm = package.name[0:len(package.name)-len('-data')]
             entry['Exec'] = pgm
-            bindir = os.path.join(destdir, 'usr/games')
+            bindir = os.path.join(destdir, BINDIR)
             mkdir_p(bindir)
             path = os.path.join(bindir, pgm)
             if 'en' not in package.langs:
diff --git a/game_data_packager/games/z_code.py b/game_data_packager/games/z_code.py
index 10ccb19..6c9ee54 100644
--- a/game_data_packager/games/z_code.py
+++ b/game_data_packager/games/z_code.py
@@ -23,6 +23,7 @@ import os
 from .. import GameData
 from ..build import (PackagingTask)
 from ..util import (TemporaryUmask, PACKAGE_CACHE, mkdir_p)
+from ..version import (BINDIR)
 
 logger = logging.getLogger('game-data-packager.games.z_code')
 
@@ -88,13 +89,13 @@ class ZCodeTask(PackagingTask):
                          % (package.name, package.name, engine))
 
             if engine == 'frotz':
-                bindir = os.path.join(destdir, 'usr/games')
+                bindir = os.path.join(destdir, BINDIR)
                 mkdir_p(bindir)
                 pgm = package.name[0:len(package.name)-len('-data')]
                 path = os.path.join(bindir, pgm)
                 with open(path, 'w') as f:
                      f.write('#!/bin/sh\n')
-                     f.write('test -x /usr/games/frotz && exec frotz $@ %s\n' % arg)
+                     f.write('test -x /%s/frotz && exec frotz $@ %s\n' % (BINDIR, arg))
                      f.write('echo "You need to install some engine '
                                    'like frotz to play this game"\n')
                 os.chmod(path, 0o755)
diff --git a/game_data_packager/version.py b/game_data_packager/version.py
index c2bbf78..e9bc759 100644
--- a/game_data_packager/version.py
+++ b/game_data_packager/version.py
@@ -3,7 +3,21 @@
 # This version of this file is only used when run uninstalled. It is replaced
 # with a generated version during installation.
 
-from debian.changelog import Changelog
+import os
 
-cl = Changelog(open('debian/changelog', encoding='utf-8'), strict=False)
-GAME_PACKAGE_VERSION = str(cl.full_version)
+if os.path.isfile('/etc/debian_version'):
+    FORMAT = 'deb'
+    BINDIR = 'usr/games'
+    ASSETS = 'usr/share/games'
+
+    from debian.changelog import Changelog
+    cl = Changelog(open('debian/changelog', encoding='utf-8'), strict=False)
+    GAME_PACKAGE_VERSION = str(cl.full_version)
+
+elif os.path.isfile('/etc/redhat-release'):
+    FORMAT = 'rpm'
+    BINDIR = 'usr/bin'
+    ASSETS = 'usr/share'
+
+    cl = open('debian/changelog', encoding='utf-8').readline()
+    GAME_PACKAGE_VERSION = cl.split('(')[1].split(')')[0]

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