Rename build-time option TMPDIR to EXIM_TMPDIR
authorAlexander Tsoy <alexander@tsoy.me>
Tue, 2 Feb 2016 17:56:15 +0000 (20:56 +0300)
committerHeiko Schlittermann (HS12-RIPE) <hs@schlittermann.de>
Fri, 5 Feb 2016 10:17:52 +0000 (11:17 +0100)
Build-time option TMPDIR included in Makefile clashes with environment
variable of the same name. This breaks tools that make use of that
variable, such as distcc.

The following example demonstrates what's going on:

$ cat Makefile
TMPDIR="/tmp"
all:
env
$ export TMPDIR=test
$ make | grep ^TMPDIR
TMPDIR="/tmp"

distcc error (note the extra quotes):
ERROR: can't use TMPDIR ""/tmp"": No such file or directory

doc/doc-txt/OptionLists.txt
src/src/EDITME
src/src/config.h.defaults
src/src/exim.c

index 375850d6bac8bd1e7364522523656c6219ecd34c..53c07436ad88c0cc259879a98e30f526846b1993 100644 (file)
@@ -968,7 +968,7 @@ TCP_WRAPPERS_DAEMON_NAME     system*      daemon name used by tcpwrappers librar
 TIMEZONE_DEFAULT             optional     default for timezone option
 TLS_INCLUDE                  optional     path to include files for TLS
 TLS_LIBS                     optional     additional libraries for TLS
-TMPDIR                       system       value for TMPDIR environment variable
+EXIM_TMPDIR                  system       value for TMPDIR environment variable
 TRANSPORT_APPENDFILE         driver       include appendfile transport
 TRANSPORT_AUTOREPLY          driver       include autoreply transport
 TRANSPORT_LMTP               driver       include lmtp transport
index 30a296e89254d67ea83c9c748f429078fcf17c32..6afe0c74c6129dcd698a0d1b5c5c86090b17589c 100644 (file)
@@ -1123,7 +1123,7 @@ SYSTEM_ALIASES_FILE=/etc/aliases
 # it replaces the value with what is defined here. Commenting this setting
 # suppresses the check altogether.
 
-TMPDIR="/tmp"
+EXIM_TMPDIR="/tmp"
 
 
 #------------------------------------------------------------------------------
index 14de083fe69eaf1280fbf9e3172d4109d0aeea33..c1cf1a9b487dc5688eb89cca4902861f492613ef 100644 (file)
@@ -150,7 +150,7 @@ it's a default value. */
 
 #define TCP_WRAPPERS_DAEMON_NAME "exim"
 #define TIMEZONE_DEFAULT
-#define TMPDIR
+#define EXIM_TMPDIR
 
 #define TRANSPORT_APPENDFILE
 #define TRANSPORT_AUTOREPLY
index ebc71dd371929028edd35f69d11745f1a5dd83dd..c134bf5e6e441bb95c46bc4d8a2c6f8203489c52 100644 (file)
@@ -3899,20 +3899,20 @@ if (log_oneline)
 temporary files are created; Exim doesn't use these (apart from when delivering
 to MBX mailboxes), but called libraries such as DBM libraries may require them.
 If TMPDIR is found in the environment, reset it to the value defined in the
-TMPDIR macro, if this macro is defined. */
+EXIM_TMPDIR macro, if this macro is defined. */
 
-#ifdef TMPDIR
+#ifdef EXIM_TMPDIR
   {
   uschar **p;
   for (p = USS environ; *p != NULL; p++)
     {
     if (Ustrncmp(*p, "TMPDIR=", 7) == 0 &&
-        Ustrcmp(*p+7, TMPDIR) != 0)
+        Ustrcmp(*p+7, EXIM_TMPDIR) != 0)
       {
-      uschar *newp = malloc(Ustrlen(TMPDIR) + 8);
-      sprintf(CS newp, "TMPDIR=%s", TMPDIR);
+      uschar *newp = malloc(Ustrlen(EXIM_TMPDIR) + 8);
+      sprintf(CS newp, "TMPDIR=%s", EXIM_TMPDIR);
       *p = newp;
-      DEBUG(D_any) debug_printf("reset TMPDIR=%s in environment\n", TMPDIR);
+      DEBUG(D_any) debug_printf("reset TMPDIR=%s in environment\n", EXIM_TMPDIR);
       }
     }
   }