From 684921c1c1cd05126815affb367a83dfd0256e18 Mon Sep 17 00:00:00 2001 From: sspans Date: Mon, 4 Nov 2013 10:37:36 +0100 Subject: [PATCH 1/2] only require absolute paths for hardlinks --- library/files/file | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/library/files/file b/library/files/file index 88c3c4d3242..b716610633e 100644 --- a/library/files/file +++ b/library/files/file @@ -280,13 +280,14 @@ def main(): elif state in ['link','hard']: - if os.path.isabs(src): - abs_src = src - else: - module.fail_json(msg="absolute paths are required") + if state == 'hard': + if os.path.isabs(src): + abs_src = src + else: + module.fail_json(msg="absolute paths are required") - if not os.path.exists(abs_src) and not force: - module.fail_json(path=path, src=src, msg='src file does not exist') + if not os.path.exists(abs_src) and not force: + module.fail_json(path=path, src=src, msg='src file does not exist') if prev_state == 'absent': changed = True From 904a129ac1d668e366591bd99f6347676840a5b3 Mon Sep 17 00:00:00 2001 From: sspans Date: Mon, 4 Nov 2013 10:44:06 +0100 Subject: [PATCH 2/2] skip absolute path creation for old_src, not needed with the new relative links --- library/files/file | 2 -- 1 file changed, 2 deletions(-) diff --git a/library/files/file b/library/files/file index b716610633e..463f2b63702 100644 --- a/library/files/file +++ b/library/files/file @@ -293,8 +293,6 @@ def main(): changed = True elif prev_state == 'link': old_src = os.readlink(path) - if not os.path.isabs(old_src): - old_src = os.path.join(os.path.dirname(path), old_src) if old_src != src: changed = True elif prev_state == 'hard':