From caa79b84aee027c42ec359a170293e0f3694e227 Mon Sep 17 00:00:00 2001 From: Zhang Qiang Date: Wed, 16 Jan 2013 14:53:18 +0800 Subject: [PATCH] Only check permission if outdir exists - raise error if make dir fails - only check permission of outdir if outdir exists Change-Id: Id86dee7093d38bf8861d88bcf299cb902fac6da2 --- gitbuildsys/cmd_export.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gitbuildsys/cmd_export.py b/gitbuildsys/cmd_export.py index b2721b3..dc3bf12 100644 --- a/gitbuildsys/cmd_export.py +++ b/gitbuildsys/cmd_export.py @@ -46,7 +46,7 @@ def mkdir_p(path): if exc.errno == errno.EEXIST: pass else: - raise + raise GbsError('failed to create %s: %s' % (path, exc.strerror)) def is_native_pkg(repo, args): """ @@ -248,10 +248,12 @@ def main(args): else: outdir = os.path.join(workdir, packaging_dir) outdir = os.path.abspath(outdir) - if not os.access(outdir, os.W_OK|os.X_OK): - raise GbsError('no write permission to outdir: %s' % outdir) + if os.path.exists(outdir): + if not os.access(outdir, os.W_OK|os.X_OK): + raise GbsError('no write permission to outdir: %s' % outdir) + else: + mkdir_p(outdir) - mkdir_p(outdir) tmpdir = configmgr.get('tmpdir', 'general') tempd = utils.Temp(prefix=os.path.join(tmpdir, '.gbs_export_'), \ directory=True) -- 2.7.4