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 bf507feef8711ac699dd0c9221662b763681eaf4 Author: Simon McVittie <[email protected]> Date: Wed Jan 21 10:20:16 2015 +0000 Add the ability to use .copyright or .copyright.in files based on shortname --- lib/game_data_packager/__init__.py | 19 +++++++++++++++++-- lib/game_data_packager/games/doom_common.py | 16 +++++----------- lib/game_data_packager/util.py | 6 ++++++ 3 files changed, 28 insertions(+), 13 deletions(-) diff --git a/lib/game_data_packager/__init__.py b/lib/game_data_packager/__init__.py index 3019159..a250855 100644 --- a/lib/game_data_packager/__init__.py +++ b/lib/game_data_packager/__init__.py @@ -46,6 +46,7 @@ import yaml from .paths import DATADIR, ETCDIR from .util import (MEBIBYTE, TemporaryUmask, + copy_with_substitutions, mkdir_p, rm_rf, human_size, @@ -1440,8 +1441,22 @@ class GameData(object): return complete def fill_docs(self, package, docdir): - shutil.copyfile(os.path.join(DATADIR, package.name + '.copyright'), - os.path.join(docdir, 'copyright')) + for n in (package.name, self.shortname): + copy_from = os.path.join(DATADIR, n + '.copyright') + copy_to = os.path.join(docdir, 'copyright') + + if os.path.exists(copy_from): + shutil.copyfile(copy_from, copy_to) + return + + if os.path.exists(copy_from + '.in'): + copy_with_substitutions(open(copy_from + '.in'), + open(copy_to, 'w'), + PACKAGE=package.name) + return + + raise AssertionError('should have found a copyright file for %s' % + package.name) def fill_extra_files(self, package, destdir): pass diff --git a/lib/game_data_packager/games/doom_common.py b/lib/game_data_packager/games/doom_common.py index 2d16d05..8ecf8d2 100644 --- a/lib/game_data_packager/games/doom_common.py +++ b/lib/game_data_packager/games/doom_common.py @@ -21,19 +21,13 @@ import subprocess from .. import GameData, GameDataPackage from ..paths import DATADIR -from ..util import TemporaryUmask, mkdir_p +from ..util import (TemporaryUmask, copy_with_substitutions, mkdir_p) logger = logging.getLogger('game-data-packager.games.doom-common') def install_data(from_, to): subprocess.check_call(['cp', '--reflink=auto', from_, to]) -def subst(from_, to, **kwargs): - for line in from_: - for k, v in kwargs.items(): - line = line.replace(k, v) - to.write(line) - class WadPackage(GameDataPackage): def __init__(self, name): super(WadPackage, self).__init__(name) @@ -115,12 +109,12 @@ class DoomGameData(GameData): def fill_docs(self, package, docdir): main_wad = package.main_wad - subst( + copy_with_substitutions( open(os.path.join(DATADIR, 'doom-common.README.Debian.in')), open(os.path.join(docdir, 'README.Debian'), 'w'), PACKAGE=package.name, GAME=(package.longname or self.longname)) - subst( + copy_with_substitutions( open(os.path.join(DATADIR, 'doom-common.copyright.in')), open(os.path.join(docdir, 'copyright'), 'w'), PACKAGE=package.name, @@ -148,7 +142,7 @@ class DoomGameData(GameData): for basename in (package.name, 'doom-common'): from_ = os.path.join(DATADIR, basename + '.desktop.in') if os.path.exists(from_): - subst(open(from_), + copy_with_substitutions(open(from_), open(os.path.join(appdir, '%s.desktop' % package.name), 'w'), GAME=wad_base, @@ -160,7 +154,7 @@ class DoomGameData(GameData): debdir = os.path.join(destdir, 'DEBIAN') mkdir_p(debdir) - subst( + copy_with_substitutions( open(os.path.join(DATADIR, 'doom-common.preinst.in')), open(os.path.join(debdir, 'preinst'), 'w'), IWAD=main_wad) diff --git a/lib/game_data_packager/util.py b/lib/game_data_packager/util.py index f31b320..e2fd42f 100644 --- a/lib/game_data_packager/util.py +++ b/lib/game_data_packager/util.py @@ -69,3 +69,9 @@ def human_size(size): # 1.0 MiB or more return '%.1f MiB' % (size / (MEBIBYTE)) + +def copy_with_substitutions(from_, to, **kwargs): + for line in from_: + for k, v in kwargs.items(): + line = line.replace(k, v) + to.write(line) -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/game-data-packager.git _______________________________________________ Pkg-games-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits

