147 lines
8.0 KiB
Diff
147 lines
8.0 KiB
Diff
|
Subject: Changed tmpdir default to /var/tmp
|
|||
|
|
|||
|
By default, mutt stores drafts in
|
|||
|
/tmp/mutt-$HOSTNAME-$UID-$PID-$REV. /tmp is designed to hold data
|
|||
|
that isn't guaranteed to be preserved between different invocations
|
|||
|
of programmes. For practical purposes, and on Debian at least, this
|
|||
|
translates to files being deleted on every boot, unless TMPTIME is
|
|||
|
amended in /etc/default/rcS and /tmp is not a tmpfs.
|
|||
|
|
|||
|
This behaviour can cause loss of data, e.g. when the laptop dies or
|
|||
|
turns itself off due to low power; the user might not have a chance
|
|||
|
to commit the temporary mail draft s/he was working on to
|
|||
|
non-volatile storage.
|
|||
|
|
|||
|
I suggest that mutt should use /var/tmp by default for its mail
|
|||
|
drafts, as that directory is also temporary in nature, but cleaned
|
|||
|
less frequently than /tmp. More specifically, the FHS dictates that
|
|||
|
"files and directories located in /var/tmp must not be deleted when
|
|||
|
the system is booted."
|
|||
|
|
|||
|
This patch modifies all occurrences of $tmpdir, $TMPDIR and Tempdir, but
|
|||
|
not the documentation, which looks like it's generated from init.h.
|
|||
|
|
|||
|
Patch created by: martin f. krafft <madduck@madduck.net>, submitted to
|
|||
|
http://dev.mutt.org/trac/ticket/3236
|
|||
|
and repaired to be able to apply.
|
|||
|
|
|||
|
Fedora related: Upstream is not willing to change defualt tmpdir,
|
|||
|
because they don't believe /var/tmp is on all supported platforms.
|
|||
|
However, they agree with changing it in distrubution packages.
|
|||
|
More info at http://dev.mutt.org/trac/ticket/3236
|
|||
|
|
|||
|
diff -up mutt-1.5.21/doc/manual.html.tmpdir mutt-1.5.21/doc/manual.html
|
|||
|
--- mutt-1.5.21/doc/manual.html.tmpdir 2012-09-27 15:02:53.455915783 +0200
|
|||
|
+++ mutt-1.5.21/doc/manual.html 2012-09-27 15:04:07.439427603 +0200
|
|||
|
@@ -3090,7 +3090,7 @@ information, notably the type, encoding
|
|||
|
</p><p>
|
|||
|
Attachments appear as follows by default:
|
|||
|
</p><pre class="screen">
|
|||
|
-- 1 [text/plain, 7bit, 1K] /tmp/mutt-euler-8082-0 <no description>
|
|||
|
+- 1 [text/plain, 7bit, 1K] /var/tmp/mutt-euler-8082-0 <no description>
|
|||
|
2 [applica/x-gunzip, base64, 422K] ~/src/mutt-0.85.tar.gz <no description>
|
|||
|
</pre><p>
|
|||
|
The <span class="quote">“<span class="quote">-</span>”</span> denotes that Mutt will delete the file after
|
|||
|
@@ -6944,7 +6944,7 @@ Default: (empty)</p></div><p>
|
|||
|
This variable allows you to specify where Mutt will place its
|
|||
|
temporary files needed for displaying and composing messages. If
|
|||
|
this variable is not set, the environment variable <code class="literal">$TMPDIR</code> is
|
|||
|
-used. If <code class="literal">$TMPDIR</code> is not set then <span class="quote">“<span class="quote"><code class="literal">/tmp</code></span>”</span> is used.
|
|||
|
+used. If <code class="literal">$TMPDIR</code> is not set then <span class="quote">“<span class="quote"><code class="literal">/var/tmp</code></span>”</span> is used.
|
|||
|
</p></div><div class="sect2" title="3.294. to_chars"><div class="titlepage"><div><div><h3 class="title"><a id="to-chars"></a>3.294. to_chars</h3></div></div></div><div class="literallayout"><p>Type: string<br />
|
|||
|
Default: <span class="quote">“<span class="quote"><code class="literal"> +TCFL</code></span>”</span></p></div><p>
|
|||
|
Controls the character used to indicate mail addressed to you. The
|
|||
|
diff -up mutt-1.5.21/doc/manual.txt.tmpdir mutt-1.5.21/doc/manual.txt
|
|||
|
--- mutt-1.5.21/doc/manual.txt.tmpdir 2012-09-27 15:04:20.601518838 +0200
|
|||
|
+++ mutt-1.5.21/doc/manual.txt 2012-09-27 15:04:50.154724683 +0200
|
|||
|
@@ -4524,7 +4524,7 @@ description.
|
|||
|
|
|||
|
Attachments appear as follows by default:
|
|||
|
|
|||
|
-- 1 [text/plain, 7bit, 1K] /tmp/mutt-euler-8082-0 <no description>
|
|||
|
+- 1 [text/plain, 7bit, 1K] /var/tmp/mutt-euler-8082-0 <no description>
|
|||
|
2 [applica/x-gunzip, base64, 422K] ~/src/mutt-0.85.tar.gz <no description>
|
|||
|
|
|||
|
The ?-? denotes that Mutt will delete the file after sending (or postponing, or
|
|||
|
@@ -9746,7 +9746,7 @@ Default: (empty)
|
|||
|
|
|||
|
This variable allows you to specify where Mutt will place its temporary files
|
|||
|
needed for displaying and composing messages. If this variable is not set, the
|
|||
|
-environment variable $TMPDIR is used. If $TMPDIR is not set then ?/tmp? is
|
|||
|
+environment variable $TMPDIR is used. If $TMPDIR is not set then ?/var/tmp? is
|
|||
|
used.
|
|||
|
|
|||
|
3.294. to_chars
|
|||
|
diff -up mutt-1.5.21/doc/Muttrc.tmpdir mutt-1.5.21/doc/Muttrc
|
|||
|
--- mutt-1.5.21/doc/Muttrc.tmpdir 2012-09-27 15:02:16.391661482 +0200
|
|||
|
+++ mutt-1.5.21/doc/Muttrc 2012-09-27 15:02:33.822780695 +0200
|
|||
|
@@ -4515,7 +4515,7 @@ attachments -I message/external-body
|
|||
|
# This variable allows you to specify where Mutt will place its
|
|||
|
# temporary files needed for displaying and composing messages. If
|
|||
|
# this variable is not set, the environment variable $TMPDIR is
|
|||
|
-# used. If $TMPDIR is not set then ``/tmp'' is used.
|
|||
|
+# used. If $TMPDIR is not set then ``/var/tmp'' is used.
|
|||
|
#
|
|||
|
#
|
|||
|
# set to_chars=" +TCFL"
|
|||
|
diff -up mutt-1.5.21/doc/reference.html.tmpdir mutt-1.5.21/doc/reference.html
|
|||
|
--- mutt-1.5.21/doc/reference.html.tmpdir 2012-09-27 15:05:12.288879110 +0200
|
|||
|
+++ mutt-1.5.21/doc/reference.html 2012-09-27 15:05:51.130151344 +0200
|
|||
|
@@ -2804,7 +2804,7 @@ Default: (empty)</p></div><p>
|
|||
|
This variable allows you to specify where Mutt will place its
|
|||
|
temporary files needed for displaying and composing messages. If
|
|||
|
this variable is not set, the environment variable <code class="literal">$TMPDIR</code> is
|
|||
|
-used. If <code class="literal">$TMPDIR</code> is not set then <span class="quote">“<span class="quote"><code class="literal">/tmp</code></span>”</span> is used.
|
|||
|
+used. If <code class="literal">$TMPDIR</code> is not set then <span class="quote">“<span class="quote"><code class="literal">/var/tmp</code></span>”</span> is used.
|
|||
|
</p></div><div class="sect2" title="3.294. to_chars"><div class="titlepage"><div><div><h3 class="title"><a id="to-chars"></a>3.294. to_chars</h3></div></div></div><div class="literallayout"><p>Type: string<br />
|
|||
|
Default: <span class="quote">“<span class="quote"><code class="literal"> +TCFL</code></span>”</span></p></div><p>
|
|||
|
Controls the character used to indicate mail addressed to you. The
|
|||
|
diff -up mutt-1.5.21/init.c.tmpdir mutt-1.5.21/init.c
|
|||
|
--- mutt-1.5.21/init.c.tmpdir 2012-09-27 14:59:10.099395476 +0200
|
|||
|
+++ mutt-1.5.21/init.c 2012-09-27 14:59:23.292484023 +0200
|
|||
|
@@ -2992,7 +2992,7 @@ void mutt_init (int skip_sys_rc, LIST *c
|
|||
|
MailcapPath = safe_strdup ("~/.mailcap:" PKGDATADIR "/mailcap:" SYSCONFDIR "/mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap");
|
|||
|
}
|
|||
|
|
|||
|
- Tempdir = safe_strdup ((p = getenv ("TMPDIR")) ? p : "/tmp");
|
|||
|
+ Tempdir = safe_strdup ((p = getenv ("TMPDIR")) ? p : "/var/tmp");
|
|||
|
|
|||
|
p = getenv ("VISUAL");
|
|||
|
if (!p)
|
|||
|
diff -up mutt-1.5.21/init.h.tmpdir mutt-1.5.21/init.h
|
|||
|
--- mutt-1.5.21/init.h.tmpdir 2012-09-27 14:59:46.214638908 +0200
|
|||
|
+++ mutt-1.5.21/init.h 2012-09-27 15:00:21.541877784 +0200
|
|||
|
@@ -3178,7 +3178,7 @@ struct option_t MuttVars[] = {
|
|||
|
** This variable allows you to specify where Mutt will place its
|
|||
|
** temporary files needed for displaying and composing messages. If
|
|||
|
** this variable is not set, the environment variable \fC$$$TMPDIR\fP is
|
|||
|
- ** used. If \fC$$$TMPDIR\fP is not set then ``\fC/tmp\fP'' is used.
|
|||
|
+ ** used. If \fC$$$TMPDIR\fP is not set then ``\fC/var/tmp\fP'' is used.
|
|||
|
*/
|
|||
|
{ "to_chars", DT_STR, R_BOTH, UL &Tochars, UL " +TCFL" },
|
|||
|
/*
|
|||
|
diff -up mutt-1.5.21/install-sh.tmpdir mutt-1.5.21/install-sh
|
|||
|
--- mutt-1.5.21/install-sh.tmpdir 2012-09-27 15:00:32.246950740 +0200
|
|||
|
+++ mutt-1.5.21/install-sh 2012-09-27 15:01:15.957247967 +0200
|
|||
|
@@ -332,7 +332,7 @@ do
|
|||
|
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
|
|||
|
;;
|
|||
|
*)
|
|||
|
- tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
|||
|
+ tmpdir=${TMPDIR-/var/tmp}/ins$RANDOM-$$
|
|||
|
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
|
|||
|
|
|||
|
if (umask $mkdir_umask &&
|
|||
|
diff -up mutt-1.5.21/muttbug.sh.in.tmpdir mutt-1.5.21/muttbug.sh.in
|
|||
|
--- mutt-1.5.21/muttbug.sh.in.tmpdir 2012-09-27 15:01:37.097392500 +0200
|
|||
|
+++ mutt-1.5.21/muttbug.sh.in 2012-09-27 15:01:52.061494226 +0200
|
|||
|
@@ -85,7 +85,7 @@ esac
|
|||
|
exec > /dev/tty
|
|||
|
exec < /dev/tty
|
|||
|
|
|||
|
-SCRATCH=${TMPDIR-/tmp}/`basename $0`.`hostname`.$$
|
|||
|
+SCRATCH=${TMPDIR-/var/tmp}/`basename $0`.`hostname`.$$
|
|||
|
|
|||
|
mkdir ${SCRATCH} || \
|
|||
|
{
|