import-srpm: always move packaging file to packaging dir
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>
Wed, 30 May 2012 14:50:35 +0000 (17:50 +0300)
committerZhang Qiang <qiang.z.zhang@intel.com>
Tue, 5 Jun 2012 01:43:20 +0000 (09:43 +0800)
Fixes a problem where packaging files were not moved to packaging dir
under certain circumstances.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Change-Id: I7b42e63007c00c79f47e75cac0ad81606b49271e

gbp/scripts/import_srpm.py

index 0e0cfd517f6c98cf7ee300192517e45ec89ebcf7..811f0348d9f0121a2665f3db2ef6008c2d6b83bd 100755 (executable)
@@ -204,6 +204,12 @@ def main(argv):
                 set_bare_repo_options(options)
 
             dirs['pkgextract'] = os.path.abspath(tempfile.mkdtemp(dir='..'))
+            dirs['pkgextract-packaging'] = os.path.join(dirs['pkgextract'], options.packaging_dir)
+            try:
+                os.mkdir(dirs['pkgextract-packaging'])
+            except OSError, (e, emsg):
+                if e == errno.EEXIST:
+                    pass
             dirs['srctarball'] = os.path.abspath(tempfile.mkdtemp(dir='..'))
             dirs['srcunpack'] = os.path.abspath(tempfile.mkdtemp(dir='..'))
             gbp.log.info("Extracting src rpm...")
@@ -217,11 +223,11 @@ def main(argv):
                files.append(os.path.basename(pkg))
                for fname in files:
                    os.symlink(os.path.join(dirs['src'], fname),
-                              os.path.join(dirs['pkgextract'], fname))
+                              os.path.join(dirs['pkgextract-packaging'], fname))
                if spec.orig_base:
                   orig_tarball=os.path.join(dirs['src'], os.path.basename(spec.orig_file))
             else:
-               src.unpack(dirs['pkgextract'], dirs['srctarball'])
+               src.unpack(dirs['pkgextract-packaging'], dirs['srctarball'])
                if src.orig_file:
                   orig_tarball = os.path.join(dirs['srctarball'], src.orig_file)
 
@@ -309,8 +315,9 @@ def main(argv):
                             pass
                         else:
                             raise
-                    for f in glob.glob(dirs['pkgextract']+"/*"):
-                        shutil.copy2(f, pkgsubdir)
+                    for f in os.listdir(dirs['pkgextract-packaging']):
+                        shutil.copy2(os.path.join(dirs['pkgextract-packaging'], f),
+                                     pkgsubdir)
                     commit = repo.commit_dir(upstream.unpacked,
                                                  "Imported %s" % msg,
                                                  branch, other_parents=[upstream_commit],