aboutsummaryrefslogtreecommitdiffhomepage
path: root/gbp
diff options
context:
space:
mode:
authorGuido Guenther <agx@sigxcpu.org>2008-07-21 19:46:15 -0230
committerGuido Guenther <agx@sigxcpu.org>2008-07-21 19:46:15 -0230
commit4ac0aa8af83ee090cfb7526d27e4b70ce9cb96d9 (patch)
treee869354e1d884d86eabe418c99603f4f180ef0d3 /gbp
parentffeb40eb9a9e2263fcbeae8b3d606c9d98b86086 (diff)
always symlink orig.tar.gz from tarball dir
ff it's there and --tarball-dir is being used Closes: 490706
Diffstat (limited to 'gbp')
-rw-r--r--gbp/deb_utils.py20
1 files changed, 15 insertions, 5 deletions
diff --git a/gbp/deb_utils.py b/gbp/deb_utils.py
index a96bb8ea..e1b47483 100644
--- a/gbp/deb_utils.py
+++ b/gbp/deb_utils.py
@@ -145,18 +145,28 @@ def has_orig(cp, dir):
return False
return True
-def copy_orig(cp, orig_dir, output_dir):
- """copy orig.tar.gz from orig_dir to output_dir"""
+def symlink_orig(cp, orig_dir, output_dir, force=False):
+ """
+ symlink orig.tar.gz from orig_dir to output_dir
+ @return: True if link was created or src == dst
+ False in case of errror or src doesn't exist
+ """
orig_dir = os.path.abspath(orig_dir)
output_dir = os.path.abspath(output_dir)
if orig_dir == output_dir:
return True
+ src = os.path.join(orig_dir, orig_file(cp))
+ dst = os.path.join(output_dir, orig_file(cp))
+ if not os.access(src, os.F_OK):
+ return False
try:
- shutil.copyfile(os.path.join(orig_dir, orig_file(cp)),
- os.path.join(output_dir, orig_file(cp)))
- except IOError:
+ if os.access(dst, os.F_OK) and force:
+ os.unlink(dst)
+ print src, dst
+ os.symlink(src, dst)
+ except OSError:
return False
return True