public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Andreas Sturmlechner" <asturm@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: app-office/libreoffice/files/, app-office/libreoffice/
Date: Thu,  7 Dec 2023 18:50:39 +0000 (UTC)	[thread overview]
Message-ID: <1701975026.bd327737a7988fc40e8c46dd134d4d72ea79601c.asturm@gentoo> (raw)

commit:     bd327737a7988fc40e8c46dd134d4d72ea79601c
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu Dec  7 17:31:26 2023 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Dec  7 18:50:26 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bd327737

app-office/libreoffice: Fix build with dev-libs/libxml2-2.12.0

Closes: https://bugs.gentoo.org/917691
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../files/libreoffice-7.5.9.2-libxml2-2.12.patch   | 303 +++++++++++++++++++++
 app-office/libreoffice/libreoffice-7.5.9.2.ebuild  |   7 +-
 2 files changed, 308 insertions(+), 2 deletions(-)

diff --git a/app-office/libreoffice/files/libreoffice-7.5.9.2-libxml2-2.12.patch b/app-office/libreoffice/files/libreoffice-7.5.9.2-libxml2-2.12.patch
new file mode 100644
index 000000000000..bc7ae2a561ff
--- /dev/null
+++ b/app-office/libreoffice/files/libreoffice-7.5.9.2-libxml2-2.12.patch
@@ -0,0 +1,303 @@
+From c8f7408db73d2f2ccacb25a2b4fef8dfebdfc6cb Mon Sep 17 00:00:00 2001
+From: Miklos Vajna <vmiklos@collabora.com>
+Date: Mon, 27 Nov 2023 08:02:59 +0100
+Subject: tdf#158302 fix build against system-libxml-2.12
+
+Seen in a fedora:40 container, using --with-system-libcmis,
+--with-system-liblangtag and --with-system-xmlsec.
+
+Change-Id: I9d748d3dc0b70dbfdfcb6b99c9ce8440bda6f326
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159980
+Tested-by: Jenkins
+Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
+---
+ drawinglayer/source/tools/primitive2dxmldump.cxx | 1 +
+ filter/source/xsltfilter/LibXSLTTransformer.cxx  | 2 +-
+ helpcompiler/source/HelpLinker.cxx               | 4 ++++
+ include/xmloff/xmltoken.hxx                      | 2 +-
+ sax/source/fastparser/fastparser.cxx             | 2 +-
+ sc/source/core/tool/interpr7.cxx                 | 1 +
+ sc/source/filter/xml/XMLExportDataPilot.cxx      | 2 +-
+ sc/source/filter/xml/XMLExportDatabaseRanges.cxx | 2 +-
+ sc/source/filter/xml/xmlfilti.cxx                | 6 +++---
+ unoxml/source/dom/attr.cxx                       | 1 +
+ unoxml/source/dom/document.cxx                   | 1 +
+ unoxml/source/dom/documentbuilder.cxx            | 1 +
+ unoxml/source/dom/entity.cxx                     | 1 +
+ unoxml/source/xpath/xpathapi.cxx                 | 7 ++++++-
+ xmloff/source/core/xmltoken.cxx                  | 2 +-
+ xmloff/source/style/PageMasterStyleMap.cxx       | 2 +-
+ xmlsecurity/inc/xmlsec-wrapper.h                 | 1 +
+ xmlsecurity/inc/xmlsec/saxhelper.hxx             | 1 +
+ 18 files changed, 28 insertions(+), 11 deletions(-)
+
+diff --git a/drawinglayer/source/tools/primitive2dxmldump.cxx b/drawinglayer/source/tools/primitive2dxmldump.cxx
+index 76aefec902ea..f3b9ef1bc919 100644
+--- a/drawinglayer/source/tools/primitive2dxmldump.cxx
++++ b/drawinglayer/source/tools/primitive2dxmldump.cxx
+@@ -15,6 +15,7 @@
+ 
+ #include <math.h>
+ #include <memory>
++#include <libxml/parser.h>
+ #include <sal/log.hxx>
+ 
+ #include <drawinglayer/primitive2d/bitmapprimitive2d.hxx>
+diff --git a/filter/source/xsltfilter/LibXSLTTransformer.cxx b/filter/source/xsltfilter/LibXSLTTransformer.cxx
+index 1a7c34805f1b..5e9a7c4bcd35 100644
+--- a/filter/source/xsltfilter/LibXSLTTransformer.cxx
++++ b/filter/source/xsltfilter/LibXSLTTransformer.cxx
+@@ -333,7 +333,7 @@ namespace XSLT
+         }
+         else
+         {
+-            xmlErrorPtr lastErr = xmlGetLastError();
++            const xmlError* lastErr = xmlGetLastError();
+             OUString msg;
+             if (lastErr)
+                 msg = OStringToOUString(lastErr->message, RTL_TEXTENCODING_UTF8);
+diff --git a/helpcompiler/source/HelpLinker.cxx b/helpcompiler/source/HelpLinker.cxx
+index 3d52834dbe6b..898a8b26392a 100644
+--- a/helpcompiler/source/HelpLinker.cxx
++++ b/helpcompiler/source/HelpLinker.cxx
+@@ -815,7 +815,11 @@ static const HelpProcessingException* GpXMLParsingException = nullptr;
+ 
+ extern "C" {
+ 
++#if LIBXML_VERSION >= 21200
++static void StructuredXMLErrorFunction(SAL_UNUSED_PARAMETER void *, const xmlError* error)
++#else
+ static void StructuredXMLErrorFunction(SAL_UNUSED_PARAMETER void *, xmlErrorPtr error)
++#endif
+ {
+     std::string aErrorMsg = error->message;
+     std::string aXMLParsingFile;
+diff --git a/include/xmloff/xmltoken.hxx b/include/xmloff/xmltoken.hxx
+index 4e6441841774..ba42fae4d035 100644
+--- a/include/xmloff/xmltoken.hxx
++++ b/include/xmloff/xmltoken.hxx
+@@ -744,7 +744,7 @@ namespace xmloff::token {
+         XML_EMBEDDED_VISIBLE_AREA,
+         XML_EMBOSSED,
+         XML_EMISSIVE_COLOR,
+-        XML_EMPTY,
++        XML_TOKEN_EMPTY,
+         XML_EMPTY_LINE_REFRESH,
+         XML_ENABLE_NUMBERING,
+         XML_ENABLED,
+diff --git a/sax/source/fastparser/fastparser.cxx b/sax/source/fastparser/fastparser.cxx
+index ec8065016a12..e0338e053cf0 100644
+--- a/sax/source/fastparser/fastparser.cxx
++++ b/sax/source/fastparser/fastparser.cxx
+@@ -578,7 +578,7 @@ Event& Entity::getEvent( CallbackType aType )
+ OUString lclGetErrorMessage( xmlParserCtxtPtr ctxt, std::u16string_view sSystemId, sal_Int32 nLine )
+ {
+     const char* pMessage;
+-    xmlErrorPtr error = xmlCtxtGetLastError( ctxt );
++    const xmlError* error = xmlCtxtGetLastError( ctxt );
+     if( error && error->message )
+         pMessage = error->message;
+     else
+diff --git a/sc/source/core/tool/interpr7.cxx b/sc/source/core/tool/interpr7.cxx
+index 352c7cf70e45..ecb4ea346396 100644
+--- a/sc/source/core/tool/interpr7.cxx
++++ b/sc/source/core/tool/interpr7.cxx
+@@ -31,6 +31,7 @@
+ #include <cstring>
+ #include <memory>
+ #include <string_view>
++#include <libxml/parser.h>
+ 
+ using namespace com::sun::star;
+ 
+diff --git a/sc/source/filter/xml/XMLExportDataPilot.cxx b/sc/source/filter/xml/XMLExportDataPilot.cxx
+index da65bec0dab7..bd5f16d828ff 100644
+--- a/sc/source/filter/xml/XMLExportDataPilot.cxx
++++ b/sc/source/filter/xml/XMLExportDataPilot.cxx
+@@ -123,7 +123,7 @@ void ScXMLExportDataPilot::WriteDPCondition(const ScQueryEntry& aQueryEntry, boo
+ 
+     if (aQueryEntry.IsQueryByEmpty())
+     {
+-        rExport.AddAttribute(XML_NAMESPACE_TABLE, XML_OPERATOR, GetXMLToken(XML_EMPTY));
++        rExport.AddAttribute(XML_NAMESPACE_TABLE, XML_OPERATOR, GetXMLToken(XML_TOKEN_EMPTY));
+     }
+     else if (aQueryEntry.IsQueryByNonEmpty())
+     {
+diff --git a/sc/source/filter/xml/XMLExportDatabaseRanges.cxx b/sc/source/filter/xml/XMLExportDatabaseRanges.cxx
+index 6905e02d651b..e4307065bd92 100644
+--- a/sc/source/filter/xml/XMLExportDatabaseRanges.cxx
++++ b/sc/source/filter/xml/XMLExportDatabaseRanges.cxx
+@@ -376,7 +376,7 @@ private:
+             case SC_EQUAL:
+             {
+                 if (rEntry.IsQueryByEmpty())
+-                    return GetXMLToken(XML_EMPTY);
++                    return GetXMLToken(XML_TOKEN_EMPTY);
+                 else if (rEntry.IsQueryByNonEmpty())
+                     return GetXMLToken(XML_NOEMPTY);
+ 
+diff --git a/sc/source/filter/xml/xmlfilti.cxx b/sc/source/filter/xml/xmlfilti.cxx
+index 7585ce0c50fa..61f7cfe4a349 100644
+--- a/sc/source/filter/xml/xmlfilti.cxx
++++ b/sc/source/filter/xml/xmlfilti.cxx
+@@ -370,7 +370,7 @@ void ScXMLConditionContext::GetOperator(
+         rEntry.eOp = SC_BOTPERC;
+     else if (IsXMLToken(aOpStr, XML_BOTTOM_VALUES))
+         rEntry.eOp = SC_BOTVAL;
+-    else if (IsXMLToken(aOpStr, XML_EMPTY))
++    else if (IsXMLToken(aOpStr, XML_TOKEN_EMPTY))
+         rEntry.SetQueryByEmpty();
+     else if (aOpStr == u">")
+         rEntry.eOp = SC_GREATER;
+@@ -422,7 +422,7 @@ void SAL_CALL ScXMLConditionContext::endFastElement( sal_Int32 /*nElement*/ )
+     if (maQueryItems.empty())
+     {
+         ScQueryEntry::Item& rItem = rEntry.GetQueryItem();
+-        if (IsXMLToken(sOperator, XML_EMPTY))
++        if (IsXMLToken(sOperator, XML_TOKEN_EMPTY))
+             return;
+         if (IsXMLToken(sDataType, XML_NUMBER))
+         {
+@@ -753,7 +753,7 @@ void SAL_CALL ScXMLDPConditionContext::endFastElement( sal_Int32 /*nElement*/ )
+     else
+         aFilterField.eConnect = SC_AND;
+     pFilterContext->SetIsCaseSensitive(bIsCaseSensitive);
+-    if (IsXMLToken(sOperator, XML_EMPTY))
++    if (IsXMLToken(sOperator, XML_TOKEN_EMPTY))
+         aFilterField.SetQueryByEmpty();
+     else if (IsXMLToken(sOperator, XML_NOEMPTY))
+         aFilterField.SetQueryByNonEmpty();
+diff --git a/unoxml/source/dom/attr.cxx b/unoxml/source/dom/attr.cxx
+index dd974d910edb..d8d873cdf055 100644
+--- a/unoxml/source/dom/attr.cxx
++++ b/unoxml/source/dom/attr.cxx
+@@ -22,6 +22,7 @@
+ #include <string.h>
+ 
+ #include <memory>
++#include <libxml/entities.h>
+ 
+ #include <osl/diagnose.h>
+ #include <sal/log.hxx>
+diff --git a/unoxml/source/dom/document.cxx b/unoxml/source/dom/document.cxx
+index cb48bd1635f8..0825fc2cd7ed 100644
+--- a/unoxml/source/dom/document.cxx
++++ b/unoxml/source/dom/document.cxx
+@@ -41,6 +41,7 @@
+ #include <eventdispatcher.hxx>
+ 
+ #include <string.h>
++#include <libxml/xmlIO.h>
+ 
+ #include <osl/diagnose.h>
+ 
+diff --git a/unoxml/source/dom/documentbuilder.cxx b/unoxml/source/dom/documentbuilder.cxx
+index c3cd7663d2fc..3898d58e4be4 100644
+--- a/unoxml/source/dom/documentbuilder.cxx
++++ b/unoxml/source/dom/documentbuilder.cxx
+@@ -22,6 +22,7 @@
+ #include <string.h>
+ 
+ #include <libxml/xmlerror.h>
++#include <libxml/parser.h>
+ 
+ #include <memory>
+ 
+diff --git a/unoxml/source/dom/entity.cxx b/unoxml/source/dom/entity.cxx
+index ccc8a0872499..98909dfe8f12 100644
+--- a/unoxml/source/dom/entity.cxx
++++ b/unoxml/source/dom/entity.cxx
+@@ -22,6 +22,7 @@
+ #include <osl/diagnose.h>
+ 
+ #include <string.h>
++#include <libxml/entities.h>
+ 
+ using namespace css::uno;
+ using namespace css::xml::dom;
+diff --git a/unoxml/source/xpath/xpathapi.cxx b/unoxml/source/xpath/xpathapi.cxx
+index a60083983882..c2b753783176 100644
+--- a/unoxml/source/xpath/xpathapi.cxx
++++ b/unoxml/source/xpath/xpathapi.cxx
+@@ -26,6 +26,7 @@
+ #include <libxml/xmlerror.h>
+ #include <libxml/xpath.h>
+ #include <libxml/xpathInternals.h>
++#include <libxml/xmlIO.h>
+ 
+ #include <com/sun/star/xml/xpath/XPathException.hpp>
+ 
+@@ -217,7 +218,7 @@ namespace XPath
+         return selectSingleNode(contextNode, expr);
+     }
+ 
+-    static OUString make_error_message(xmlErrorPtr pError)
++    static OUString make_error_message(const xmlError* pError)
+     {
+         OUStringBuffer buf;
+         if (pError) {
+@@ -259,7 +260,11 @@ namespace XPath
+             SAL_WARN("unoxml", "libxml2 error: " << str);
+         }
+ 
++#if LIBXML_VERSION >= 21200
++        static void structured_error_func(void *, const xmlError* error)
++#else
+         static void structured_error_func(void *, xmlErrorPtr error)
++#endif
+         {
+             SAL_WARN("unoxml", "libxml2 error: " << make_error_message(error));
+         }
+diff --git a/xmloff/source/core/xmltoken.cxx b/xmloff/source/core/xmltoken.cxx
+index 6879f37db295..e11dc0d16111 100644
+--- a/xmloff/source/core/xmltoken.cxx
++++ b/xmloff/source/core/xmltoken.cxx
+@@ -756,7 +756,7 @@ namespace xmloff::token {
+         TOKEN( "embedded-visible-area",           XML_EMBEDDED_VISIBLE_AREA ),
+         TOKEN( "embossed",                        XML_EMBOSSED ),
+         TOKEN( "emissive-color",                  XML_EMISSIVE_COLOR ),
+-        TOKEN( "empty",                           XML_EMPTY ),
++        TOKEN( "empty",                           XML_TOKEN_EMPTY ),
+         TOKEN( "empty-line-refresh",              XML_EMPTY_LINE_REFRESH ),
+         TOKEN( "enable-numbering",                XML_ENABLE_NUMBERING ),
+         TOKEN( "enabled",                         XML_ENABLED ),
+diff --git a/xmloff/source/style/PageMasterStyleMap.cxx b/xmloff/source/style/PageMasterStyleMap.cxx
+index 7b2cab4751aa..6f631289672b 100644
+--- a/xmloff/source/style/PageMasterStyleMap.cxx
++++ b/xmloff/source/style/PageMasterStyleMap.cxx
+@@ -157,7 +157,7 @@ const XMLPropertyMapEntry aXMLPageMasterStyleMap[] =
+     PLMAP( PROP_FootnoteLineRelativeWidth, XML_NAMESPACE_STYLE,    XML__EMPTY,     XML_TYPE_PERCENT8|MID_FLAG_SPECIAL_ITEM,    CTF_PM_FTN_LINE_WIDTH ),
+     PLMAP( PROP_FootnoteLineTextDistance, XML_NAMESPACE_STYLE,    XML__EMPTY,     XML_TYPE_MEASURE|MID_FLAG_SPECIAL_ITEM,    CTF_PM_FTN_LINE_DISTANCE ),
+     PLMAP( PROP_FootnoteLineWeight,        XML_NAMESPACE_STYLE,    XML_FOOTNOTE_SEP,    XML_TYPE_MEASURE16|MID_FLAG_ELEMENT_ITEM,    CTF_PM_FTN_LINE_WEIGHT ),
+-    PLMAP( PROP_FootnoteLineStyle,     XML_NAMESPACE_STYLE,    XML_EMPTY,  XML_TYPE_STRING|MID_FLAG_ELEMENT_ITEM,  CTF_PM_FTN_LINE_STYLE ),
++    PLMAP( PROP_FootnoteLineStyle,     XML_NAMESPACE_STYLE,    XML_TOKEN_EMPTY,  XML_TYPE_STRING|MID_FLAG_ELEMENT_ITEM,  CTF_PM_FTN_LINE_STYLE ),
+     PLMAP_EXT(PROP_GutterMargin, XML_NAMESPACE_LO_EXT, XML_MARGIN_GUTTER, XML_TYPE_MEASURE, CTF_PM_MARGINGUTTER),
+ 
+     //////////////////////////////////////////////////////////////////////////
+diff --git a/xmlsecurity/inc/xmlsec-wrapper.h b/xmlsecurity/inc/xmlsec-wrapper.h
+index 7c6d267e8b73..3ad705400c52 100644
+--- a/xmlsecurity/inc/xmlsec-wrapper.h
++++ b/xmlsecurity/inc/xmlsec-wrapper.h
+@@ -23,6 +23,7 @@
+ 
+ #include <sal/types.h>
+ 
++#include <libxml/parser.h>
+ #include <xmlsec/base64.h>
+ #include <xmlsec/bn.h>
+ #include <xmlsec/errors.h>
+diff --git a/xmlsecurity/inc/xmlsec/saxhelper.hxx b/xmlsecurity/inc/xmlsec/saxhelper.hxx
+index a49ccef1894c..a5863ffd0e2a 100644
+--- a/xmlsecurity/inc/xmlsec/saxhelper.hxx
++++ b/xmlsecurity/inc/xmlsec/saxhelper.hxx
+@@ -23,6 +23,7 @@
+ 
+ #include <string_view>
+ 
++#include <libxml/parser.h>
+ #include <libxml/tree.h>
+ 
+ #include <rtl/ustring.hxx>
+-- 
+cgit v1.2.1
+

diff --git a/app-office/libreoffice/libreoffice-7.5.9.2.ebuild b/app-office/libreoffice/libreoffice-7.5.9.2.ebuild
index b0ffc896108d..786eff58ca6c 100644
--- a/app-office/libreoffice/libreoffice-7.5.9.2.ebuild
+++ b/app-office/libreoffice/libreoffice-7.5.9.2.ebuild
@@ -298,9 +298,12 @@ PATCHES=(
 	# maybe upstreamable
 	"${FILESDIR}/libreoffice-7.5.8.2-icu-74-compatibility.patch"
 
+	# 7.6 branch
+	"${WORKDIR}/${PN}-7.5.2.2-loong-buildsys-fix.patch" # bug 881389
+
 	# git master
-	"${WORKDIR}/${PN}-7.5.2.2-loong-buildsys-fix.patch"
-	"${FILESDIR}/${PN}-7.5.6.2-gcc-14.patch"
+	"${FILESDIR}/${PN}-7.5.6.2-gcc-14.patch" # bug 916621
+	"${FILESDIR}/${P}-libxml2-2.12.patch" # bug 917691
 )
 
 S="${WORKDIR}/${PN}-${MY_PV}"


             reply	other threads:[~2023-12-07 18:50 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-07 18:50 Andreas Sturmlechner [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-03-28 11:56 [gentoo-commits] repo/gentoo:master commit in: app-office/libreoffice/files/, app-office/libreoffice/ Andreas Sturmlechner
2025-03-03 11:05 Sam James
2025-02-26 20:50 Andreas Sturmlechner
2025-02-22 22:26 Sam James
2025-01-13 17:12 Andreas Sturmlechner
2024-11-14 21:29 Andreas Sturmlechner
2024-06-29 16:32 Andreas Sturmlechner
2024-03-25 12:05 Andreas Sturmlechner
2024-03-25 12:05 Andreas Sturmlechner
2024-02-20 20:49 Andreas Sturmlechner
2024-02-14 19:55 Andreas Sturmlechner
2024-01-27  0:48 Andreas Sturmlechner
2024-01-07  9:29 Andreas Sturmlechner
2023-11-21 22:36 Andreas Sturmlechner
2023-06-10  9:39 Andreas Sturmlechner
2023-05-13 21:25 Andreas Sturmlechner
2023-02-01 13:22 Andreas Sturmlechner
2022-09-02  4:38 Sam James
2022-05-13 22:51 Conrad Kostecki
2022-05-08 21:57 Sam James
2022-02-18 20:09 Andreas K. Hüttel
2021-09-14 13:39 Andreas Sturmlechner
2021-09-13  5:19 Andreas Sturmlechner
2021-05-21 14:28 Andreas Sturmlechner
2021-03-12 21:12 Andreas Sturmlechner
2020-12-17 13:31 Andreas Sturmlechner
2020-08-07 23:24 Andreas Sturmlechner
2020-05-14 20:10 Andreas Sturmlechner
2019-12-26  8:36 Andreas Sturmlechner
2019-10-29 17:39 Andreas Sturmlechner
2019-10-29 17:39 Andreas Sturmlechner
2019-04-03 12:02 Andreas Sturmlechner
2019-02-14 18:36 Andreas Sturmlechner
2019-01-16  8:17 Andreas Sturmlechner
2019-01-09 10:00 Andreas Sturmlechner
2019-01-09 10:00 Andreas Sturmlechner
2018-11-22 21:48 Andreas Sturmlechner
2018-07-14  8:20 Andreas Sturmlechner
2018-07-14  8:20 Andreas Sturmlechner
2018-06-10  9:19 Andreas Sturmlechner
2018-05-29 14:59 Andreas Sturmlechner
2018-02-10  9:43 Andreas Sturmlechner
2018-02-09 23:14 Andreas Sturmlechner
2018-02-04 18:58 Andreas Sturmlechner
2018-01-07 16:02 Andreas Sturmlechner
2018-01-05  0:35 Andreas Sturmlechner
2017-06-25 21:54 Andreas Sturmlechner
2017-02-12  0:13 Andreas Sturmlechner
2016-11-29 19:55 Andreas Hüttel
2016-09-17 21:32 Andreas Hüttel
2016-07-26  7:39 Lars Wendler
2016-03-19 21:39 Andreas Hüttel
2015-11-28  0:13 Andreas Hüttel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1701975026.bd327737a7988fc40e8c46dd134d4d72ea79601c.asturm@gentoo \
    --to=asturm@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox