From 5ba67396036bb87d6b76f726569314ff43955a86 Mon Sep 17 00:00:00 2001
From: Matt Martz <matt@sivel.net>
Date: Tue, 21 Jan 2014 12:41:58 -0600
Subject: [PATCH] Use realpath for plugin directories instead of abspath

---
 lib/ansible/utils/plugins.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/lib/ansible/utils/plugins.py b/lib/ansible/utils/plugins.py
index 1aeba16693..b1d0117e61 100644
--- a/lib/ansible/utils/plugins.py
+++ b/lib/ansible/utils/plugins.py
@@ -30,7 +30,7 @@ _basedirs = []
 
 def push_basedir(basedir):
     # avoid pushing the same absolute dir more than once
-    basedir = os.path.abspath(basedir)
+    basedir = os.path.realpath(basedir)
     if basedir not in _basedirs:
         _basedirs.insert(0, basedir)
 
@@ -99,7 +99,7 @@ class PluginLoader(object):
         ret = []
         ret += self._extra_dirs
         for basedir in _basedirs:
-            fullpath = os.path.abspath(os.path.join(basedir, self.subdir))
+            fullpath = os.path.realpath(os.path.join(basedir, self.subdir))
             if os.path.isdir(fullpath):
                 files = glob.glob("%s/*" % fullpath)
                 for file in files:
@@ -111,7 +111,7 @@ class PluginLoader(object):
         # look in any configured plugin paths, allow one level deep for subcategories 
         configured_paths = self.config.split(os.pathsep)
         for path in configured_paths:
-            path = os.path.abspath(os.path.expanduser(path))
+            path = os.path.realpath(os.path.expanduser(path))
             contents = glob.glob("%s/*" % path)
             for c in contents:
                 if os.path.isdir(c) and c not in ret:
@@ -131,7 +131,7 @@ class PluginLoader(object):
         ''' Adds an additional directory to the search path '''
 
         self._paths = None
-        directory = os.path.abspath(directory)
+        directory = os.path.realpath(directory)
 
         if directory is not None:
             if with_subdir: