diff --git a/bug-676388-largefile.patch b/bug-676388-largefile.patch new file mode 100644 index 0000000..7faa945 --- /dev/null +++ b/bug-676388-largefile.patch @@ -0,0 +1,103 @@ +diff -ur orig.010003/mutt-1.5.21/crypt-gpgme.c mutt-1.5.21/crypt-gpgme.c +--- orig.010003/mutt-1.5.21/crypt-gpgme.c 2010-09-13 19:19:55.000000000 +0200 ++++ mutt-1.5.21/crypt-gpgme.c 2011-03-02 18:18:01.000000000 +0100 +@@ -461,7 +461,7 @@ + /* Create a GPGME data object from the stream FP but limit the object + to LENGTH bytes starting at OFFSET bytes from the beginning of the + file. */ +-static gpgme_data_t file_to_data_object (FILE *fp, long offset, long length) ++static gpgme_data_t file_to_data_object (FILE *fp, LOFF_T offset, long length) + { + int err = 0; + gpgme_data_t data; +@@ -2156,7 +2156,7 @@ + { + int needpass = -1, pgp_keyblock = 0; + int clearsign = 0; +- long start_pos = 0; ++ LOFF_T start_pos = 0; + long bytes; + LOFF_T last_pos, offset; + char buf[HUGE_STRING]; +diff -ur orig.010003/mutt-1.5.21/handler.c mutt-1.5.21/handler.c +--- orig.010003/mutt-1.5.21/handler.c 2009-08-25 21:08:52.000000000 +0200 ++++ mutt-1.5.21/handler.c 2011-03-02 18:12:28.000000000 +0100 +@@ -1520,7 +1520,7 @@ + FILE *fp = NULL; + char tempfile[_POSIX_PATH_MAX]; + handler_t handler = NULL; +- long tmpoffset = 0; ++ LOFF_T tmpoffset = 0; + size_t tmplength = 0; + char type[STRING]; + int rc = 0; +diff -ur orig.010003/mutt-1.5.21/mh.c mutt-1.5.21/mh.c +--- orig.010003/mutt-1.5.21/mh.c 2010-08-24 18:34:21.000000000 +0200 ++++ mutt-1.5.21/mh.c 2011-03-02 18:48:36.000000000 +0100 +@@ -1493,9 +1493,9 @@ + char newpath[_POSIX_PATH_MAX]; + char partpath[_POSIX_PATH_MAX]; + +- long old_body_offset = h->content->offset; +- long old_body_length = h->content->length; +- long old_hdr_lines = h->lines; ++ LOFF_T old_body_offset = h->content->offset; ++ LOFF_T old_body_length = h->content->length; ++ LOFF_T old_hdr_lines = h->lines; + + if ((dest = mx_open_new_message (ctx, h, 0)) == NULL) + return -1; +diff -ur orig.010003/mutt-1.5.21/mutt.h mutt-1.5.21/mutt.h +--- orig.010003/mutt-1.5.21/mutt.h 2010-09-13 19:19:55.000000000 +0200 ++++ mutt-1.5.21/mutt.h 2011-03-02 17:52:03.000000000 +0100 +@@ -625,7 +625,7 @@ + PARAMETER *parameter; /* parameters of the content-type */ + char *description; /* content-description */ + char *form_name; /* Content-Disposition form-data name param */ +- long hdr_offset; /* offset in stream where the headers begin. ++ LOFF_T hdr_offset; /* offset in stream where the headers begin. + * this info is used when invoking metamail, + * where we need to send the headers of the + * attachment +diff -ur orig.010003/mutt-1.5.21/pgp.c mutt-1.5.21/pgp.c +--- orig.010003/mutt-1.5.21/pgp.c 2010-09-13 19:19:55.000000000 +0200 ++++ mutt-1.5.21/pgp.c 2011-03-02 18:48:08.000000000 +0100 +@@ -251,7 +251,7 @@ + int needpass = -1, pgp_keyblock = 0; + int clearsign = 0, rv, rc; + int c = 1; /* silence GCC warning */ +- long start_pos = 0; ++ LOFF_T start_pos = 0; + long bytes; + LOFF_T last_pos, offset; + char buf[HUGE_STRING]; +diff -ur orig.010003/mutt-1.5.21/smime.c mutt-1.5.21/smime.c +--- orig.010003/mutt-1.5.21/smime.c 2010-09-13 19:19:55.000000000 +0200 ++++ mutt-1.5.21/smime.c 2011-03-02 18:12:08.000000000 +0100 +@@ -1546,7 +1546,7 @@ + pid_t thepid; + int badsig = -1; + +- long tmpoffset = 0; ++ LOFF_T tmpoffset = 0; + size_t tmplength = 0; + int origType = sigbdy->type; + char *savePrefix = NULL; +@@ -1660,7 +1660,7 @@ + { + int len=0; + int c; +- long last_pos; ++ LOFF_T last_pos; + char buf[HUGE_STRING]; + char outfile[_POSIX_PATH_MAX], errfile[_POSIX_PATH_MAX]; + char tmpfname[_POSIX_PATH_MAX]; +@@ -1865,7 +1865,7 @@ + + char tempfile[_POSIX_PATH_MAX]; + STATE s; +- long tmpoffset = b->offset; ++ LOFF_T tmpoffset = b->offset; + size_t tmplength = b->length; + int origType = b->type; + FILE *tmpfp=NULL; diff --git a/mutt.changes b/mutt.changes index a9724f5..0a35116 100644 --- a/mutt.changes +++ b/mutt.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Apr 15 14:15:02 CEST 2011 - werner@suse.de + +- Support offsets in 2gig mbox files even on 32bit architectures (bnc#676388) + ------------------------------------------------------------------- Thu Feb 3 02:00:55 CET 2011 - ro@suse.de diff --git a/mutt.spec b/mutt.spec index 6f628e4..5ab43b3 100644 --- a/mutt.spec +++ b/mutt.spec @@ -1,7 +1,7 @@ # -# spec file for package mutt (Version 1.5.21) +# spec file for package mutt # -# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -23,7 +23,7 @@ Name: mutt BuildRequires: cyrus-sasl-devel cyrus-sasl-gssapi docbook-xsl-stylesheets docbook_4 gdbm-devel glibc-i18ndata ispell krb5-devel libcom_err libgcrypt libgpg-error-devel libidn-devel libxml2 libxslt lynx ncurses-devel openssl-devel postfix sgml-skel update-desktop-files xli #if %if 0%{?suse_version} > 1130 -BuildRequires: libgpgme-devel libassuan-devel +BuildRequires: libassuan-devel libgpgme-devel %else BuildRequires: gpgme-devel %endif @@ -42,7 +42,7 @@ Requires(postun): shared-mime-info #Requires: desktop-data-SuSE AutoReqProv: on Version: 1.5.21 -Release: 2 +Release: 3 Summary: Mail Program # ftp://ftp.mutt.org/mutt/devel/ Source0: %name-%version.tar.bz2 @@ -65,6 +65,7 @@ Patch6: patch-1.5.21.sidebar-aa6aa.txt.bz2 Patch7: mutt-1.5.21.sidebar-fix.dif Patch8: mutt-1.5.21-opennfs.dif Patch9: mutt-1.5.20-gpgme_set_locale.patch +Patch10: bug-676388-largefile.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %global _sysconfdir %{_sysconfdir} @@ -85,6 +86,7 @@ however. %patch7 -p0 %patch8 -p0 %patch9 -p1 +%patch10 -p1 cp doc/Muttrc Muttrc.SuSE cp %{S:2} . @@ -154,6 +156,7 @@ install -D -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/skel/.muttrc %suse_update_desktop_file mutt %if 0%{?suse_version} > 1130 + %post %mime_database_post