add --force-debian option for ubuntu while unpacking src.rpm
authorZhang Qiang <qiang.z.zhang@intel.com>
Mon, 19 Mar 2012 02:17:46 +0000 (10:17 +0800)
committerZhang Qiang <qiang.z.zhang@intel.com>
Mon, 19 Mar 2012 02:17:46 +0000 (10:17 +0800)
gitbuildsys/cmd_import.py
gitbuildsys/utils.py

index 8f04a75f9e5ab0c373a519f299c6d94fc9278d22..7103a4a498d14a7d79ac14f481a30a275773ff9c 100644 (file)
@@ -50,7 +50,10 @@ def do(opts, args):
         srcrpmdir = tempfile.mkdtemp(prefix='%s/%s' % (tmpdir, 'src.rpm'))
 
         msger.info('unpack source rpm package: %s' % args[0])
-        ret = runner.quiet("rpm -i --define '_topdir %s' %s" % (srcrpmdir, args[0]))
+        cmd = "rpm -i --define '_topdir %s' %s" % (srcrpmdir, args[0])
+        if utils.linux_distribution()[0] == 'Ubuntu':
+            cmd = "%s --force-debian" % cmd
+        ret = runner.quiet(cmd)
         if ret != 0:
             msger.error('source rpm %s unpack fails' % args[0])
         specfile = glob.glob("%s/SPECS/*" % srcrpmdir)[0]
index 78154f5c88d07badbb334d4cb039e0aa7d91d601..8848cbf5477d4727e99657d6a12a1842b31c6398 100644 (file)
@@ -19,6 +19,7 @@
 from __future__ import with_statement
 import os
 import glob
+import platform
 
 import msger
 import runner
@@ -32,6 +33,23 @@ compressor_opts = { 'gzip'  : [ '-n', 'gz' ],
 compressor_aliases = { 'bz2' : 'bzip2',
                        'gz'  : 'gzip', }
 
+SUPPORT_DISTS = (
+    'SuSE',
+    'debian',
+    'fedora',
+    'ubuntu'
+    'tizen',
+)
+
+def linux_distribution():
+    try:
+        (dist, ver, id) = platform.linux_distribution( \
+                              supported_dists = SUPPORT_DISTS)
+    except:
+        (dist, ver, id) = platform.dist( \
+                              supported_dists = SUPPORT_DISTS)
+    return (dist, ver, id)
+
 class Workdir(object):
     def __init__(self, path):
         self._newdir = path