1diff -ru ../orig/supervisor-3.2.3/supervisor/datatypes.py ./supervisor/datatypes.py
 2--- ../orig/supervisor-3.2.3/supervisor/datatypes.py    2016-03-19 23:18:14.000000000 +0000
 3+++ ./supervisor/datatypes.py    2016-04-19 15:16:51.881077361 +0000
 4@@ -326,13 +326,13 @@
 5         raise ValueError('%s can not be converted to an octal type' % arg)
 6 
 7 def existing_directory(v):
 8-    nv = os.path.expanduser(v)
 9+    nv = os.path.expanduser(os.path.expandvars(v))
10     if os.path.isdir(nv):
11         return nv
12     raise ValueError('%s is not an existing directory' % v)
13 
14 def existing_dirpath(v):
15-    nv = os.path.expanduser(v)
16+    nv = os.path.expanduser(os.path.expandvars(v))
17     dir = os.path.dirname(nv)
18     if not dir:
19         # relative pathname with no directory component
20Only in ./supervisor: __init__.pyc
21diff -ru ../orig/supervisor-3.2.3/supervisor/options.py ./supervisor/options.py
22--- ../orig/supervisor-3.2.3/supervisor/options.py    2016-03-19 23:18:14.000000000 +0000
23+++ ./supervisor/options.py    2016-04-19 15:26:24.427113652 +0000
24@@ -100,7 +100,8 @@
25                        os.path.join(here, 'supervisord.conf'),
26                        'supervisord.conf',
27                        'etc/supervisord.conf',
28-                       '/etc/supervisord.conf']
29+                       '/etc/supervisord.conf',
30+                       os.path.expanduser('~/.supervisord.conf')]
31         self.searchpaths = searchpaths
32 
33         self.environ_expansions = {}
34@@ -988,6 +989,8 @@
35         get = parser.saneget
36         username = get(section, 'username', None)
37<<<hidden due to potential security issue>>>
38<<<hidden due to potential security issue>>>
39<<<hidden due to potential security issue>>>
40<<<hidden due to potential security issue>>>
41<<<hidden due to potential security issue>>>
42                 raise ValueError(
43@@ -1600,6 +1603,8 @@
44         section.prompt = parser.getdefault('prompt', section.prompt)
45         section.username = parser.getdefault('username', section.username)
46<<<hidden due to potential security issue>>>
47<<<hidden due to potential security issue>>>
48<<<hidden due to potential security issue>>>
49         history_file = parser.getdefault('history_file', section.history_file,
50             expansions={'here': self.here})
51