[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1016037: marked as done (bullseye-pu: package libreoffice/1:7.0.4-4+deb11u2)



Your message dated Sat, 10 Sep 2022 13:36:19 +0100
with message-id <92fe43e7805e82e43100a6471ccbf91cd9a12944.camel@adam-barratt.org.uk>
and subject line Closing requests for updates in 11.5
has caused the Debian Bug report #1016037,
regarding bullseye-pu: package libreoffice/1:7.0.4-4+deb11u2
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
1016037: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1016037
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: bullseye
User: release.debian.org@packages.debian.org
Usertags: pu

[ Reason ]
1) It seems the volution adress book is broken since 2015 due to a evolution
   change. Apparently noone noticed until 2021, where I backported the patch but then
   actually forgot to request a stable update
2) Croatia will join the Eurozone on 2023-01-01. I think we should
   prepare.
   TODO: After (or shortly before) 2023-01-01 we then can do a point release update
   to switch the default...

[ Impact ]
for 1) it stays broken.
for 2) EUR isn't supported in .hr locale

[ Tests ]
None, ttbomk.

[ Risks ]
for 2) trivial, and doesn't yet affect the default
for 1) it is a bigger patch but upstream since 2021. No regression known
and if it should regress, it can't get more broken than "broken".

[ Checklist ]
  [x] *all* changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in (old)stable
  [ ] the issue is verified as fixed in unstable

(2) is not yet fixed in unstable, that will happen with the upload of
7.4.0 rc2 (or someting later) to it

[ Changes ]
See above. I just added the verbatim upstream commits.

Debdiff attached.

[ Other info ]
As said, for 2) we need a new update to switch the default later.

Regards,

Rene
diff --git a/changelog b/changelog
index bdd1d149..2baf8b2f 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,12 @@
+libreoffice (1:7.0.4-4+deb11u2) stable; urgency=medium
+
+  * debian/patches/fix-e_book_client_connect_direct_sync-sig.diff:
+    as name says; from libreoffice-7-2 branch
+  * debian/patches/hrk-euro.diff: add EUR to .hr i18n;
+    add HRK<->EUR conversion rate to Calc and the Euro Wizard
+
+ -- Rene Engelhard <rene@debian.org>  Mon, 25 Jul 2022 17:47:13 +0200
+
 libreoffice (1:7.0.4-4+deb11u1) bullseye-security; urgency=high
 
   * backport fixes from libreoffice-7-0 branch:
diff --git a/patches/fix-e_book_client_connect_direct_sync-sig.diff b/patches/fix-e_book_client_connect_direct_sync-sig.diff
new file mode 100644
index 00000000..7aef915e
--- /dev/null
+++ b/patches/fix-e_book_client_connect_direct_sync-sig.diff
@@ -0,0 +1,417 @@
+From 3b9210195b8d2ac9861a1e607455ff9d16eb68fd Mon Sep 17 00:00:00 2001
+From: Julien Nabet <serval2412@yahoo.fr>
+Date: Wed, 15 Dec 2021 22:45:47 +0100
+Subject: [PATCH] tdf#137101: fix e_book_client_connect_direct_sync signature
+ in Evolution
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+since it changed in 2015, see all details from tdf#137101
+Thank you to krumelmonster for having spotted this!
+
++ some cleanup to remove all eds_check_version calls
+and dependencies
+
+Change-Id: Iaf2437f8f5c04ab9674a380dac1dfb16ec8c7201
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126898
+Tested-by: Jenkins
+Tested-by: Caolán McNamara <caolanm@redhat.com>
+Reviewed-by: Caolán McNamara <caolanm@redhat.com>
+(cherry picked from commit 0661c796c767802c114441ad9a17fd0979d72ef4)
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126920
+---
+ connectivity/source/drivers/evoab2/EApi.cxx   |  54 +-------
+ connectivity/source/drivers/evoab2/EApi.h     |   2 +-
+ .../drivers/evoab2/NDatabaseMetaData.cxx      | 121 +++++------------
+ .../source/drivers/evoab2/NResultSet.cxx      | 125 +-----------------
+ 4 files changed, 39 insertions(+), 263 deletions(-)
+
+diff --git a/connectivity/source/drivers/evoab2/EApi.cxx b/connectivity/source/drivers/evoab2/EApi.cxx
+index 12096bdade87..ebe710dedb57 100644
+--- a/connectivity/source/drivers/evoab2/EApi.cxx
++++ b/connectivity/source/drivers/evoab2/EApi.cxx
+@@ -23,16 +23,7 @@
+ static const char *eBookLibNames[] = {
+     "libebook-1.2.so.20", // evolution-data-server 3.33.2+
+     "libebook-1.2.so.19", // evolution-data-server 3.24+
+-    "libebook-1.2.so.16",
+-    "libebook-1.2.so.15",
+-    "libebook-1.2.so.14", // bumped again (evolution-3.6)
+-    "libebook-1.2.so.13", // bumped again (evolution-3.4)
+-    "libebook-1.2.so.12", // bumped again
+-    "libebook-1.2.so.10", // bumped again
+-    "libebook-1.2.so.9",  // evolution-2.8
+-    "libebook-1.2.so.5",  // evolution-2.4 and 2.6+
+-    "libebook-1.2.so.3",  // evolution-2.2
+-    "libebook.so.8"       // evolution-2.0
++    "libebook-1.2.so.16"
+ };
+ 
+ typedef void (*SymbolFunc) ();
+@@ -71,19 +62,6 @@ static const ApiMap aCommonApiMap[] =
+     SYM_MAP( e_book_query_field_exists )
+ };
+ 
+-//< 3.6 api
+-static const ApiMap aOldApiMap[] =
+-{
+-    SYM_MAP( e_book_get_addressbooks ),
+-    SYM_MAP( e_book_get_uri ),
+-    SYM_MAP( e_book_authenticate_user ),
+-    SYM_MAP( e_source_group_peek_base_uri),
+-    SYM_MAP( e_source_peek_name ),
+-    SYM_MAP( e_source_get_property ),
+-    SYM_MAP( e_source_list_peek_groups ),
+-    SYM_MAP( e_source_group_peek_sources )
+-};
+-
+ //>= 3.6 api
+ static const ApiMap aNewApiMap[] =
+ {
+@@ -101,12 +79,6 @@ static const ApiMap aNewApiMap[] =
+     SYM_MAP( e_client_util_free_object_slist )
+ };
+ 
+-//== indirect read access (3.6 only)
+-static const ApiMap aClientApiMap36[] =
+-{
+-    SYM_MAP( e_book_client_new )
+-};
+-
+ //>= direct read access API (>= 3.8)
+ static const ApiMap aClientApiMap38[] =
+ {
+@@ -144,33 +116,14 @@ bool EApiInit()
+ 
+         if (tryLink( aModule, eBookLibNames[ j ], aCommonApiMap))
+         {
+-            if (eds_check_version( 3, 6, 0 ) != nullptr)
++            if (tryLink( aModule, eBookLibNames[ j ], aNewApiMap))
+             {
+-                if (tryLink( aModule, eBookLibNames[ j ], aOldApiMap))
++                if (tryLink( aModule, eBookLibNames[ j ], aClientApiMap38))
+                 {
+                     aModule.release();
+                     return true;
+                 }
+             }
+-            else if (tryLink( aModule, eBookLibNames[ j ], aNewApiMap))
+-            {
+-                if (eds_check_version( 3, 7, 6 ) != nullptr)
+-                {
+-                    if (tryLink( aModule, eBookLibNames[ j ], aClientApiMap36))
+-                    {
+-                        aModule.release();
+-                        return true;
+-                    }
+-                }
+-                else
+-                {
+-                    if (tryLink( aModule, eBookLibNames[ j ], aClientApiMap38))
+-                    {
+-                        aModule.release();
+-                        return true;
+-                    }
+-                }
+-            }
+         }
+     }
+     fprintf( stderr, "Can find no compliant libebook client libraries\n" );
+diff --git a/connectivity/source/drivers/evoab2/EApi.h b/connectivity/source/drivers/evoab2/EApi.h
+index 8c05f95fa2ce..928786d79f00 100644
+--- a/connectivity/source/drivers/evoab2/EApi.h
++++ b/connectivity/source/drivers/evoab2/EApi.h
+@@ -147,7 +147,7 @@ EAPI_EXTERN const gchar* (*eds_check_version) (guint required_major, guint requi
+ EAPI_EXTERN const gchar* (*e_source_get_uid) (ESource *source);
+ EAPI_EXTERN ESource* (*e_source_registry_ref_source) (ESourceRegistry *registry, const gchar *uid);
+ EAPI_EXTERN EBookClient* (*e_book_client_new) (ESource *source, GError **error);
+-EAPI_EXTERN EBookClient* (*e_book_client_connect_direct_sync) (ESourceRegistry *registry, ESource *source, GCancellable *cancellable, GError **error);
++EAPI_EXTERN EBookClient* (*e_book_client_connect_direct_sync) (ESourceRegistry *registry, ESource *source, guint32 wait_for_connected_seconds, GCancellable *cancellable, GError **error);
+ EAPI_EXTERN gboolean (*e_client_open_sync) (EClient *client, gboolean only_if_exists, GCancellable *cancellable, GError **error);
+ EAPI_EXTERN ESource* (*e_client_get_source) (EClient *client);
+ EAPI_EXTERN gboolean (*e_book_client_get_contacts_sync) (EBookClient *client, const gchar *sexp, GSList **contacts, GCancellable *cancellable, GError **error);
+diff --git a/connectivity/source/drivers/evoab2/NDatabaseMetaData.cxx b/connectivity/source/drivers/evoab2/NDatabaseMetaData.cxx
+index 9eb6f1d34862..783d9728784f 100644
+--- a/connectivity/source/drivers/evoab2/NDatabaseMetaData.cxx
++++ b/connectivity/source/drivers/evoab2/NDatabaseMetaData.cxx
+@@ -1106,103 +1106,50 @@ Reference< XResultSet > SAL_CALL OEvoabDatabaseMetaData::getTables(
+ 
+     ODatabaseMetaDataResultSet::ORows aRows;
+ 
+-    if (eds_check_version(3, 6, 0) == nullptr)
+-    {
+-        GList *pSources = e_source_registry_list_sources(get_e_source_registry(), E_SOURCE_EXTENSION_ADDRESS_BOOK);
++    GList *pSources = e_source_registry_list_sources(get_e_source_registry(), E_SOURCE_EXTENSION_ADDRESS_BOOK);
+ 
+-        for (GList* liter = pSources; liter; liter = liter->next)
+-        {
+-            ESource *pSource = E_SOURCE (liter->data);
+-            bool can = false;
+-            switch (m_pConnection->getSDBCAddressType())
+-            {
+-                case SDBCAddress::EVO_GWISE:
+-                    can = isSourceBackend( pSource, "groupwise"); // not supported in evo/eds 3.6.x+, somehow
+-                    break;
+-                case SDBCAddress::EVO_LOCAL:
+-                    can = isSourceBackend( pSource, "local");
+-                    break;
+-                case SDBCAddress::EVO_LDAP:
+-                    can = isSourceBackend( pSource, "ldap");
+-                    break;
+-                case SDBCAddress::Unknown:
+-                    can = true;
+-                    break;
+-            }
+-            if (!can)
+-                continue;
+-
+-            OUString aHumanName = OStringToOUString( e_source_get_display_name( pSource ),
+-                                                          RTL_TEXTENCODING_UTF8 );
+-            OUString aUID = OStringToOUString( e_source_get_uid( pSource ),
+-                                                          RTL_TEXTENCODING_UTF8 );
+-            ODatabaseMetaDataResultSet::ORow aRow{
+-                ORowSetValueDecoratorRef(),
+-                ORowSetValueDecoratorRef(),
+-                ORowSetValueDecoratorRef(),
+-                new ORowSetValueDecorator(aHumanName), //tablename
+-                new ORowSetValueDecorator(aTable),
+-                new ORowSetValueDecorator(aUID)}; //comment
+-            //I'd prefer to swap the comment and the human name and
+-            //just use e_source_registry_ref_source(get_e_source_registry(), aUID);
+-            //in open book rather than search for the name again
+-            aRows.push_back(aRow);
+-        }
+-
+-        g_list_foreach (pSources, reinterpret_cast<GFunc>(g_object_unref), nullptr);
+-        g_list_free (pSources);
+-    }
+-    else
++    for (GList* liter = pSources; liter; liter = liter->next)
+     {
+-        ESourceList *pSourceList;
+-        if( !e_book_get_addressbooks (&pSourceList, nullptr) )
+-                pSourceList = nullptr;
+-
+-        GSList *g;
+-        for( g = e_source_list_peek_groups( pSourceList ); g; g = g->next)
++        ESource *pSource = E_SOURCE (liter->data);
++	bool can = false;
++	switch (m_pConnection->getSDBCAddressType())
+         {
+-            GSList *s;
+-            const char *p = e_source_group_peek_base_uri(E_SOURCE_GROUP(g->data));
+-
+-            switch (m_pConnection->getSDBCAddressType()) {
+             case SDBCAddress::EVO_GWISE:
+-                        if ( !strncmp( "groupwise://", p, 11 ))
+-                            break;
+-                        else
+-                            continue;
++		can = isSourceBackend( pSource, "groupwise"); // not supported in evo/eds 3.6.x+, somehow
++		break;
+             case SDBCAddress::EVO_LOCAL:
+-                        if ( !strncmp( "file://", p, 6 ) ||
+-                             !strncmp( "local://", p, 6 ) )
+-                            break;
+-                        else
+-                            continue;
++		can = isSourceBackend( pSource, "local");
++		break;
+             case SDBCAddress::EVO_LDAP:
+-                        if ( !strncmp( "ldap://";, p, 6 ))
+-                            break;
+-                        else
+-                            continue;
++		can = isSourceBackend( pSource, "ldap");
++		break;
+             case SDBCAddress::Unknown:
++		can = true;
+                 break;
+-            }
+-            for (s = e_source_group_peek_sources (E_SOURCE_GROUP (g->data)); s; s = s->next)
+-            {
+-                ESource *pSource = E_SOURCE (s->data);
+-
+-                OUString aName = OStringToOUString( e_source_peek_name( pSource ),
+-                                                              RTL_TEXTENCODING_UTF8 );
+-
+-                ODatabaseMetaDataResultSet::ORow aRow{
+-                    ORowSetValueDecoratorRef(),
+-                    ORowSetValueDecoratorRef(),
+-                    ORowSetValueDecoratorRef(),
+-                    new ORowSetValueDecorator(aName),
+-                    new ORowSetValueDecorator(aTable),
+-                    ODatabaseMetaDataResultSet::getEmptyValue()};
+-                aRows.push_back(aRow);
+-            }
+         }
++        if (!can)
++            continue;
++
++        OUString aHumanName = OStringToOUString( e_source_get_display_name( pSource ),
++                                                      RTL_TEXTENCODING_UTF8 );
++        OUString aUID = OStringToOUString( e_source_get_uid( pSource ),
++                                                      RTL_TEXTENCODING_UTF8 );
++        ODatabaseMetaDataResultSet::ORow aRow{
++            ORowSetValueDecoratorRef(),
++            ORowSetValueDecoratorRef(),
++            ORowSetValueDecoratorRef(),
++            new ORowSetValueDecorator(aHumanName), //tablename
++            new ORowSetValueDecorator(ORowSetValue(aTable)),
++            new ORowSetValueDecorator(aUID)}; //comment
++        //I'd prefer to swap the comment and the human name and
++        //just use e_source_registry_ref_source(get_e_source_registry(), aUID);
++        //in open book rather than search for the name again
++        aRows.push_back(aRow);
+     }
+ 
++    g_list_foreach (pSources, reinterpret_cast<GFunc>(g_object_unref), nullptr);
++    g_list_free (pSources);
++
+     pResult->setRows(aRows);
+ 
+     return xRef;
+diff --git a/connectivity/source/drivers/evoab2/NResultSet.cxx b/connectivity/source/drivers/evoab2/NResultSet.cxx
+index 77d53939c1aa..2e15f245b8c8 100644
+--- a/connectivity/source/drivers/evoab2/NResultSet.cxx
++++ b/connectivity/source/drivers/evoab2/NResultSet.cxx
+@@ -477,123 +477,7 @@ class OEvoabVersion38Helper : public OEvoabVersion36Helper
+ protected:
+     virtual EBookClient * createClient( ESource *pSource ) override
+     {
+-        return e_book_client_connect_direct_sync (get_e_source_registry (), pSource, nullptr, nullptr);
+-    }
+-};
+-
+-ESource * findSource( const char *id )
+-{
+-    ESourceList *pSourceList = nullptr;
+-
+-    g_return_val_if_fail (id != nullptr, nullptr);
+-
+-    if (!e_book_get_addressbooks (&pSourceList, nullptr))
+-        pSourceList = nullptr;
+-
+-    for ( GSList *g = e_source_list_peek_groups (pSourceList); g; g = g->next)
+-    {
+-        for (GSList *s = e_source_group_peek_sources (E_SOURCE_GROUP (g->data)); s; s = s->next)
+-        {
+-            ESource *pSource = E_SOURCE (s->data);
+-            if (!strcmp (e_source_peek_name (pSource), id))
+-                return pSource;
+-        }
+-    }
+-    return nullptr;
+-}
+-
+-bool isAuthRequired( EBook *pBook )
+-{
+-    return e_source_get_property( e_book_get_source( pBook ),
+-                                  "auth" ) != nullptr;
+-}
+-
+-class OEvoabVersion35Helper : public OEvoabVersionHelper
+-{
+-private:
+-    GList *m_pContacts;
+-
+-public:
+-    OEvoabVersion35Helper()
+-        : m_pContacts(nullptr)
+-    {
+-    }
+-
+-    virtual ~OEvoabVersion35Helper() override
+-    {
+-        freeContacts();
+-    }
+-
+-    virtual EBook* openBook(const char *abname) override
+-    {
+-        ESource *pSource = findSource (abname);
+-        EBook *pBook = pSource ? e_book_new (pSource, nullptr) : nullptr;
+-        if (pBook && !e_book_open (pBook, true, nullptr))
+-        {
+-            g_object_unref (G_OBJECT (pBook));
+-            pBook = nullptr;
+-        }
+-        return pBook;
+-    }
+-
+-    virtual bool isLDAP( EBook *pBook ) override
+-    {
+-        return pBook && !strncmp( "ldap://";, e_book_get_uri( pBook ), 6 );
+-    }
+-
+-    virtual bool isLocal( EBook *pBook ) override
+-    {
+-        return pBook && ( !strncmp( "file://", e_book_get_uri( pBook ), 6 ) ||
+-                          !strncmp( "local:", e_book_get_uri( pBook ), 6 ) );
+-    }
+-
+-    virtual void freeContacts() override final
+-    {
+-        g_list_free(m_pContacts);
+-        m_pContacts = nullptr;
+-    }
+-
+-    virtual void executeQuery (EBook* pBook, EBookQuery* pQuery, OString &rPassword) override
+-    {
+-        freeContacts();
+-
+-        ESource *pSource = e_book_get_source( pBook );
+-        bool bAuthSuccess = true;
+-
+-        if( isAuthRequired( pBook ) )
+-        {
+-            OString aUser( getUserName( pBook ) );
+-            const char *pAuth = e_source_get_property( pSource, "auth" );
+-            bAuthSuccess = e_book_authenticate_user( pBook, aUser.getStr(), rPassword.getStr(), pAuth, nullptr );
+-        }
+-
+-        if (bAuthSuccess)
+-            e_book_get_contacts( pBook, pQuery, &m_pContacts, nullptr );
+-    }
+-
+-    virtual EContact *getContact(sal_Int32 nIndex) override
+-    {
+-        gpointer pData = g_list_nth_data (m_pContacts, nIndex);
+-        return pData ? E_CONTACT (pData) : nullptr;
+-    }
+-
+-    virtual sal_Int32 getNumContacts() override
+-    {
+-        return g_list_length( m_pContacts );
+-    }
+-
+-    virtual bool hasContacts() override
+-    {
+-        return m_pContacts != nullptr;
+-    }
+-
+-    virtual void sortContacts( const ComparisonData& _rCompData ) override
+-    {
+-        OSL_ENSURE( !_rCompData.rSortOrder.empty(), "sortContacts: no need to call this without any sort order!" );
+-        ENSURE_OR_THROW( _rCompData.aIntlWrapper.getCaseCollator(), "no collator for comparing strings" );
+-
+-        m_pContacts = g_list_sort_with_data( m_pContacts, &CompareContacts,
+-            const_cast< gpointer >( static_cast< gconstpointer >( &_rCompData ) ) );
++        return e_book_client_connect_direct_sync (get_e_source_registry (), pSource, 10, nullptr, nullptr);
+     }
+ };
+ 
+@@ -612,12 +496,7 @@ OEvoabResultSet::OEvoabResultSet( OCommonStatement* pStmt, OEvoabConnection *pCo
+     ,m_nIndex(-1)
+     ,m_nLength(0)
+ {
+-    if (eds_check_version( 3, 7, 6 ) == nullptr)
+-        m_pVersionHelper  = std::make_unique<OEvoabVersion38Helper>();
+-    else if (eds_check_version( 3, 6, 0 ) == nullptr)
+-        m_pVersionHelper  = std::make_unique<OEvoabVersion36Helper>();
+-    else
+-        m_pVersionHelper  = std::make_unique<OEvoabVersion35Helper>();
++    m_pVersionHelper  = std::make_unique<OEvoabVersion38Helper>();
+ 
+     #define REGISTER_PROP( id, member ) \
+         registerProperty( \
diff --git a/patches/hrk-euro.diff b/patches/hrk-euro.diff
new file mode 100644
index 00000000..b4fbe69a
--- /dev/null
+++ b/patches/hrk-euro.diff
@@ -0,0 +1,156 @@
+From 7c4b2db21ef77b37daf234ac1ab9989234606a22 Mon Sep 17 00:00:00 2001
+From: Eike Rathke <erack@redhat.com>
+Date: Fri, 22 Jul 2022 22:12:02 +0200
+Subject: Resolves: tdf#150011 Add HRK Croatian Kuna conversion to EUR Euro
+
+TODO: switch defaults before 2023-01-01 in
+i18npool/source/localedata/data/hr_HR.xml
+
+Change-Id: Ifc62aefbc8c9fe8bbf044f61ae4fd6eeff692185
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137371
+Reviewed-by: Eike Rathke <erack@redhat.com>
+Tested-by: Jenkins
+---
+ i18npool/source/localedata/data/hr_HR.xml              |  8 ++++++++
+ officecfg/registry/data/org/openoffice/Office/Calc.xcu | 11 +++++++++++
+ sc/source/core/tool/interpr2.cxx                       |  3 ++-
+ 3 files changed, 21 insertions(+), 1 deletion(-)
+
+diff --git a/i18npool/source/localedata/data/hr_HR.xml b/i18npool/source/localedata/data/hr_HR.xml
+index 0c493131e16b..4de83e5535cd 100644
+--- a/i18npool/source/localedata/data/hr_HR.xml
++++ b/i18npool/source/localedata/data/hr_HR.xml
+@@ -421,6 +421,14 @@
+       <CurrencyName>Hrvatska Kuna</CurrencyName>
+       <DecimalPlaces>2</DecimalPlaces>
+     </Currency>
++    <!-- TODO: switch defaults before 2023-01-01 -->
++    <Currency default="false" usedInCompatibleFormatCodes="false">
++      <CurrencyID>EUR</CurrencyID>
++      <CurrencySymbol>€</CurrencySymbol>
++      <BankSymbol>EUR</BankSymbol>
++      <CurrencyName>Euro</CurrencyName>
++      <DecimalPlaces>2</DecimalPlaces>
++    </Currency>
+   </LC_CURRENCY>
+   <LC_TRANSLITERATION>
+     <Transliteration unoid="SENTENCE_CASE"/>
+diff --git a/officecfg/registry/data/org/openoffice/Office/Calc.xcu b/officecfg/registry/data/org/openoffice/Office/Calc.xcu
+index a62d06512704..eda60fe6c434 100644
+--- a/officecfg/registry/data/org/openoffice/Office/Calc.xcu
++++ b/officecfg/registry/data/org/openoffice/Office/Calc.xcu
+@@ -228,6 +228,17 @@
+         <value>3.45280</value>
+       </prop>
+     </node>
++    <node oor:name="CR20" oor:op="replace">
++      <prop oor:name="FromUnit">
++        <value>EUR</value>
++      </prop>
++      <prop oor:name="ToUnit">
++        <value>HRK</value>
++      </prop>
++      <prop oor:name="Factor">
++        <value>7.53450</value>
++      </prop>
++    </node>
+   </node>
+   <node oor:name="Calculate">
+     <node oor:name="Other">
+diff --git a/sc/source/core/tool/interpr2.cxx b/sc/source/core/tool/interpr2.cxx
+index 31c42a4b728a..67fcd9f787f8 100644
+--- a/sc/source/core/tool/interpr2.cxx
++++ b/sc/source/core/tool/interpr2.cxx
+@@ -3235,7 +3235,8 @@ static bool lclConvertMoney( const OUString& aSearchUnit, double& rfRate, int& r
+         { "SKK", 30.1260,  2 },
+         { "EEK", 15.6466,  2 },
+         { "LVL", 0.702804, 2 },
+-        { "LTL", 3.45280,  2 }
++        { "LTL", 3.45280,  2 },
++        { "HRK", 7.53450,  2 }
+     };
+ 
+     for (const auto & i : aConvertTable)
+-- 
+cgit v1.2.1
+
+From b1a2f727ca99ecd3402d4b051b99cbfd24266e59 Mon Sep 17 00:00:00 2001
+From: Eike Rathke <erack@redhat.com>
+Date: Fri, 22 Jul 2022 22:17:11 +0200
+Subject: Related: tdf#150011 Add HRK Croatian Kuna to Euro conversion wizard
+
+Maybe just for completeness, it's removed from menu but might be
+callable as macro.
+
+Change-Id: Iade0be845186d3deb2f00f4aaa230c0b344cea72
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137372
+Reviewed-by: Eike Rathke <erack@redhat.com>
+Tested-by: Jenkins
+---
+ wizards/source/euro/Init.xba                        | 16 ++++++++++++++++
+ wizards/source/resources/resources_en_US.properties |  1 +
+ 2 files changed, 17 insertions(+)
+
+diff --git a/wizards/source/euro/Init.xba b/wizards/source/euro/Init.xba
+index 623a0a53be46..9f56c503a347 100644
+--- a/wizards/source/euro/Init.xba
++++ b/wizards/source/euro/Init.xba
+@@ -89,6 +89,7 @@ Public sCurrSLOVAK as String
+ Public sCurrESTONIAN as String
+ Public sCurrLATVIAN as String
+ Public sCurrLITHUANIAN as String
++Public sCurrCROATIAN as String
+ 
+ Public sPrgsRETRIEVAL as String
+ Public sPrgsCONVERTING as String
+@@ -214,6 +215,7 @@ Dim LocWorkPath as String
+ 		sCurrESTONIAN = GetResText(&quot;CURRENCIES_16&quot;)
+ 		sCurrLATVIAN = GetResText(&quot;CURRENCIES_17&quot;)
+ 		sCurrLITHUANIAN = GetResText(&quot;CURRENCIES_18&quot;)
++		sCurrCROATIAN = GetResText(&quot;CURRENCIES_19&quot;)
+ 		.cmdCancel.Label =  sCANCEL
+ 		.cmdHelp.Label =  sHELP
+ 		.cmdBack.Label =  GetResText(&quot;STEP_ZERO_2&quot;)
+@@ -393,6 +395,11 @@ Sub InitializeLanguages()
+     LangIDValue(18,0,1) = &quot;LT&quot;
+     LangIDValue(18,0,2) = &quot;-427&quot;
+ 
++&apos; CURRENCIES_CROATIAN
++    LangIDValue(19,0,0) = &quot;hr&quot;
++    LangIDValue(19,0,1) = &quot;HR&quot;
++    LangIDValue(19,0,2) = &quot;-41A&quot;
++
+ End Sub
+ 
+ 
+@@ -572,6 +579,15 @@ Dim i as Integer
+ 	CurrValue(18,4) = &quot;Lt&quot;
+ 	CurrValue(18,5) = &quot;LTL&quot;
+ 
++	CurrValue(19,0) = sCurrCROATIAN
++	&apos; real conversion rate
++	CurrValue(19,1) = 7.53450
++	&apos; rounded conversion rate
++	CurrValue(19,2) = 7.5
++	CurrValue(19,3) = &quot;kn&quot;
++	CurrValue(19,4) = &quot;kn&quot;
++	CurrValue(19,5) = &quot;HRK&quot;
++
+ 	i = -1
+ 	CurrSymbolList(0) = &quot;&quot;
+ 	CurrSymbolList(1) = &quot;&quot;
+diff --git a/wizards/source/resources/resources_en_US.properties b/wizards/source/resources/resources_en_US.properties
+index 32f9104e97e0..8649b2500e6a 100644
+--- a/wizards/source/resources/resources_en_US.properties
++++ b/wizards/source/resources/resources_en_US.properties
+@@ -448,6 +448,7 @@ CURRENCIES_15=Slovak Koruna
+ CURRENCIES_16=Estonian Kroon
+ CURRENCIES_17=Latvian Lats
+ CURRENCIES_18=Lithuanian Litas
++CURRENCIES_19=Croatian Kuna
+ STEP_LASTPAGE_0=Progress
+ STEP_LASTPAGE_1=Retrieving the relevant documents...
+ STEP_LASTPAGE_2=Converting the documents...
+-- 
+cgit v1.2.1
+
diff --git a/patches/series b/patches/series
index d7c5a79c..49c11aa3 100644
--- a/patches/series
+++ b/patches/series
@@ -56,3 +56,5 @@ xmlsecurity-XSecParser-confused-about-multiple-timestamps.diff
 xmlsecurity-ignore-elements-in-ds:Object-that-arent-signed.diff
 default-to-CertificateValidity::INVALID.diff
 xmlsecurity-improve-handling-of-multiple-X509Data-elements.diff
+fix-e_book_client_connect_direct_sync-sig.diff
+hrk-euro.diff

--- End Message ---
--- Begin Message ---
Package: release.debian.org
Version: 11.5

Hi,

The updates referred to in each of these bugs were included in today's
11.5 point release.

Regards,

Adam

--- End Message ---

Reply to: