diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/.gitignore b/.gitignore index d05ae8c..475048d 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,26 @@ mutt-1.5.23.tar.gz /mutt-1.14.4.tar.gz /mutt-1.14.5.tar.gz /mutt-1.14.6.tar.gz +/mutt-1.14.7.tar.gz +/mutt-2.0.2.tar.gz +/mutt-2.0.5.tar.gz +/mutt-2.0.6.tar.gz +/mutt-2.0.7.tar.gz +/mutt-2.1.1.tar.gz +/mutt-2.1.3.tar.gz +/mutt-2.1.5.tar.gz +/mutt-2.2.0.tar.gz +/mutt-2.2.1.tar.gz +/mutt-2.2.2.tar.gz +/mutt-2.2.3.tar.gz +/mutt-2.2.5.tar.gz +/mutt-2.2.6.tar.gz +/mutt-2.2.7.tar.gz +/mutt-2.2.9.tar.gz +/mutt-2.2.10.tar.gz +/mutt-2.2.11.tar.gz +/mutt-2.2.12.tar.gz +/mutt-2.2.13.tar.gz +/mutt-2.2.14.tar.gz +/mutt-2.2.15.tar.gz +/mutt-2.2.16.tar.gz diff --git a/ci.fmf b/ci.fmf new file mode 100644 index 0000000..d9bf436 --- /dev/null +++ b/ci.fmf @@ -0,0 +1,9 @@ +/test: + summary: + Basic set of quick tests for mutt. + discover: + - name: fedora + how: fmf + url: "https://src.fedoraproject.org/tests/mutt.git" + execute: + how: tmt diff --git a/mutt-1.5.23-system_certs.patch b/mutt-1.5.23-system_certs.patch index b569788..2cb75fc 100644 --- a/mutt-1.5.23-system_certs.patch +++ b/mutt-1.5.23-system_certs.patch @@ -1,12 +1,21 @@ -diff -rup mutt-17a4f92e4a95-orig/init.h mutt-17a4f92e4a95-new/init.h ---- mutt-17a4f92e4a95-orig/init.h 2015-06-07 22:59:32.000000000 +0200 -+++ mutt-17a4f92e4a95-new/init.h 2015-06-25 15:28:56.095570332 +0200 -@@ -2989,7 +2989,7 @@ struct option_t MuttVars[] = { +diff -up mutt-2.2.14/init.h.system_certs mutt-2.2.14/init.h +--- mutt-2.2.14/init.h.system_certs 2025-02-20 06:31:10.000000000 +0100 ++++ mutt-2.2.14/init.h 2025-07-22 23:31:06.259171517 +0200 +@@ -4315,7 +4315,7 @@ struct option_t MuttVars[] = { */ #if defined(USE_SSL) - #ifdef USE_SSL_GNUTLS + # ifdef USE_SSL_GNUTLS - { "ssl_ca_certificates_file", DT_PATH, R_NONE, {.p=&SslCACertFile}, {.p=0} }, -+ { "ssl_ca_certificates_file", DT_PATH, R_NONE, {.p=&SslCACertFile}, {.p="/etc/ssl/certs/ca-bundle.crt"} }, ++ { "ssl_ca_certificates_file", DT_PATH, R_NONE, {.p=&SslCACertFile}, {.p="/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem"} }, /* ** .pp ** This variable specifies a file containing trusted CA certificates. +@@ -4324,7 +4324,7 @@ struct option_t MuttVars[] = { + ** .pp + ** Example: + ** .ts +- ** set ssl_ca_certificates_file=/etc/ssl/certs/ca-certificates.crt ++ ** set ssl_ca_certificates_file=/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem + ** .te + */ + # endif /* USE_SSL_GNUTLS */ diff --git a/mutt-1.8.0-cabundle.patch b/mutt-1.8.0-cabundle.patch index 95c60c4..4489978 100644 --- a/mutt-1.8.0-cabundle.patch +++ b/mutt-1.8.0-cabundle.patch @@ -7,9 +7,9 @@ diff -ur mutt-1.8.0.orig/contrib/Makefile.am mutt-1.8.0/contrib/Makefile.am sample.vimrc-sidebar colors.default colors.linux smime.rc \ - ca-bundle.crt smime_keys_test.pl mutt_xtitle markdown2html \ + smime_keys_test.pl mutt_xtitle markdown2html \ - bgedit-detectgui.sh bgedit-screen-tmux.sh + bgedit-detectgui.sh bgedit-screen-tmux.sh \ + mutt_oauth2.py mutt_oauth2.py.README - EXTRA_DIST = language.txt language50.txt \ diff -ur mutt-1.8.0.orig/doc/smime-notes.txt mutt-1.8.0/doc/smime-notes.txt --- mutt-1.8.0.orig/doc/smime-notes.txt 2017-02-25 15:28:22.119997501 +0000 +++ mutt-1.8.0/doc/smime-notes.txt 2017-02-25 16:06:38.986242390 +0000 diff --git a/mutt-1.9.0-ssl_ciphers.patch b/mutt-1.9.0-ssl_ciphers.patch index 7092014..4f72310 100644 --- a/mutt-1.9.0-ssl_ciphers.patch +++ b/mutt-1.9.0-ssl_ciphers.patch @@ -9,7 +9,7 @@ diff -ur mutt-1.9.0.orig/init.h mutt-1.9.0/init.h + { "ssl_ciphers", DT_STR, R_NONE, {.p=&SslCiphers}, {.p="@SYSTEM"} }, /* ** .pp - ** Contains a colon-seperated list of ciphers to use when using SSL. + ** Contains a colon-separated list of ciphers to use when using SSL. diff -ur mutt-1.9.0.orig/mutt_ssl_gnutls.c mutt-1.9.0/mutt_ssl_gnutls.c --- mutt-1.9.0.orig/mutt_ssl_gnutls.c 2017-09-04 16:48:21.403528134 +0200 +++ mutt-1.9.0/mutt_ssl_gnutls.c 2017-09-04 16:51:16.081679141 +0200 @@ -19,7 +19,7 @@ diff -ur mutt-1.9.0.orig/mutt_ssl_gnutls.c mutt-1.9.0/mutt_ssl_gnutls.c +if (SslCiphers && strcmp(SslCiphers, "@SYSTEM")) +{ - if (!option(OPTTLSV1_3)) + if (!option (OPTTLSV1_3)) { nproto--; @@ -313,6 +315,7 @@ diff --git a/mutt-1.9.4-lynx_no_backscapes.patch b/mutt-1.9.4-lynx_no_backscapes.patch index fefa8e6..6faffd3 100644 --- a/mutt-1.9.4-lynx_no_backscapes.patch +++ b/mutt-1.9.4-lynx_no_backscapes.patch @@ -5,8 +5,8 @@ diff -up mutt-1.9.1/doc/Makefile.am.lynx_no_backscapes mutt-1.9.1/doc/Makefile.a check: manual.txt: manual.html -- -LC_ALL=C lynx -dump -nolist -with_backspaces -display_charset=us-ascii manual.html > $@ || \ -+ -LC_ALL=C lynx -dump -nolist -display_charset=us-ascii manual.html > $@ || \ - LC_ALL=C w3m -dump manual.html > $@ || \ +- -LC_ALL=C lynx -localhost -dump -nolist -nonumbers -with_backspaces -display_charset=us-ascii manual.html > $@ || \ ++ -LC_ALL=C lynx -localhost -dump -nolist -display_charset=us-ascii manual.html > $@ || \ + LC_ALL=C w3m -T text/html -I utf-8 -O utf-8 -dump < manual.html > $@ || \ LC_ALL=C elinks -dump -no-numbering -no-references manual.html | sed -e 's,\\001, ,g' > $@ diff --git a/mutt-configure-c99.patch b/mutt-configure-c99.patch new file mode 100644 index 0000000..0ea7010 --- /dev/null +++ b/mutt-configure-c99.patch @@ -0,0 +1,24 @@ +The standard iconv function uses char ** even for its input +argument. With a const char ** argument, ICONV_NONTRANS is incorrectly +set to 1 if the compiler produces an error for such incompatible +pointer types. + +Submitted upstream: + +diff --git a/configure.ac b/configure.ac +index 9fe461df2a5af3a8..443da363081343c5 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1322,10 +1322,10 @@ AC_CACHE_CHECK([whether iconv is non-transcribing], mutt_cv_iconv_nontrans, + int main() + { + iconv_t cd; +- const char *ib; ++ char *ib; + char *ob; + size_t ibl, obl; +- const char *s = "\304\211"; ++ char *s = (char *) "\304\211"; + changequote(, )dnl + char t[3]; + changequote([, ])dnl diff --git a/mutt.spec b/mutt.spec index 9891db7..bcf2fc5 100644 --- a/mutt.spec +++ b/mutt.spec @@ -19,14 +19,14 @@ Summary: A text mode mail user agent Name: mutt -Version: 1.14.6 -Release: 1%{?dist} +Version: 2.2.16 +Release: 2%{?dist} Epoch: 5 # The entire source code is GPLv2+ except # pgpewrap.c setenv.c sha1.c wcwidth.c which are Public Domain -License: GPLv2+ and Public Domain +License: GPL-2.0-or-later AND LicenseRef-Fedora-Public-Domain # hg snapshot created from http://dev.mutt.org/hg/mutt -Source: ftp://ftp.mutt.org/pub/%{name}/%{name}-%{version}.tar.gz +Source: http://ftp.mutt.org/pub/%{name}/%{name}-%{version}.tar.gz Source1: mutt_ldap_query Patch1: mutt-1.10.0-muttrc.patch Patch2: mutt-1.8.0-cabundle.patch @@ -38,16 +38,17 @@ Patch9: mutt-1.9.0-ssl_ciphers.patch Patch10: mutt-1.9.4-lynx_no_backscapes.patch Patch12: mutt-1.9.5-nodotlock.patch Patch13: mutt-1.12.1-optusegpgagent.patch +Patch14: mutt-configure-c99.patch Url: http://www.mutt.org Requires: mailcap, urlview +BuildRequires: make BuildRequires: gcc BuildRequires: ncurses-devel, gettext, automake # manual generation BuildRequires: /usr/bin/xsltproc, docbook-style-xsl, perl-interpreter BuildRequires: perl-generators BuildRequires: lynx -BuildRequires: docbook2X %if %{with hcache} %{?with_tokyocabinet:BuildRequires: tokyocabinet-devel} @@ -83,16 +84,17 @@ for selecting groups of messages. %setup -q # do not run ./prepare -V, because it also runs ./configure -%patch10 -p1 -b .lynx_no_backscapes -%patch12 -p1 -b .nodotlock +%patch -P10 -p1 -b .lynx_no_backscapes +%patch -P12 -p1 -b .nodotlock +%patch -P14 -p1 -autoreconf --install -%patch1 -p1 -b .muttrc -%patch2 -p1 -b .cabundle -%patch3 -p1 -b .syncdebug -%patch8 -p1 -b .system_certs -%patch9 -p1 -b .ssl_ciphers -%patch13 -p1 -b .optusegpgagent +autoreconf -fiv +%patch -P1 -p1 -b .muttrc +%patch -P2 -p1 -b .cabundle +%patch -P3 -p1 -b .syncdebug +%patch -P8 -p1 -b .system_certs +%patch -P9 -p1 -b .ssl_ciphers +%patch -P13 -p1 -b .optusegpgagent sed -i -r 's/`$GPGME_CONFIG --libs`/"\0 -lgpg-error"/' configure @@ -149,6 +151,11 @@ rm -f mutt_ssl.c # remove unique id in manual.html because multilib conflicts sed -i -r 's///g' doc/manual.html +# fix the shebang in mutt_oauth2.py & preserve the time stamp +oauth2_script="contrib/mutt_oauth2.py" +t=$(stat -c %y "${oauth2_script}") +sed -i "s:^#\!/usr/bin/env\s\+python3\s\?$:#!%{python3}:" "${oauth2_script}" +touch -d "$t" "${oauth2_script}" %install %make_install @@ -182,7 +189,7 @@ rm -f %{buildroot}%{_mandir}/man5/mmdf.5* rm -rf %{buildroot}%{_pkgdocdir} # remove /usr/share/info/dir -rm %{buildroot}%{_infodir}/dir +rm -f %{buildroot}%{_infodir}/dir # provide muttrc.local(5): the same as muttrc(5) ln -sf ./muttrc.5 %{buildroot}%{_mandir}/man5/muttrc.local.5 @@ -194,6 +201,7 @@ ln -sf ./muttrc.5 %{buildroot}%{_mandir}/man5/muttrc.local.5 %{!?_licensedir:%global license %doc} %license COPYRIGHT GPL %doc ChangeLog NEWS README* UPDATING mutt_ldap_query +%doc contrib/mutt_oauth2.py contrib/mutt_oauth2.py.README %doc contrib/*.rc contrib/sample.* contrib/colors.* %doc doc/manual.html doc/manual.txt doc/smime-notes.txt %config(noreplace) %{_sysconfdir}/Muttrc @@ -211,6 +219,149 @@ ln -sf ./muttrc.5 %{buildroot}%{_mandir}/man5/muttrc.local.5 %changelog +* Thu Jan 08 2026 Michal Hlavinka - 5:2.2.16-2 +- rebuild + +* Sat Dec 27 2025 Michal Hlavinka - 5:2.2.16-1 +- updated to 2.2.16 (#2416539) + +* Thu Nov 20 2025 Michal Hlavinka - 5:2.2.15-2 +- rebuilt for new gpgme + +* Mon Nov 03 2025 Michal Hlavinka - 5:2.2.15-1 +- updated to 2.2.15 (#2400970) + +* Fri Aug 01 2025 Michal Hlavinka - 5:2.2.14-4 +- fix FTBFS (rhbz#2385201) + +* Thu Jul 24 2025 Fedora Release Engineering - 5:2.2.14-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Tue Jul 22 2025 Michal Hlavinka - 5:2.2.14-2 +- adjust to Dropping of cert.pem file system change + +* Mon Feb 24 2025 Michal Hlavinka - 5:2.2.14-1 +- updated to 2.2.14 (#2346767) + +* Fri Jan 17 2025 Fedora Release Engineering - 5:2.2.13-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Thu Jul 18 2024 Fedora Release Engineering - 5:2.2.13-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Sat Jun 22 2024 Ondrej Sloup - 5:2.2.13-2 +- Remove docbookX2 BuildRequire dependency as it is being deprecated + +* Wed Mar 20 2024 Matej Mužila - 5:2.2.13-1 +- Upgrade to 2.2.13 +- Resolves: #2268671 + +* Thu Jan 25 2024 Fedora Release Engineering - 5:2.2.12-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 5:2.2.12-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Dec 7 2023 Florian Weimer - 5:2.2.12-2 +- Fix C99 compatibility issue + +* Mon Nov 13 2023 Matej Mužila - 5:2.2.12-1 +- Upgrade to 2.2.12 +- Resolves: #2232712 + +* Tue Sep 05 2023 Matej Mužila - 5:2.2.11-1 +- Upgrade to 2.2.11 +- Resolves: #2232712 + +* Thu Jul 20 2023 Fedora Release Engineering - 5:2.2.10-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Mon Apr 17 2023 Matej Mužila - 5:2.2.10-1 +- Upgrade to 2.2.10 +- Resolves: #2181780 + +* Thu Jan 19 2023 Fedora Release Engineering - 5:2.2.9-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Nov 23 2022 Matej Mužila - 5:2.2.9-1 +- Upgrade to 2.2.9 +- Resolves: 2140353 + +* Thu Aug 11 2022 Matej Mužila - 5:2.2.7-1 +- Upgrade to 2.2.7 +- Resolves: 2116172 + +* Fri Jul 22 2022 Fedora Release Engineering - 5:2.2.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Wed Jun 15 2022 Matej Mužila - 5:2.2.6-1 +- Upgrade to 2.2.6 +- Resolves: 2093746 + +* Mon May 30 2022 Matej Mužila - 5:2.2.5-1 +- Upgrade to 2.2.5 +- Resolves: 2068653 + +* Thu Apr 21 2022 Matej Mužila - 5:2.2.3-1 +- Upgrade to 2.2.3 + Resolves: CVE-2022-1328 + +* Mon Mar 28 2022 Matej Mužila - 5:2.2.2-1 +- Upgrade to 2.2.2 + Resolves: #2068653 + +* Tue Feb 22 2022 Matej Mužila - 5:2.2.1-1 +- Upgrade to 2.2.1 + Resolves: #2053874 + +* Wed Feb 16 2022 Matej Mužila - 5:2.2.0-1 +- Upgrade to 2.2.0 + Resolves: #2053874 + +* Thu Jan 20 2022 Fedora Release Engineering - 5:2.1.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Mon Jan 03 2022 Matej Mužila - 5:2.1.5-1 +- Upgrade to 2.1.5 + +* Mon Oct 25 2021 Matej Mužila - 5:2.1.3-1 +- Upgrade to 2.1.3 + +* Tue Aug 10 2021 Matej Mužila - 5:2.1.1-1 +- Upgrade to 2.1.1 + +* Thu Jul 22 2021 Fedora Release Engineering - 5:2.0.7-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri May 7 2021 Dan Čermák - 5:2.0.7-2 +- Ship the mutt_oauth2.py script as well + +* Thu May 6 2021 Filip Januš 5:2.0.7-1 +-Rebase to v2.0.7 + +* Mon Mar 22 2021 Filip Januš 5:2.0.6-1 +- Rebase to upstream version 2.0.6 + +* Mon Feb 1 2021 Filip Januš -5:2.0.5-1 +- Rebase to upstream version 2.0.5 +- Fix CVE-2021-3181 + +* Tue Jan 26 2021 Fedora Release Engineering - 5:2.0.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Dec 01 2020 Matej Mužila - 5:2.0.2-1 +- Upgrade to 2.0.2 +- Resolves: #1895629, #1900827, CVE-2020-28896 + +* Tue Sep 01 2020 Matej Mužila - 5:1.14.7-2 +- Fix mutt-1.9.4-lynx_no_backscapes.patch + +* Mon Aug 31 2020 Matej Mužila - 5:1.14.7-1 +- Upgrade to 1.14.7 + +* Tue Jul 28 2020 Fedora Release Engineering - 5:1.14.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Wed Jul 22 2020 Fabio Alessandro Locati - 5:1.14.6-1 - Upgrade to 1.14.6 diff --git a/sources b/sources index c26cf91..18c4529 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mutt-1.14.6.tar.gz) = a442b3f6b8fc4c1a5ed9a870a321c883aeeb736ce58820d393ee6d9c646a607790ad8aeeb1efa4f5394586484f3181fa8cbb6c90d82bbf2a74a046b07d1467e6 +SHA512 (mutt-2.2.16.tar.gz) = 5048aa9af6d928be59fe42b0bdbf22fc46c1dd47582cc7036782bff5756af2410ba80f2398c1edbf7be59a96eaa6736c8b8eff198f0dfc8841fb744093a39f80 diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..fad7c5d --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,9 @@ +- hosts: localhost + roles: + - role: standard-test-basic + tags: + - classic + tests: + - simple: + dir: . + run: mutt --help