Author: sparky                       Date: Mon Nov 24 14:34:14 2008 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- %_clean_env: proper quoting rules

---- Files affected:
SOURCES:
   rpm.macros (1.496 -> 1.497) 

---- Diffs:

================================================================
Index: SOURCES/rpm.macros
diff -u SOURCES/rpm.macros:1.496 SOURCES/rpm.macros:1.497
--- SOURCES/rpm.macros:1.496    Sun Nov 23 21:36:24 2008
+++ SOURCES/rpm.macros  Mon Nov 24 15:34:06 2008
@@ -133,14 +133,26 @@
 
 %_preserve_env PATH HOME TMP TMPDIR
 
-%_clean_env            env -i %(awk 'BEGIN {
+%_clean_env            env -i %(awk -vq="'" -vqq="\\"'\\"" -vq2q="'\\"'" 
'BEGIN {
        split("%{?_preserve_env:%_preserve_env}", P);
        for (i in P) {
                p = P[i];
                if (ENVIRON[p]) {
-                       val = ENVIRON[p];
-                       gsub(/[\\\\"$`]/, "\\\\\\&", val);
-                       printf("\\"" p "=" val "\\" ");
+                       split( ENVIRON[p], V, "" );
+                       val = p "=";
+                       for ( j = 1; j in V; j++ ) {
+                               v = V[j];
+                               if ( v == q )
+                                       v = qq;
+                               else if ( v == "\\"" )
+                                       v = q2q;
+                               else if ( v == "\\\\" )
+                                       v = "\\\\\\\\";
+                               else
+                                       gsub( "[^a-zA-Z0-9/]", "\\"&\\"", v );
+                               val = val "" v;
+                       }
+                       printf( val " " );
                }
        }
 }')
================================================================

---- CVS-web:
    
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/rpm.macros?r1=1.496&r2=1.497&f=u

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to