[game-data-packager] 01/01: fedora: port most of make-template

Alexandre Detiste detiste-guest at moszumanska.debian.org
Mon Nov 2 07:57:29 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 cb0fbf6c0da46a49ca940f4abbd22bf913f46896
Author: Alexandre Detiste <alexandre.detiste at gmail.com>
Date:   Mon Nov 2 08:55:28 2015 +0100

    fedora: port most of make-template
    
    I don't want cross distro support for now
    (analyzing/building .rpm on Debian or .deb on Fedora)
---
 game_data_packager/make_template.py | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/game_data_packager/make_template.py b/game_data_packager/make_template.py
index f84c59c..700024a 100644
--- a/game_data_packager/make_template.py
+++ b/game_data_packager/make_template.py
@@ -26,9 +26,14 @@ import tempfile
 import glob
 import zipfile
 
-from debian.deb822 import Deb822
-from debian.debian_support import Version
 import yaml
+try:
+    from debian.deb822 import Deb822
+    from debian.debian_support import Version
+    ON_DEBIAN = True
+except ImportError:
+    from distutils.version import LooseVersion as Version
+    ON_DEBIAN = False
 
 from . import HashedFile
 from .gog import GOG
@@ -350,8 +355,12 @@ class GameData(object):
         self.files['files'][os.path.basename(exe)] = dict(unpack=dict(format='innoextract'),provides=['file1','file2'])
 
     def add_one_deb(self,deb,lower):
+        if not ON_DEBIAN or not which('dpkg-deb'):
+            exit('.deb analysis is only implemented on Debian.')
+
         control = None
 
+        version = None
         with subprocess.Popen(['dpkg-deb', '--ctrl-tarfile', deb],
                 stdout=subprocess.PIPE) as ctrl_process:
             with tarfile.open(deb + '//control.tar.*', mode='r|',
@@ -367,7 +376,7 @@ class GameData(object):
                         reader = ctrl_tarfile.extractfile(entry)
                         control = Deb822(reader)
                         print('# data/%s.control.in' % control['package'])
-                        control['version'] = 'VERSION'
+                        version = control['version']
                         if 'Homepage' in control:
                             if 'gog.com/' in control['Homepage']:
                                 self.gog_url = control['Homepage'].split('/')[-1]
@@ -389,6 +398,9 @@ class GameData(object):
         self.package['install'] = []
         self.package['optional'] = []
         self.package['license'] = []
+        if version:
+            self.package['version'] = version
+
         install_to = None
 
         with subprocess.Popen(['dpkg-deb', '--fsys-tarfile', deb],

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