[game-data-packager] 01/01: split package_map into packaging/*.py
Alexandre Detiste
detiste-guest at moszumanska.debian.org
Wed Jan 6 14:23:40 UTC 2016
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 c5f1977bbb221db5996bcd06f7e96760fc86b44b
Author: Alexandre Detiste <alexandre.detiste at gmail.com>
Date: Wed Jan 6 15:22:57 2016 +0100
split package_map into packaging/*.py
---
game_data_packager/build.py | 39 ++++----------------------------
game_data_packager/packaging/__init__.py | 3 +++
game_data_packager/packaging/arch.py | 7 ++++++
game_data_packager/packaging/deb.py | 8 +++++++
game_data_packager/packaging/rpm.py | 16 +++++++++++++
5 files changed, 38 insertions(+), 35 deletions(-)
diff --git a/game_data_packager/build.py b/game_data_packager/build.py
index db355cf..597de79 100644
--- a/game_data_packager/build.py
+++ b/game_data_packager/build.py
@@ -2729,44 +2729,13 @@ class PackagingTask(object):
if not self.missing_tools:
return False
- if FORMAT == 'deb':
- command = 'apt-get install'
- package_map = {
- 'id-shr-extract': 'dynamite',
- 'lha': 'lhasa',
- '7z': 'p7zip-full',
- 'unrar-nonfree': 'unrar',
- }
- elif DISTRO == 'fedora':
- command = 'dnf install'
- package_map = {
- 'dpkg-deb': 'dpkg',
- 'id-shr-extract': None,
- '7z': 'p7zip-plugins',
- 'unrar-nonfree': 'unrar',
- }
- elif DISTRO == 'suse':
- command = 'zypper install'
- package_map = {
- 'dpkg-deb': 'dpkg',
- 'id-shr-extract': None,
- '7z': 'p7zip',
- 'unrar-nonfree': 'unrar',
- }
- elif FORMAT == 'arch':
- command = 'pacman -S'
- package_map = {
- 'id-shr-extract': None,
- '7z': 'p7zip',
- # XXX
- }
-
packages = set()
for t in self.missing_tools:
- p = package_map.get(t, t)
+ p = self.packaging.package_map.get(t, t)
if p is not None:
packages.add(p)
- logger.warning('installing these packages might help:\n' +
- '%s %s', command, ' '.join(sorted(packages)))
+ if packages:
+ logger.warning('installing these packages might help:\n' +
+ '%s %s', self.packaging.install_cmd, ' '.join(sorted(packages)))
diff --git a/game_data_packager/packaging/__init__.py b/game_data_packager/packaging/__init__.py
index 98154bb..45d1da8 100644
--- a/game_data_packager/packaging/__init__.py
+++ b/game_data_packager/packaging/__init__.py
@@ -25,6 +25,9 @@ class PackagingSystem(metaclass=ABCMeta):
BINDIR = 'usr/bin'
LICENSEDIR = 'usr/share/doc'
+ install_cmd = None
+ package_map = dict()
+
_architecture = None
_foreign_architectures = set()
diff --git a/game_data_packager/packaging/arch.py b/game_data_packager/packaging/arch.py
index c772783..fb6b773 100644
--- a/game_data_packager/packaging/arch.py
+++ b/game_data_packager/packaging/arch.py
@@ -25,6 +25,13 @@ from ..util import (run_as_root, check_output)
logger = logging.getLogger(__name__)
class ArchPackaging(PackagingSystem):
+ install_cmd = 'pacman -S'
+ package_map = {
+ 'id-shr-extract': None,
+ '7z': 'p7zip',
+ # XXX
+ }
+
def is_installed(self, package):
return subprocess.call(['pacman', '-Q', package],
stdout=subprocess.DEVNULL,
diff --git a/game_data_packager/packaging/deb.py b/game_data_packager/packaging/deb.py
index d287bfc..5644e6e 100644
--- a/game_data_packager/packaging/deb.py
+++ b/game_data_packager/packaging/deb.py
@@ -31,6 +31,14 @@ class DebPackaging(PackagingSystem):
BINDIR = 'usr/games'
ASSETS = 'usr/share/games'
+ install_cmd = 'apt-get install'
+ package_map = {
+ 'id-shr-extract': 'dynamite',
+ 'lha': 'lhasa',
+ '7z': 'p7zip-full',
+ 'unrar-nonfree': 'unrar',
+ }
+
def __init__(self):
self.__installed = None
self.__available = None
diff --git a/game_data_packager/packaging/rpm.py b/game_data_packager/packaging/rpm.py
index 956344c..dd0132c 100644
--- a/game_data_packager/packaging/rpm.py
+++ b/game_data_packager/packaging/rpm.py
@@ -62,6 +62,14 @@ class RpmPackaging(PackagingSystem):
run_as_root(['rpm', '-U'] + list(rpms), gain_root)
class DnfPackaging(RpmPackaging):
+ install_cmd = 'dnf install'
+ package_map = {
+ 'dpkg-deb': 'dpkg',
+ 'id-shr-extract': None,
+ '7z': 'p7zip-plugins',
+ 'unrar-nonfree': 'unrar',
+ }
+
def __init__(self):
self.available = None
@@ -98,6 +106,14 @@ class DnfPackaging(RpmPackaging):
gain_root=gain_root)
class ZypperPackaging(RpmPackaging):
+ install_cmd = 'zypper install'
+ package_map = {
+ 'dpkg-deb': 'dpkg',
+ 'id-shr-extract': None,
+ '7z': 'p7zip',
+ 'unrar-nonfree': 'unrar',
+ }
+
def is_available(self, package):
proc = subprocess.Popen(['zypper', 'info', package],
universal_newlines=True,
--
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