From 63d101674d176338b51f00e7a01be13933caac76 Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Sun, 31 May 2015 12:58:50 +0300 Subject: Can create a subdirectory for projects whose zip files do not have one. --- wrap.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/wrap.py b/wrap.py index f1c7bdc..1f8bce7 100644 --- a/wrap.py +++ b/wrap.py @@ -132,8 +132,18 @@ class Resolver: pass except ImportError: pass - if os.path.isdir(os.path.join(self.subdir_root, package.get('directory'))): + target_dir = os.path.join(self.subdir_root, package.get('directory')) + if os.path.isdir(target_dir): return - shutil.unpack_archive(os.path.join(self.cachedir, package.get('source_filename')), self.subdir_root) + extract_dir = self.subdir_root + # Some upstreams ship packages that do not have a leading directory. + # Create one for them. + try: + package.get('lead_directory_missing') + os.mkdir(target_dir) + extract_dir = target_dir + except KeyError: + pass + shutil.unpack_archive(os.path.join(self.cachedir, package.get('source_filename')), extract_dir) if package.has_patch(): shutil.unpack_archive(os.path.join(self.cachedir, package.get('patch_filename')), self.subdir_root) -- cgit v1.1