[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