From 379372d5e3d5743131b294069da2fd8de09dafb4 Mon Sep 17 00:00:00 2001 From: witekfl Date: Fri, 10 Oct 2003 05:53:32 +0000 Subject: [PATCH] - support for $HOME_ETC Changed files: mutt-home_etc2.patch -> 1.1 --- mutt-home_etc2.patch | 133 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 133 insertions(+) create mode 100644 mutt-home_etc2.patch diff --git a/mutt-home_etc2.patch b/mutt-home_etc2.patch new file mode 100644 index 0000000..1b44e03 --- /dev/null +++ b/mutt-home_etc2.patch @@ -0,0 +1,133 @@ +diff -Nru mutt-1.4.1.orig/doc/mutt.man mutt-1.4.1/doc/mutt.man +--- mutt-1.4.1.orig/doc/mutt.man Wed Jul 24 10:41:31 2002 ++++ mutt-1.4.1/doc/mutt.man Wed Oct 8 20:11:11 2003 +@@ -122,13 +122,13 @@ + Specifies the editor to use when composing messages. + .SH FILES + .PP +-.IP "~/.muttrc or ~/.mutt/muttrc" ++.IP "$HOME_ETC/.muttrc" or "$HOME_ETC/.mutt/muttrc" or "~/.muttrc" or "~/.mutt/muttrc" + User configuration file. + .IP "/etc/Muttrc" + System-wide configuration file. + .IP "/tmp/muttXXXXXX" + Temporary files created by Mutt. +-.IP "~/.mailcap" ++.IP "$HOME_ETC/.mailcap" or "~/.mailcap" + User definition for handling non-text MIME types. + .IP "/etc/mailcap" + System definition for handling non-text MIME types. +diff -Nru mutt-1.4.1.orig/init.c mutt-1.4.1/init.c +--- mutt-1.4.1.orig/init.c Wed Oct 8 19:33:11 2003 ++++ mutt-1.4.1/init.c Wed Oct 8 20:10:37 2003 +@@ -1811,6 +1811,12 @@ + else + { + /* Default search path from RFC1524 */ ++ if (getenv("HOME_ETC")) { ++ char buf[STRING]; ++ ++ snprintf(buf, sizeof(buf), "%s/.mailcap:" PKGDATADIR "/mailcap:" SYSCONFDIR "/mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap", getenv("HOME_ETC")); ++ MailcapPath = safe_strdup (buf); ++ } else + MailcapPath = safe_strdup ("~/.mailcap:" PKGDATADIR "/mailcap:" SYSCONFDIR "/mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap"); + } + +@@ -1892,18 +1898,38 @@ + + if (!Muttrc) + { ++ for (;;) { + snprintf (buffer, sizeof(buffer), "%s/%s/muttrc-%s", NONULL(Homedir), getenv ("CONFIG_DIR"), MUTT_VERSION); + if (access(buffer, F_OK) == -1) + snprintf (buffer, sizeof(buffer), "%s/%s/muttrc", NONULL(Homedir), getenv ("CONFIG_DIR")); +- if (access(buffer, F_OK) == -1) +- snprintf (buffer, sizeof(buffer), "%s/.muttrc-%s", NONULL(Homedir), MUTT_VERSION); +- if (access(buffer, F_OK) == -1) +- snprintf (buffer, sizeof(buffer), "%s/.muttrc", NONULL(Homedir)); +- if (access(buffer, F_OK) == -1) +- snprintf (buffer, sizeof (buffer), "%s/.mutt/muttrc-%s", NONULL(Homedir), MUTT_VERSION); +- if (access(buffer, F_OK) == -1) +- snprintf (buffer, sizeof (buffer), "%s/.mutt/muttrc", NONULL(Homedir)); +- ++ else break; ++ if (getenv("HOME_ETC")) { ++ if (access(buffer, F_OK) == -1) ++ snprintf(buffer, sizeof(buffer), "%s/.muttrc-%s", getenv("HOME_ETC"), MUTT_VERSION); ++ else break; ++ if (access(buffer, F_OK) == -1) ++ snprintf (buffer, sizeof(buffer), "%s/.muttrc", getenv("HOME_ETC")); ++ else break; ++ if (access(buffer, F_OK) == -1) ++ snprintf (buffer, sizeof (buffer), "%s/.mutt/muttrc-%s", getenv("HOME_ETC"), MUTT_VERSION); ++ else break; ++ if (access(buffer, F_OK) == -1) ++ snprintf (buffer, sizeof (buffer), "%s/.mutt/muttrc", getenv("HOME_ETC")); ++ } else { ++ if (access(buffer, F_OK) == -1) ++ snprintf (buffer, sizeof(buffer), "%s/.muttrc-%s", NONULL(Homedir), MUTT_VERSION); ++ else break; ++ if (access(buffer, F_OK) == -1) ++ snprintf (buffer, sizeof(buffer), "%s/.muttrc", NONULL(Homedir)); ++ else break; ++ if (access(buffer, F_OK) == -1) ++ snprintf (buffer, sizeof (buffer), "%s/.mutt/muttrc-%s", NONULL(Homedir), MUTT_VERSION); ++ else break; ++ if (access(buffer, F_OK) == -1) ++ snprintf (buffer, sizeof (buffer), "%s/.mutt/muttrc", NONULL(Homedir)); ++ } ++ break; ++ } + default_rc = 1; + Muttrc = safe_strdup (buffer); + } +diff -Nru mutt-1.4.1.orig/muttbug.sh.in mutt-1.4.1/muttbug.sh.in +--- mutt-1.4.1.orig/muttbug.sh.in Wed Oct 8 19:33:11 2003 ++++ mutt-1.4.1/muttbug.sh.in Wed Oct 8 20:19:05 2003 +@@ -244,13 +244,21 @@ + if test "$personal" = "yes" ; then + CANDIDATES=".muttrc-${MUTTVERSION} .muttrc .mutt/muttrc-${MUTTVERSION} .mutt/muttrc" + MATCHED="none" ++ if test -n "$HOME_ETC" ; then ++ for f in $CANDIDATES; do ++ if test -f "${HOME_ETC}/$f" ; then ++ MATCHED="${HOME_ETC}/$f" ++ break ++ fi ++ done ++ else + for f in $CANDIDATES; do + if test -f "${HOME}/$f" ; then + MATCHED="${HOME}/$f" + break + fi + done +- ++ fi + if test "$MATCHED" = "none" ; then + echo "Warning: Can't find your personal .muttrc." >&2 + else +diff -Nru mutt-1.4.1.orig/sendlib.c mutt-1.4.1/sendlib.c +--- mutt-1.4.1.orig/sendlib.c Wed Oct 8 19:33:11 2003 ++++ mutt-1.4.1/sendlib.c Wed Oct 8 19:57:55 2003 +@@ -958,7 +958,8 @@ + + /* Given a file with path ``s'', see if there is a registered MIME type. + * returns the major MIME type, and copies the subtype to ``d''. First look +- * for ~/.mime.types, then look in a system mime.types if we can find one. ++ * for either $HOME_ETC/.mime.types or ~/.mime.types, then look in a system ++ * mime.types if we can find one. + * The longest match is used so that we can match `ps.gz' when `gz' also + * exists. + */ +@@ -989,7 +990,9 @@ + switch (count) + { + case 0: +- snprintf (buf, sizeof (buf), "%s/.mime.types", NONULL(Homedir)); ++ if (getenv("HOME_ETC")) ++ snprintf (buf, sizeof (buf), "%s/.mime.types", getenv("HOME_ETC")); ++ else snprintf (buf, sizeof (buf), "%s/.mime.types", NONULL(Homedir)); + break; + case 1: + strfcpy (buf, SYSCONFDIR"/mime.types", sizeof(buf)); -- 2.43.0