Index: config.py
===================================================================
--- config.py	(revision 3910)
+++ config.py	(working copy)
@@ -413,17 +413,24 @@
         components.sort(compare)
         return components
 
+def get_dirname(name):
+    special_dirs = {'wiki': 'wiki-default', 'macros': 'wiki-macros'}
+    return  special_dirs.get(name, name)
 
 def default_dir(name):
+    dirname = get_dirname(name)
     try:
         from trac import siteconfig
-        return getattr(siteconfig, '__default_%s_dir__' % name)
+        if hasattr(siteconfig, '__default_%s_dir__' % name):
+            return getattr(siteconfig, '__default_%s_dir__' % name)
+
+        if hasattr(siteconfig, '__parent_env__'):
+            shared_dir = getattr(siteconfig, '__parent_env__')
+            return os.path.join(shared_dir, dirname)
+
     except ImportError:
         # This is not a regular install with a generated siteconfig.py file,
         # so try to figure out the directory based on common setups
-        special_dirs = {'wiki': 'wiki-default', 'macros': 'wiki-macros'}
-        dirname = special_dirs.get(name, name)
-
         # First assume we're being executing directly form the source directory
         import trac
         path = os.path.join(os.path.split(os.path.dirname(trac.__file__))[0],

