﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	difficulty
1685	shell-variable in egg-compile should quote environment variables	Mario Domenech Goulart	evhan	"Without quoting shell variables, install scripts end up with commands like

{{{
mkdir -p ${DESTDIR}'/home/mario/local/chicken-head/lib/chicken/11'
}}}

If {{{DESTDIR}}}} happens to contain a space, the command above will not do what it is expected to do.

Double-quoting shell variables on Unix systems is not harmful, as far as I can tell.  I have no clue about Windows.

At the moment, {{{shell-variable}}} seems to be only applied to {{{DESTDIR}}}.

The following patch would improve the situation on Unix:

{{{
diff --git a/egg-compile.scm b/egg-compile.scm
index 4a72d5d0..e6be5d1d 100644
--- a/egg-compile.scm
+++ b/egg-compile.scm
@@ -1227,7 +1227,7 @@ EOF

 (define (shell-variable var platform)
   (case platform
-    ((unix) (string-append ""${"" var ""}""))
+    ((unix) (string-append ""\""${"" var ""}\""""))
     ((windows) (string-append ""%"" var ""%""))))

 ;; NOTE `cmd' must already be quoted for shell
}}}"	defect	assigned	major	someday	core libraries	5.2.0		shell-variable, DESTDIR, chicken-install, egg-compile		
