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

pym/portage/__init__.py

index 8de8457b61ffa64dfcbb3c832036c7beed5c39a7..b91f6408695d2e107690de60c7432353f2764e30 100644 (file)
@@ -705,8 +705,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