From 4ac0aa8af83ee090cfb7526d27e4b70ce9cb96d9 Mon Sep 17 00:00:00 2001 From: Guido Guenther Date: Mon, 21 Jul 2008 19:46:15 -0230 Subject: always symlink orig.tar.gz from tarball dir ff it's there and --tarball-dir is being used Closes: 490706 --- gbp/deb_utils.py | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) (limited to 'gbp') 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 -- cgit v1.2.3