For bug #184604, make env-update write $ in front of quoted values when appropriate...
authorZac Medico <zmedico@gentoo.org>
Tue, 10 Jul 2007 18:29:22 +0000 (18:29 -0000)
committerZac Medico <zmedico@gentoo.org>
Tue, 10 Jul 2007 18:29:22 +0000 (18:29 -0000)
svn path=/main/branches/2.1.2/; revision=7217

pym/portage.py

index 57d58e5b8927e98f1d59b1cfe6687be03a862407..7127a1c7fca0d12999c47093b614d1e5ccb11faa 100644 (file)
@@ -811,8 +811,12 @@ def env_update(makelinks=1, target_root=None, prev_mtimes=None, contents=None,
 
        env_keys = [ x for x in env if x != "LDPATH" ]
        env_keys.sort()
-       for x in env_keys:
-               outfile.write("export %s='%s'\n" % (x, env[x]))
+       for k in env_keys:
+               v = env[k]
+               if v.startswith('$') and not v.startswith('${'):
+                       outfile.write("export %s=$'%s'\n" % (k, v[1:]))
+               else:
+                       outfile.write("export %s='%s'\n" % (k, v))
        outfile.close()
 
        #create /etc/csh.env for (t)csh support