X-Git-Url: https://git.llucax.com/software/mutt-debian.git/blobdiff_plain/a68126c0642d9ea6881a17ba2b1ef9fe71c5d1e1..3324c6858ba6891531d8bb2e3e0d15f5b413c441:/debian/patches/features/compressed-folders diff --git a/debian/patches/features/compressed-folders b/debian/patches/features/compressed-folders index 5c43021..dc2c38e 100644 --- a/debian/patches/features/compressed-folders +++ b/debian/patches/features/compressed-folders @@ -7,20 +7,19 @@ The home page for this patch is: http://www.spinnaker.de/mutt/compressed/ * Patch last synced with upstream: - - Date: 2005-09-29 - - File: http://www.spinnaker.de/mutt/compressed/patch-1.5.11.rr.compressed.1.gz + - Date: 2008-05-20 + - File: http://www.spinnaker.de/mutt/compressed/patch-1.5.18.rr.compressed.1.gz * Changes made: - - filterdiff -p1 \ - $(for f in Makefile.in config.h.in configure 'Muttrc*' doc/manual.txt \ - doc/manual.sgml 'doc/manual*.html' doc/muttrc.man; do echo "-x $f"; done) - - adjust the init.h hunk to the presence of group & ungroup - - 2006-07-15: adjust Makefile.am and doc/manual.xml.head to mutt-1.5.12 + - 2008-05-20 myon: refreshed to remove hunks in auto* files + - 2009-09-15 myon: refreshed for mutt-1.5.19 + status.c:103: add sizeof (tmp) to mutt_pretty_mailbox + - 2009-09-15 scotton: removed doc/Muttrc for mutt-1.5.19 (only patch doc/Muttrc.head) == END PATCH --- /dev/null -+++ compress.c -@@ -0,0 +1,487 @@ ++++ b/compress.c +@@ -0,0 +1,499 @@ +/* + * Copyright (C) 1997 Alain Penders + * @@ -127,7 +126,19 @@ The home page for this patch is: + int magic; + + if (is_new (path)) -+ return (find_compress_hook (M_CLOSEHOOK, path) ? 1 : 0); ++ { ++ char *dir_path = safe_strdup(path); ++ char *aux = strrchr(dir_path, '/'); ++ int dir_valid = 1; ++ if (aux) ++ { ++ *aux='\0'; ++ if (access(dir_path, W_OK|X_OK)) ++ dir_valid = 0; ++ } ++ safe_free((void**)&dir_path); ++ return dir_valid && (find_compress_hook (M_CLOSEHOOK, path) ? 1 : 0); ++ } + + magic = mx_get_magic (path); + @@ -181,10 +192,10 @@ The home page for this patch is: +} + +static const char * -+compresshook_format_str (char *dest, size_t destlen, char op, const char *src, -+ const char *fmt, const char *ifstring, -+ const char *elsestring, unsigned long data, -+ format_flag flags) ++compresshook_format_str (char *dest, size_t destlen, size_t col, char op, ++ const char *src, const char *fmt, ++ const char *ifstring, const char *elsestring, ++ unsigned long data, format_flag flags) +{ + char tmp[SHORT_STRING]; + @@ -215,8 +226,8 @@ The home page for this patch is: +static char *get_compression_cmd (const char* cmd, const CONTEXT* ctx) +{ + char expanded[_POSIX_PATH_MAX]; -+ mutt_FormatString (expanded, sizeof (expanded), cmd, compresshook_format_str, -+ (unsigned long) ctx, 0); ++ mutt_FormatString (expanded, sizeof (expanded), 0, cmd, ++ compresshook_format_str, (unsigned long) ctx, 0); + return safe_strdup (expanded); +} + @@ -242,7 +253,7 @@ The home page for this patch is: + COMPRESS_INFO *ci = set_compress_info (ctx); + if (!ci->open) { + ctx->magic = 0; -+ FREE (ctx->compressinfo); ++ FREE (&ctx->compressinfo); + return (-1); + } + if (!ci->close || access (ctx->path, W_OK) != 0) @@ -287,7 +298,7 @@ The home page for this patch is: + { + mutt_any_key_to_continue (NULL); + ctx->magic = 0; -+ FREE (ctx->compressinfo); ++ FREE (&ctx->compressinfo); + mutt_error (_("Error executing: %s : unable to open the mailbox!\n"), cmd); + } + FREE (&cmd); @@ -355,8 +366,8 @@ The home page for this patch is: + fclose (ctx->fp); + ctx->fp = NULL; + /* if the folder was removed, remove the gzipped folder too */ -+ if ((ctx->magic > 0) -+ && (access (ctx->path, F_OK) != 0) ++ if ((ctx->magic > 0) ++ && (access (ctx->path, F_OK) != 0) + && ! option (OPTSAVEEMPTY)) + remove (ctx->realpath); + else @@ -435,7 +446,7 @@ The home page for this patch is: + if (! (ctx->append + && ((append = get_append_command (ctx->realpath, ctx)) + || (append = ci->close)))) -+ { ++ { + /* if we can not or should not append, we only have to remove the */ + /* compressed info, because sync was already called */ + mutt_fast_close_compressed (ctx); @@ -509,7 +520,7 @@ The home page for this patch is: + +#endif /* USE_COMPRESSED */ --- /dev/null -+++ compress.h ++++ b/compress.h @@ -0,0 +1,27 @@ +/* + * Copyright (C) 1997 Alain Penders @@ -538,9 +549,9 @@ The home page for this patch is: +int mutt_test_compress_command (const char *); +int mutt_check_mailbox_compressed (CONTEXT *); +void mutt_fast_close_compressed (CONTEXT *); ---- configure.in.orig -+++ configure.in -@@ -745,6 +745,11 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -805,6 +805,11 @@ AC_DEFINE(LOCALES_HACK,1,[ Define if the result of isprint() is unreliable. ]) fi]) @@ -552,9 +563,9 @@ The home page for this patch is: AC_ARG_WITH(exec-shell, AC_HELP_STRING([--with-exec-shell=SHELL], [Specify alternate shell (ONLY if /bin/sh is broken)]), [if test $withval != yes; then AC_DEFINE_UNQUOTED(EXECSHELL, "$withval", ---- curs_main.c.orig -+++ curs_main.c -@@ -1096,6 +1096,11 @@ +--- a/curs_main.c ++++ b/curs_main.c +@@ -1135,6 +1135,11 @@ { int check; @@ -566,11 +577,11 @@ The home page for this patch is: mutt_str_replace (&LastFolder, Context->path); oldcount = Context ? Context->msgcount : 0; ---- doc/manual.xml.head.orig -+++ doc/manual.xml.head -@@ -4745,6 +4745,205 @@ +--- a/doc/manual.xml.head ++++ b/doc/manual.xml.head +@@ -5678,6 +5678,205 @@ - + + +Compressed folders Support (OPTIONAL) @@ -601,9 +612,9 @@ The home page for this patch is: +For example: + + -+open-hook \\.gz$ "gzip -cd %f > %t" ++open-hook \\.gz$ "gzip -cd %f > %t" +close-hook \\.gz$ "gzip -c %t > %f" -+append-hook \\.gz$ "gzip -c %t >> %f" ++append-hook \\.gz$ "gzip -c %t >> %f" + + +You do not have to specify all of the commands. If you omit -+open-hook \\.gz$ "gzip -cd %f > %t" ++open-hook \\.gz$ "gzip -cd %f > %t" + + +If the command is empty, this operation is @@ -717,7 +728,7 @@ The home page for this patch is: +Example: + + -+append-hook \\.gz$ "gzip -c %t >> %f" ++append-hook \\.gz$ "gzip -c %t >> %f" + + +When append-hook is used, the folder @@ -771,12 +782,26 @@ The home page for this patch is: + + + - - ---- doc/muttrc.man.head.orig -+++ doc/muttrc.man.head -@@ -316,6 +316,24 @@ + Mutt's MIME Support + +--- a/doc/Muttrc.head ++++ b/doc/Muttrc.head +@@ -29,6 +29,11 @@ + macro index,pager y "?" "show incoming mailboxes list" + bind browser y exit + ++# Use folders which match on \\.gz$ as gzipped folders: ++# open-hook \\.gz$ "gzip -cd %f > %t" ++# close-hook \\.gz$ "gzip -c %t > %f" ++# append-hook \\.gz$ "gzip -c %t >> %f" ++ + # If Mutt is unable to determine your site's domain name correctly, you can + # set the default here. + # +--- a/doc/muttrc.man.head ++++ b/doc/muttrc.man.head +@@ -345,6 +345,24 @@ to a certain recipient. The meaning of "key ID" is to be taken broadly: This can be a different e-mail address, a numerical key ID, or even just an arbitrary search string. @@ -792,7 +817,7 @@ The home page for this patch is: +"\fI\\\\.gz$\fP"). The commands tell Mutt how to uncompress a folder +(\fBopen-hook\fP), compress a folder (\fBclose-hook\fP) or append a +compressed mail to a compressed folder (\fBappend-hook\fP). The -+\fIcommand\fP string is the ++\fIcommand\fP string is the +.BR printf (3) +like format string, and it should accept two parameters: \fB%f\fP, +which is replaced with the (compressed) folder name, and \fB%t\fP @@ -801,8 +826,8 @@ The home page for this patch is: .TP \fBpush\fP \fIstring\fP This command adds the named \fIstring\fP to the keyboard buffer. ---- hook.c.orig -+++ hook.c +--- a/hook.c ++++ b/hook.c @@ -24,6 +24,10 @@ #include "mailbox.h" #include "mutt_crypt.h" @@ -823,31 +848,31 @@ The home page for this patch is: + { + if (mutt_test_compress_command (command.data)) + { -+ strfcpy (err->data, _("bad formatted command string"), err->dsize); ++ strfcpy (err->data, _("badly formatted command string"), err->dsize); + return (-1); + } + } +#endif - else if (DefaultHook && !(data & (M_CHARSETHOOK | M_ACCOUNTHOOK)) + else if (DefaultHook && !(data & (M_CHARSETHOOK | M_ICONVHOOK | M_ACCOUNTHOOK)) && (!WithCrypto || !(data & M_CRYPTHOOK)) ) ---- init.h.orig -+++ init.h -@@ -3108,6 +3108,11 @@ +--- a/init.h ++++ b/init.h +@@ -3514,6 +3514,11 @@ + { "fcc-hook", mutt_parse_hook, M_FCCHOOK }, + { "fcc-save-hook", mutt_parse_hook, M_FCCHOOK | M_SAVEHOOK }, { "folder-hook", mutt_parse_hook, M_FOLDERHOOK }, - { "group", parse_group, 0 }, - { "ungroup", parse_ungroup, 0 }, +#ifdef USE_COMPRESSED + { "open-hook", mutt_parse_hook, M_OPENHOOK }, + { "close-hook", mutt_parse_hook, M_CLOSEHOOK }, + { "append-hook", mutt_parse_hook, M_APPENDHOOK }, +#endif + { "group", parse_group, 0 }, + { "ungroup", parse_ungroup, 0 }, { "hdr_order", parse_list, UL &HeaderOrderList }, - #ifdef HAVE_ICONV - { "iconv-hook", mutt_parse_hook, M_ICONVHOOK }, ---- main.c.orig -+++ main.c -@@ -398,6 +398,12 @@ +--- a/main.c ++++ b/main.c +@@ -402,6 +402,12 @@ #else "-LOCALES_HACK " #endif @@ -860,19 +885,19 @@ The home page for this patch is: #ifdef HAVE_WC_FUNCS "+HAVE_WC_FUNCS " ---- Makefile.am.orig -+++ Makefile.am +--- a/Makefile.am ++++ b/Makefile.am @@ -18,7 +18,7 @@ bin_PROGRAMS = mutt @DOTLOCK_TARGET@ @PGPAUX_TARGET@ - mutt_SOURCES = $(BUILT_SOURCES) \ + mutt_SOURCES = \ addrbook.c alias.c attach.c base64.c browser.c buffy.c color.c \ -- crypt.c cryptglue.c \ -+ crypt.c cryptglue.c compress.c \ +- crypt.c cryptglue.c \ ++ crypt.c cryptglue.c compress.c \ commands.c complete.c compose.c copy.c curs_lib.c curs_main.c date.c \ edit.c enter.c flags.c init.c filter.c from.c \ getdomain.c group.c \ -@@ -68,7 +68,7 @@ - crypt-gpgme.c crypt-mod-pgp-gpgme.c crypt-mod-smime-gpgme.c +@@ -57,7 +57,7 @@ + bcache.h browser.h hcache.h mbyte.h mutt_idna.h remailer.h url.h EXTRA_DIST = COPYRIGHT GPL OPS OPS.PGP OPS.CRYPT OPS.SMIME TODO UPDATING \ - configure account.h \ @@ -880,11 +905,11 @@ The home page for this patch is: attach.h buffy.h charset.h copy.h crypthash.h dotlock.h functions.h gen_defs \ globals.h hash.h history.h init.h keymap.h mutt_crypt.h \ mailbox.h mapping.h md5.h mime.h mutt.h mutt_curses.h mutt_menu.h \ ---- mbox.c.orig -+++ mbox.c -@@ -28,6 +28,10 @@ - #include "sort.h" +--- a/mbox.c ++++ b/mbox.c +@@ -29,6 +29,10 @@ #include "copy.h" + #include "mutt_curses.h" +#ifdef USE_COMPRESSED +#include "compress.h" @@ -893,7 +918,7 @@ The home page for this patch is: #include #include #include -@@ -1014,6 +1018,12 @@ +@@ -1048,6 +1052,12 @@ int mbox_close_mailbox (CONTEXT *ctx) { mx_unlock_file (ctx->path, fileno (ctx->fp), 1); @@ -906,9 +931,9 @@ The home page for this patch is: mutt_unblock_signals (); mx_fastclose_mailbox (ctx); return 0; ---- mutt.h.orig -+++ mutt.h -@@ -157,6 +157,11 @@ +--- a/mutt.h ++++ b/mutt.h +@@ -146,6 +146,11 @@ #define M_ACCOUNTHOOK (1<<9) #define M_REPLYHOOK (1<<10) #define M_SEND2HOOK (1<<11) @@ -920,9 +945,9 @@ The home page for this patch is: /* tree characters for linearize_tree and print_enriched_string */ #define M_TREE_LLCORNER 1 -@@ -863,6 +868,11 @@ - void *data; /* driver specific data */ - #endif /* USE_IMAP */ +@@ -883,6 +888,11 @@ + int flagged; /* how many flagged messages */ + int msgnotreadyet; /* which msg "new" in pager, -1 if none */ +#ifdef USE_COMPRESSED + void *compressinfo; /* compressed mbox module private data */ @@ -931,9 +956,9 @@ The home page for this patch is: + short magic; /* mailbox type */ - unsigned int locked : 1; /* is the mailbox locked? */ ---- mx.c.orig -+++ mx.c + unsigned char rights[(RIGHTSMAX + 7)/8]; /* ACL bits */ +--- a/mx.c ++++ b/mx.c @@ -30,6 +30,10 @@ #include "keymap.h" #include "url.h" @@ -945,7 +970,7 @@ The home page for this patch is: #ifdef USE_IMAP #include "imap.h" #endif -@@ -454,6 +458,10 @@ +@@ -415,6 +419,10 @@ return (-1); } @@ -956,7 +981,7 @@ The home page for this patch is: return (magic); } -@@ -493,6 +501,13 @@ +@@ -454,6 +462,13 @@ { struct stat sb; @@ -970,7 +995,7 @@ The home page for this patch is: ctx->append = 1; #ifdef USE_IMAP -@@ -653,7 +668,12 @@ +@@ -617,7 +632,12 @@ } ctx->magic = mx_get_magic (path); @@ -984,7 +1009,7 @@ The home page for this patch is: if(ctx->magic == 0) mutt_error (_("%s is not a mailbox."), path); -@@ -759,6 +779,10 @@ +@@ -718,6 +738,10 @@ mutt_free_header (&ctx->hdrs[i]); FREE (&ctx->hdrs); FREE (&ctx->v2r); @@ -995,10 +1020,10 @@ The home page for this patch is: FREE (&ctx->path); FREE (&ctx->pattern); if (ctx->limit_pattern) -@@ -816,6 +840,12 @@ +@@ -770,6 +794,12 @@ + if (tmp && tmp->new == 0) mutt_update_mailbox (tmp); - #endif + +#ifdef USE_COMPRESSED + if (rc == 0 && ctx->compressinfo) @@ -1008,7 +1033,7 @@ The home page for this patch is: return rc; } -@@ -1017,6 +1047,11 @@ +@@ -1033,6 +1063,11 @@ !mutt_is_spool(ctx->path) && !option (OPTSAVEEMPTY)) mx_unlink_empty (ctx->path); @@ -1020,7 +1045,7 @@ The home page for this patch is: mx_fastclose_mailbox (ctx); return 0; -@@ -1326,6 +1361,11 @@ +@@ -1355,6 +1390,11 @@ { int rc; @@ -1032,8 +1057,8 @@ The home page for this patch is: if (ctx) { if (ctx->locked) lock = 0; ---- mx.h.orig -+++ mx.h +--- a/mx.h ++++ b/mx.h @@ -40,6 +40,9 @@ #ifdef USE_POP , M_POP @@ -1044,18 +1069,24 @@ The home page for this patch is: }; WHERE short DefaultMagic INITVAL (M_MBOX); ---- PATCHES.orig -+++ PATCHES -@@ -1,2 +1,3 @@ -+patch-1.5.11.rr.compressed.1 - patch-1.5.6.tt.assumed_charset.1 - patch-1.5.6.dw.maildir-mtime.1 ---- po/de.po.orig -+++ po/de.po -@@ -1262,6 +1262,48 @@ - msgid "Failed to figure out sender" - msgstr "Kann Absender nicht ermitteln" +--- a/po/de.po ++++ b/po/de.po +@@ -2005,6 +2005,10 @@ + msgid "Bad history file format (line %d)" + msgstr "Falsches Format der Datei früherer Eingaben (Zeile %d)" ++#: hook.c:96 ++msgid "badly formatted command string" ++msgstr "Hook enthält nicht die Muster %f und %t" ++ + #: hook.c:251 + #, c-format + msgid "unhook: Can't do unhook * from within a hook." +@@ -5378,3 +5382,45 @@ + + #~ msgid "Authentication method is unknown." + #~ msgstr "Authentifizierungsmethode unbekannt." ++ +#: compress.c:203 mbox.c:661 +msgid "Mailbox was corrupted!" +msgstr "Mailbox wurde zerstört!" @@ -1097,42 +1128,8 @@ The home page for this patch is: +#, c-format +msgid " %s: Error compressing mailbox! Uncompressed one kept!\n" +msgstr " %s: Fehler beim packen der Mailbox! Entpackte Mailbox gespeichert!\n" -+ - #: crypt.c:69 - #, c-format - msgid " (current time: %c)" -@@ -1910,6 +1952,10 @@ - msgid "Help for %s" - msgstr "Hilfe für %s" - -+#: hook.c:96 -+msgid "bad formatted command string" -+msgstr "Hook enthält nicht die Muster %f und %t" -+ - #: hook.c:246 - #, c-format - msgid "unhook: Can't do unhook * from within a hook." -@@ -3424,18 +3470,10 @@ - msgid "Mailbox is corrupt!" - msgstr "Mailbox fehlerhaft!" - --#: mbox.c:662 --msgid "Mailbox was corrupted!" --msgstr "Mailbox wurde zerstört!" -- - #: mbox.c:701 mbox.c:952 - msgid "Fatal error! Could not reopen mailbox!" - msgstr "Fataler Fehler, konnte Mailbox nicht erneut öffnen!" - --#: mbox.c:710 --msgid "Unable to lock mailbox!" --msgstr "Kann Mailbox nicht für exklusiven Zugriff sperren!" -- - #. this means ctx->changed or ctx->deleted was set, but no - #. * messages were found to be changed or deleted. This should - #. * never happen, is we presume it is a bug in mutt. ---- po/POTFILES.in.orig -+++ po/POTFILES.in +--- a/po/POTFILES.in ++++ b/po/POTFILES.in @@ -8,6 +8,7 @@ color.c commands.c @@ -1141,9 +1138,9 @@ The home page for this patch is: crypt-gpgme.c crypt.c cryptglue.c ---- status.c.orig -+++ status.c -@@ -97,6 +97,14 @@ +--- a/status.c ++++ b/status.c +@@ -96,6 +96,14 @@ case 'f': snprintf (fmt, sizeof(fmt), "%%%ss", prefix); @@ -1151,10 +1148,15 @@ The home page for this patch is: + if (Context && Context->compressinfo && Context->realpath) + { + strfcpy (tmp, Context->realpath, sizeof (tmp)); -+ mutt_pretty_mailbox (tmp); ++ mutt_pretty_mailbox (tmp, sizeof (tmp)); + } + else +#endif if (Context && Context->path) { strfcpy (tmp, Context->path, sizeof (tmp)); +--- a/PATCHES ++++ b/PATCHES +@@ -1 +1,2 @@ ++patch-1.5.18.rr.compressed.1 + patch-1.5.13.cd.ifdef.2