[game-data-packager] 01/01: lintian: deduplicate code & move it to util_deb.py
Alexandre Detiste
detiste-guest at moszumanska.debian.org
Tue Nov 3 07:47:08 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 b0c2799f1c6dff96ff8ed7a18670e2faac571c0e
Author: Alexandre Detiste <alexandre.detiste at gmail.com>
Date: Tue Nov 3 08:46:27 2015 +0100
lintian: deduplicate code & move it to util_deb.py
---
game_data_packager/build.py | 10 ++--------
game_data_packager/games/doom_common.py | 25 ++++++++-----------------
game_data_packager/games/ecwolf_common.py | 15 ++-------------
game_data_packager/games/residualvm_common.py | 14 ++------------
game_data_packager/games/scummvm_common.py | 13 +++----------
game_data_packager/games/z_code.py | 16 ++++++----------
game_data_packager/util.py | 9 ++++++++-
game_data_packager/util_deb.py | 19 ++++++++++++++++++-
8 files changed, 49 insertions(+), 72 deletions(-)
diff --git a/game_data_packager/build.py b/game_data_packager/build.py
index 8612727..8147a5f 100644
--- a/game_data_packager/build.py
+++ b/game_data_packager/build.py
@@ -49,6 +49,7 @@ from .util import (AGENT,
human_size,
install_packages,
lang_score,
+ lintian_license,
mkdir_p,
rm_rf,
recursive_utime,
@@ -1333,15 +1334,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)
- with open(os.path.join(lintiandir, package.name),
- 'a', encoding='utf-8') as l:
- l.write('%s: extra-license-file usr/share/doc/%s/%s\n'
- % (package.name, package.name, license_file))
+ lintian_license(destdir, package.name, license_file)
if package.component == 'local':
o.write('It contains proprietary game data '
diff --git a/game_data_packager/games/doom_common.py b/game_data_packager/games/doom_common.py
index 321780a..6cdb61f 100644
--- a/game_data_packager/games/doom_common.py
+++ b/game_data_packager/games/doom_common.py
@@ -24,8 +24,8 @@ import subprocess
from .. import GameData
from ..build import (PackagingTask)
from ..paths import DATADIR
-from ..util import (copy_with_substitutions, mkdir_p)
-from ..version import (FORMAT)
+from ..util import (copy_with_substitutions, mkdir_p, lintian_desktop)
+from ..version import FORMAT
logger = logging.getLogger('game-data-packager.games.doom-common')
@@ -166,26 +166,17 @@ class DoomTask(PackagingTask):
'w', encoding='utf-8') as output:
desktop.write(output, space_around_delimiters=False)
- if FORMAT != 'deb':
- return
+ lintian_desktop(destdir, package.name, package.program)
- 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 %s\n'
- % (package.name, desktop_file, package.program))
-
- debdir = os.path.join(destdir, 'DEBIAN')
- mkdir_p(debdir)
- copy_with_substitutions(
+ if FORMAT == 'deb':
+ debdir = os.path.join(destdir, 'DEBIAN')
+ mkdir_p(debdir)
+ copy_with_substitutions(
open(os.path.join(DATADIR, 'doom-common.preinst.in'),
encoding='utf-8'),
open(os.path.join(debdir, 'preinst'), 'w',
encoding='utf-8'),
IWAD=main_wad)
- os.chmod(os.path.join(debdir, 'preinst'), 0o755)
+ os.chmod(os.path.join(debdir, 'preinst'), 0o755)
GAME_DATA_SUBCLASS = DoomGameData
diff --git a/game_data_packager/games/ecwolf_common.py b/game_data_packager/games/ecwolf_common.py
index 2ccc42c..8e374ab 100644
--- a/game_data_packager/games/ecwolf_common.py
+++ b/game_data_packager/games/ecwolf_common.py
@@ -23,8 +23,7 @@ import subprocess
from .. import GameData
from ..build import (PackagingTask)
from ..paths import DATADIR
-from ..util import mkdir_p
-from ..version import (FORMAT)
+from ..util import (mkdir_p, lintian_desktop)
logger = logging.getLogger('game-data-packager.games.ecwolf-common')
@@ -101,16 +100,6 @@ 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)
-
- 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 ecwolf\n'
- % (package.name, package.name))
+ lintian_desktop(destdir, package.name, 'ecwolf')
GAME_DATA_SUBCLASS = EcwolfGameData
diff --git a/game_data_packager/games/residualvm_common.py b/game_data_packager/games/residualvm_common.py
index 18a6040..2fdea18 100644
--- a/game_data_packager/games/residualvm_common.py
+++ b/game_data_packager/games/residualvm_common.py
@@ -24,8 +24,7 @@ import subprocess
from .. import GameData
from ..build import (PackagingTask)
from ..paths import DATADIR
-from ..util import mkdir_p
-from ..version import (FORMAT)
+from ..util import (mkdir_p, lintian_desktop)
logger = logging.getLogger('game-data-packager.games.residualvm-common')
@@ -115,15 +114,6 @@ 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),
- 'a', encoding='utf-8') as o:
- o.write('%s: desktop-command-not-in-package '
- 'usr/share/applications/%s.desktop residualvm\n'
- % (package.name, package.name))
+ lintian_desktop(destdir, package.name, 'residualvm')
GAME_DATA_SUBCLASS = ResidualvmGameData
diff --git a/game_data_packager/games/scummvm_common.py b/game_data_packager/games/scummvm_common.py
index 5479c2c..5b51dda 100644
--- a/game_data_packager/games/scummvm_common.py
+++ b/game_data_packager/games/scummvm_common.py
@@ -24,8 +24,8 @@ import subprocess
from .. import GameData
from ..build import (PackagingTask)
from ..paths import DATADIR
-from ..util import mkdir_p
-from ..version import (FORMAT, BINDIR)
+from ..util import (mkdir_p, lintian_desktop)
+from ..version import (BINDIR)
logger = logging.getLogger('game-data-packager.games.scummvm-common')
@@ -131,14 +131,7 @@ 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)
- 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))
+ lintian_desktop(destdir, package.name, 'scummvm')
else:
pgm = package.name[0:len(package.name)-len('-data')]
entry['Exec'] = pgm
diff --git a/game_data_packager/games/z_code.py b/game_data_packager/games/z_code.py
index 28ef788..2c6f501 100644
--- a/game_data_packager/games/z_code.py
+++ b/game_data_packager/games/z_code.py
@@ -22,8 +22,11 @@ import os
from .. import GameData
from ..build import (PackagingTask)
-from ..util import (TemporaryUmask, PACKAGE_CACHE, mkdir_p)
-from ..version import (BINDIR,FORMAT)
+from ..util import (TemporaryUmask,
+ PACKAGE_CACHE,
+ mkdir_p,
+ lintian_desktop)
+from ..version import (BINDIR)
logger = logging.getLogger('game-data-packager.games.z_code')
@@ -80,14 +83,7 @@ class ZCodeTask(PackagingTask):
'w', encoding='utf-8') as output:
desktop.write(output, space_around_delimiters=False)
- 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 %s\n'
- % (package.name, package.name, engine))
+ lintian_desktop(destdir, package.name, engine)
if engine == 'frotz':
bindir = os.path.join(destdir, BINDIR)
diff --git a/game_data_packager/util.py b/game_data_packager/util.py
index a311c73..03f6208 100644
--- a/game_data_packager/util.py
+++ b/game_data_packager/util.py
@@ -216,10 +216,17 @@ def recursive_utime(directory, orig_time):
# loaded at the end to avoid failed cyclic loads
if FORMAT == 'deb':
- from .util_deb import (PACKAGE_CACHE, install_packages)
+ from .util_deb import (PACKAGE_CACHE,
+ install_packages,
+ lintian_license,
+ lintian_desktop)
else:
from .util_rpm import (PACKAGE_CACHE, install_packages)
+ lintian_license = lambda a,b,c: None
+ lintian_desktop = lambda a,b,c: None
# pyflakes
PACKAGE_CACHE
install_packages
+lintian_license
+lintian_desktop
diff --git a/game_data_packager/util_deb.py b/game_data_packager/util_deb.py
index 8da06eb..cd9d766 100644
--- a/game_data_packager/util_deb.py
+++ b/game_data_packager/util_deb.py
@@ -20,7 +20,7 @@ import logging
import os
import subprocess
-from .util import (run_as_root, check_output)
+from .util import (run_as_root, check_output, mkdir_p)
from debian.debian_support import Version
logger = logging.getLogger('game-data-packager.util_deb')
@@ -119,3 +119,20 @@ def install_packages(debs, method, gain_root='su'):
else:
# gdebi-gtk etc.
subprocess.call([method] + list(debs))
+
+def lintian_license(destdir, package, file):
+ assert type(package) is str
+ lintiandir = os.path.join(destdir, 'usr/share/lintian/overrides')
+ mkdir_p(lintiandir)
+ with open(os.path.join(lintiandir, package), 'a', encoding='utf-8') as l:
+ l.write('%s: extra-license-file usr/share/doc/%s/%s\n'
+ % (package, package, file))
+
+def lintian_desktop(destdir, package, program):
+ assert type(package) is str
+ lintiandir = os.path.join(destdir, 'usr/share/lintian/overrides')
+ mkdir_p(lintiandir)
+ with open(os.path.join(lintiandir, package), 'a', encoding='utf-8') as l:
+ l.write('%s: desktop-command-not-in-package '
+ 'usr/share/applications/%s.desktop %s\n'
+ % (package, package, program))
--
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