summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Coca <brian.coca+git@gmail.com>2014-05-28 11:46:06 -0500
committerJames Cammarata <jimi@sngx.net>2014-06-09 14:10:44 -0500
commit4e4ffa669adb3e997fa713e6375b8b179231909e (patch)
tree56a2ab87f607c0faac4ae6dbadb0084e59f3f5d1
parentce80c0b8afc058f63e65d6f2b1c4a0b48bf8500a (diff)
downloadansible-4e4ffa669adb3e997fa713e6375b8b179231909e.tar.gz
Correctly examine path for relative links in file module
Fixes #7515 Fixes #7537
-rw-r--r--library/files/file9
1 files changed, 5 insertions, 4 deletions
diff --git a/library/files/file b/library/files/file
index 1306ef5f0a..d2a20dbb7a 100644
--- a/library/files/file
+++ b/library/files/file
@@ -182,10 +182,11 @@ def main():
elif state in ['link','hard']:
- absrc = src
- if not os.path.isabs(absrc):
- absrc = os.path.abspath(src)
-
+ if os.path.isdir(path):
+ relpath = path
+ else:
+ relpath = os.path.dirname(path)
+ absrc = os.path.normpath('%s/%s' % (relpath, os.path.basename(src)))
if not os.path.exists(absrc) and not force:
module.fail_json(path=path, src=src, msg='src file does not exist, use "force=yes" if you really want to create the link: %s' % absrc)