From 3a92907067c8a2e9afa08faca20f6ba01ff10434 Mon Sep 17 00:00:00 2001 From: Germano Massullo Date: Sun, 4 Jun 2017 01:01:30 +0200 Subject: [PATCH] 2.3.2 release --- .gitignore | 3 + nextcloud-client-2.2.4-appshortname.patch | 8 -- ...ch => nextcloud-client-2.3.3-syslibs.patch | 33 ++++---- nextcloud-client-icon.patch | 83 ++++++++++++------- nextcloud-client.spec | 44 ++++------ openssl.patch | 34 -------- sources | 4 +- 7 files changed, 93 insertions(+), 116 deletions(-) delete mode 100644 nextcloud-client-2.2.4-appshortname.patch rename nextcloud-client-2.2.4-syslibs.patch => nextcloud-client-2.3.3-syslibs.patch (67%) delete mode 100644 openssl.patch diff --git a/.gitignore b/.gitignore index 339456f..b67d5da 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ /v2.2.4.tar.gz /nextcloud-client-2.2.4.tar.bz2 /owncloudclient-2.2.4.tar.xz +/v2.3.1.tar.gz +/client-2.3.2.tar.gz +/owncloudclient-2.3.2.tar.xz diff --git a/nextcloud-client-2.2.4-appshortname.patch b/nextcloud-client-2.2.4-appshortname.patch deleted file mode 100644 index 9987f23..0000000 --- a/nextcloud-client-2.2.4-appshortname.patch +++ /dev/null @@ -1,8 +0,0 @@ ---- a/nextcloudtheme/OEM.cmake 2016-10-21 12:28:33.743901021 +0200 -+++ b/nextcloudtheme/OEM.cmake 2016-10-21 12:28:44.908002183 +0200 -@@ -1,4 +1,5 @@ - set( APPLICATION_NAME "Nextcloud" ) -+set( APPLICATION_SHORTNAME "Nextcloud" ) - set( APPLICATION_EXECUTABLE "nextcloud" ) - set( APPLICATION_DOMAIN "nextcloud.com" ) - set( APPLICATION_VENDOR "Nextcloud GmbH" ) diff --git a/nextcloud-client-2.2.4-syslibs.patch b/nextcloud-client-2.3.3-syslibs.patch similarity index 67% rename from nextcloud-client-2.2.4-syslibs.patch rename to nextcloud-client-2.3.3-syslibs.patch index 00f8cbc..6e5bd8a 100644 --- a/nextcloud-client-2.2.4-syslibs.patch +++ b/nextcloud-client-2.3.3-syslibs.patch @@ -1,6 +1,6 @@ -diff -urNr client-orig/src/3rdparty/qtsingleapplication/qtlocalpeer.h client/src/3rdparty/qtsingleapplication/qtlocalpeer.h ---- client-orig/src/3rdparty/qtsingleapplication/qtlocalpeer.h 2016-09-27 10:53:37.000000000 +0200 -+++ client/src/3rdparty/qtsingleapplication/qtlocalpeer.h 2016-10-11 07:58:58.953393364 +0200 +diff -urNr client-2.3.0-orig/src/3rdparty/qtsingleapplication/qtlocalpeer.h client-2.3.0/src/3rdparty/qtsingleapplication/qtlocalpeer.h +--- client-2.3.0-orig/src/3rdparty/qtsingleapplication/qtlocalpeer.h 2016-09-27 10:53:37.000000000 +0200 ++++ client-2.3.0/src/3rdparty/qtsingleapplication/qtlocalpeer.h 2016-10-11 07:58:58.953393364 +0200 @@ -27,7 +27,7 @@ ** ****************************************************************************/ @@ -10,9 +10,9 @@ diff -urNr client-orig/src/3rdparty/qtsingleapplication/qtlocalpeer.h client/src #include #include -diff -urNr client-orig/src/gui/application.cpp client/src/gui/application.cpp ---- client-orig/src/gui/application.cpp 2016-09-27 10:53:37.000000000 +0200 -+++ client/src/gui/application.cpp 2016-10-11 08:00:25.875964871 +0200 +diff -urNr client-2.3.0-orig/src/gui/application.cpp client-2.3.0/src/gui/application.cpp +--- client-2.3.0-orig/src/gui/application.cpp 2016-09-27 10:53:37.000000000 +0200 ++++ client-2.3.0/src/gui/application.cpp 2016-10-11 08:00:25.875964871 +0200 @@ -92,7 +92,7 @@ // ---------------------------------------------------------------------------------- @@ -22,9 +22,9 @@ diff -urNr client-orig/src/gui/application.cpp client/src/gui/application.cpp _gui(0), _theme(Theme::instance()), _helpOnly(false), -diff -urNr client-orig/src/gui/application.h client/src/gui/application.h ---- client-orig/src/gui/application.h 2016-09-27 10:53:37.000000000 +0200 -+++ client/src/gui/application.h 2016-10-11 08:01:58.240768785 +0200 +diff -urNr client-2.3.0-orig/src/gui/application.h client-2.3.0/src/gui/application.h +--- client-2.3.0-orig/src/gui/application.h 2016-09-27 10:53:37.000000000 +0200 ++++ client-2.3.0/src/gui/application.h 2016-10-11 08:01:58.240768785 +0200 @@ -22,7 +22,7 @@ #include #include @@ -43,10 +43,10 @@ diff -urNr client-orig/src/gui/application.h client/src/gui/application.h { Q_OBJECT public: -diff -urNr client-orig/src/gui/CMakeLists.txt client/src/gui/CMakeLists.txt ---- client-orig/src/gui/CMakeLists.txt 2016-09-27 10:53:37.000000000 +0200 -+++ client/src/gui/CMakeLists.txt 2016-10-11 08:05:03.906753374 +0200 -@@ -143,10 +143,6 @@ +diff -urNr client-2.3.0-orig/src/gui/CMakeLists.txt client-2.3.0/src/gui/CMakeLists.txt +--- client-2.3.0-orig/src/gui/CMakeLists.txt 2016-09-27 10:53:37.000000000 +0200 ++++ client-2.3.0/src/gui/CMakeLists.txt 2016-10-11 08:05:03.906753374 +0200 +@@ -147,10 +147,6 @@ set(3rdparty_SRC ../3rdparty/QProgressIndicator/QProgressIndicator.cpp @@ -54,10 +54,10 @@ diff -urNr client-orig/src/gui/CMakeLists.txt client/src/gui/CMakeLists.txt - ../3rdparty/qtsingleapplication/qtlocalpeer.cpp - ../3rdparty/qtsingleapplication/qtsingleapplication.cpp - ../3rdparty/qtsingleapplication/qtsinglecoreapplication.cpp - ../3rdparty/certificates/p12topem.cpp ) -@@ -158,18 +154,10 @@ + if (APPLE) +@@ -161,18 +157,10 @@ ) endif() @@ -76,7 +76,7 @@ diff -urNr client-orig/src/gui/CMakeLists.txt client/src/gui/CMakeLists.txt ) include_directories(${3rdparty_INC}) -@@ -288,6 +276,8 @@ +@@ -298,6 +286,8 @@ target_link_libraries( ${APPLICATION_EXECUTABLE} ${QT_LIBRARIES} ) target_link_libraries( ${APPLICATION_EXECUTABLE} ${synclib_NAME} ) target_link_libraries( ${APPLICATION_EXECUTABLE} updater ) @@ -85,3 +85,4 @@ diff -urNr client-orig/src/gui/CMakeLists.txt client/src/gui/CMakeLists.txt target_link_libraries( ${APPLICATION_EXECUTABLE} ${OS_SPECIFIC_LINK_LIBRARIES} ) if(WITH_CRASHREPORTER) + diff --git a/nextcloud-client-icon.patch b/nextcloud-client-icon.patch index a6441e8..698a194 100644 --- a/nextcloud-client-icon.patch +++ b/nextcloud-client-icon.patch @@ -1,5 +1,15 @@ ---- a/client/mirall.desktop.in 2017-01-02 10:30:07.297894313 +0100 -+++ b/client/mirall.desktop.in 2017-01-02 12:26:57.519301433 +0100 +--- a/nextcloudtheme/OEM.cmake 2017-03-23 13:03:41.000000000 +0100 ++++ b/nextcloudtheme/OEM.cmake 2017-06-04 00:46:37.252751322 +0200 +@@ -1,6 +1,7 @@ + set( APPLICATION_NAME "Nextcloud" ) + set( APPLICATION_SHORTNAME "Nextcloud" ) + set( APPLICATION_EXECUTABLE "nextcloud" ) ++set( APPLICATION_ICON "Nextcloud" ) + set( APPLICATION_DOMAIN "nextcloud.com" ) + set( APPLICATION_VENDOR "Nextcloud GmbH" ) + set( APPLICATION_UPDATE_URL "https://updates.nextcloud.org/client/" CACHE string "URL for updater" ) +--- a/client/mirall.desktop.in 2017-05-08 15:53:10.000000000 +0200 ++++ b/client/mirall.desktop.in 2017-06-04 00:48:28.077376815 +0200 @@ -5,7 +5,7 @@ Name=@APPLICATION_NAME@ desktop sync client Comment=@APPLICATION_NAME@ desktop synchronization client @@ -9,7 +19,7 @@ Keywords=@APPLICATION_NAME@;syncing;file;sharing; X-GNOME-Autostart-Delay=3 -@@ -356,92 +356,92 @@ +@@ -962,168 +962,168 @@ Comment[oc]=@APPLICATION_NAME@ sincronizacion del client GenericName[oc]=Dorsièr de Sincronizacion Name[oc]=@APPLICATION_NAME@ sincronizacion del client @@ -20,6 +30,11 @@ Name[ar]=@APPLICATION_NAME@ زبون مزامنة مكتبي -Icon[ar]=@APPLICATION_EXECUTABLE@ +Icon[ar]=@APPLICATION_ICON@ + Comment[bg_BG]=@APPLICATION_NAME@ клиент за десктоп синхронизация + GenericName[bg_BG]=Синхронизиране на папката + Name[bg_BG]=@APPLICATION_NAME@ клиент десктоп синхронизация +-Icon[bg_BG]=@APPLICATION_EXECUTABLE@ ++Icon[bg_BG]=@APPLICATION_ICON@ Comment[ca]=Client de sincronització d'escriptori @APPLICATION_NAME@ GenericName[ca]=Sincronització de carpetes Name[ca]=Client de sincronització d'escriptori @APPLICATION_NAME@ @@ -40,7 +55,9 @@ Name[ja_JP]=@APPLICATION_NAME@ デスクトップ同期クライアント -Icon[ja_JP]=@APPLICATION_EXECUTABLE@ +Icon[ja_JP]=@APPLICATION_ICON@ + Comment[el]=@ΟΝΟΜΑ_ΕΦΑΡΜΟΓΗΣ@ συγχρονισμός επιφάνειας εργασίας πελάτη GenericName[el]=Συγχρονισμός φακέλου + Name[el]=@ΟΝΟΜΑ_ΕΦΑΡΜΟΓΗΣ@ συγχρονισμός επιφάνειας εργασίας πελάτη -Icon[el]=@APPLICATION_EXECUTABLE@ +Icon[el]=@APPLICATION_ICON@ Comment[en_GB]=@APPLICATION_NAME@ desktop synchronisation client @@ -58,14 +75,19 @@ Name[de_DE]=@APPLICATION_NAME@ Desktop-Synchronisationsclient -Icon[de_DE]=@APPLICATION_EXECUTABLE@ +Icon[de_DE]=@APPLICATION_ICON@ - Comment[pl]=@APPLICATION_NAME@ klient synchronizacji dla komputerów stacjonarnych - GenericName[pl]=Folder Synchronizacji - Name[pl]=@APPLICATION_NAME@ klient synchronizacji dla komputerów stacjonarnych --Icon[pl]=@APPLICATION_EXECUTABLE@ -+Icon[pl]=@APPLICATION_ICON@ - Comment[fr]=@APPLICATION_NAME@ synchronisation du client - GenericName[fr]=Dossier de Synchronisation - Name[fr]=@APPLICATION_NAME@ synchronisation du client + Comment[eu]=@APPLICATION_NAME@ mahaigaineko sinkronizazio bezeroa + GenericName[eu]=Karpetaren sinkronizazioa + Name[eu]=@APPLICATION_NAME@ mahaigaineko sinkronizazio bezeroa +-Icon[eu]=@APPLICATION_EXECUTABLE@ ++Icon[eu]=@APPLICATION_ICON@ + GenericName[fa]=همسان سازی پوشه‌ها +-Name[fa]=@APPLICATION_EXECUTABLE@ نسخه‌ی همسان سازی مشتری +-Icon[fa]=@APPLICATION_EXECUTABLE@ ++Name[fa]=@APPLICATION_ICON@ نسخه‌ی همسان سازی مشتری ++Icon[fa]=@APPLICATION_ICON@ + Comment[fr]=Synchronisez vos dossiers avec un serveur @APPLICATION_NAME@ + GenericName[fr]=Synchronisation de dossier + Name[fr]=Client de synchronisation @APPLICATION_NAME@ -Icon[fr]=@APPLICATION_EXECUTABLE@ +Icon[fr]=@APPLICATION_ICON@ Comment[he]=@APPLICATION_NAME@ לקוח סנכון שולחן עבודה @@ -73,6 +95,11 @@ Name[he]=@APPLICATION_NAME@ לקוח סנכרון שולחן עבודה -Icon[he]=@APPLICATION_EXECUTABLE@ +Icon[he]=@APPLICATION_ICON@ + Comment[ia]=@APPLICATION_NAME@ cliente de synchronisation pro scriptorio + GenericName[ia]=Synchronisar Dossier + Name[ia]=@APPLICATION_NAME@ cliente de synchronisation pro scriptorio +-Icon[ia]=@APPLICATION_EXECUTABLE@ ++Icon[ia]=@APPLICATION_ICON@ Comment[id]=Klien sinkronisasi desktop @APPLICATION_NAME@ GenericName[id]=Folder Sync Name[id]=Klien sync desktop @APPLICATION_NAME@ @@ -106,11 +133,11 @@ Name[et_EE]=@APPLICATION_NAME@ sünkroonimise klient töölauale -Icon[et_EE]=@APPLICATION_EXECUTABLE@ +Icon[et_EE]=@APPLICATION_ICON@ - Comment[bg_BG]=@APPLICATION_NAME@ клиент за десктоп синхронизация - GenericName[bg_BG]=Синхронизиране на папката - Name[bg_BG]=@APPLICATION_NAME@ клиент десктоп синхронизация --Icon[bg_BG]=@APPLICATION_EXECUTABLE@ -+Icon[bg_BG]=@APPLICATION_ICON@ + Comment[pl]=@APPLICATION_NAME@ klient synchronizacji dla komputerów stacjonarnych + GenericName[pl]=Folder Synchronizacji + Name[pl]=@APPLICATION_NAME@ klient synchronizacji dla komputerów stacjonarnych +-Icon[pl]=@APPLICATION_EXECUTABLE@ ++Icon[pl]=@APPLICATION_ICON@ Comment[pt_BR]=@APPLICATION_NAME@ cliente de sincronização do computador GenericName[pt_BR]=Sincronização de Pasta Name[pt_BR]=@APPLICATION_NAME@ cliente de sincronização de desktop @@ -121,10 +148,11 @@ Name[cs_CZ]=@APPLICATION_NAME@ počítačový synchronizační klient -Icon[cs_CZ]=@APPLICATION_EXECUTABLE@ +Icon[cs_CZ]=@APPLICATION_ICON@ - Comment[ru]=Настольный клиент синхронизации @НАЗВАНИЕ_ПРИЛОЖЕНИЯ@ - GenericName[ru]=Синхронизация папки - Name[ru]=Настольный клиент синхронизации @НАЗВАНИЕ_ПРИЛОЖЕНИЯ@ -@@ -449,58 +449,58 @@ + Comment[ru]=Настольный клиент синхронизации @APPLICATION_NAME@ + GenericName[ru]=Синхронизация каталогов + Name[ru]=Настольный клиент синхронизации @APPLICATION_NAME@ +-Icon[ru]=@APPLICATION_EXECUTABLE@ ++Icon[ru]=@APPLICATION_ICON@ Comment[sl]=@APPLICATION_NAME@ ‒ Program za usklajevanje datotek z namizjem GenericName[sl]=Usklajevanje map Name[sl]=@APPLICATION_NAME@ ‒ Program za usklajevanje datotek z namizjem @@ -176,6 +204,11 @@ Name[th_TH]= @APPLICATION_NAME@ ไคลเอนต์ประสานข้อมูลเดสก์ท็อป -Icon[th_TH]=@APPLICATION_EXECUTABLE@ +Icon[th_TH]=@APPLICATION_ICON@ + Comment[es_MX]=Cliente de escritorio para sincronziación de @APPLICATION_NAME@ + GenericName[es_MX]=Sincronización de Carpetas + Name[es_MX]=Cliente de escritorio para sincronziación de @APPLICATION_NAME@ +-Icon[es_MX]=@APPLICATION_EXECUTABLE@ ++Icon[es_MX]=@APPLICATION_ICON@ Comment[nb_NO]=@APPLICATION_NAME@ skrivebordssynkroniseringsklient GenericName[nb_NO]=Mappesynkronisering Name[nb_NO]=@APPLICATION_NAME@ skrivebordssynkroniseringsklient @@ -198,13 +231,3 @@ Name[lb]=@APPLICATION_NAME@ Desktop Sync Client -Icon[lb]=@APPLICATION_EXECUTABLE@ +Icon[lb]=@APPLICATION_ICON@ ---- a/nextcloudtheme/OEM.cmake 2017-01-02 10:32:15.456135814 +0100 -+++ b/nextcloudtheme/OEM.cmake 2017-01-02 10:32:53.227617781 +0100 -@@ -1,6 +1,7 @@ - set( APPLICATION_NAME "Nextcloud" ) - set( APPLICATION_SHORTNAME "Nextcloud" ) - set( APPLICATION_EXECUTABLE "nextcloud" ) -+set( APPLICATION_ICON "Nextcloud" ) - set( APPLICATION_DOMAIN "nextcloud.com" ) - set( APPLICATION_VENDOR "Nextcloud GmbH" ) - set( APPLICATION_UPDATE_URL "https://updates.nextcloud.org/client/" CACHE string "URL for updater" ) diff --git a/nextcloud-client.spec b/nextcloud-client.spec index 20cdec2..207310a 100644 --- a/nextcloud-client.spec +++ b/nextcloud-client.spec @@ -1,27 +1,21 @@ %global _hardened_build 1 Name: nextcloud-client -Version: 2.2.4 -Release: 10%{?dist} +Version: 2.3.2 +Release: 1%{?dist} Summary: The Nextcloud Client # -libs are LGPLv2+, rest GPLv2 License: LGPLv2+ and GPLv2 Url: https://nextcloud.com/install/#install-clients -Source0: https://github.com/nextcloud/client_theming/archive/v%{version}.tar.gz +##Source0: https://github.com/nextcloud/client_theming/archive/v%{version}.tar.gz +# 2.3.2 Nextcloud theme not yet available +Source0: https://github.com/nextcloud/client_theming/archive/v2.3.1.tar.gz Source1: https://download.owncloud.com/desktop/stable/owncloudclient-%{version}.tar.xz Source2: nextcloud.appdata.xml Patch0: %{name}-%{version}-syslibs.patch -# backport of https://github.com/owncloud/client/pull/5294 -# Fedora Rawhide 26 ships OpenSSL 1.1.0 that no longer permits to call the old -# SSLeay_add_all_algorithms() that has been replaced with -# OpenSSL_add_all_algorithms() since OpenSSL version 0.9.5. -# I solved by adding a macro that calls: -# -SSLeay_add_all_algorithms() if the system uses OpenSSL <= 0.9.4 -# -OpenSSL_add_all_algorithms() if the system uses OpenSSL > 0.9.4 -Patch1: %{name}-%{version}-appshortname.patch -Patch2: openssl.patch -Patch3: %{name}-icon.patch +## patch 1 solves https://bugzilla.redhat.com/show_bug.cgi?id=1409252 +Patch1: %{name}-icon.patch BuildRequires: check BuildRequires: cmake @@ -127,18 +121,17 @@ The nextcloud desktop client dolphin extension. %endif %prep -%setup -q -n client_theming-%{version} -%setup -T -D -a 1 -n client_theming-%{version} +# 2.3.2 Nextcloud theme not yet available +%setup -q -n client_theming-2.3.1 +%setup -T -D -a 1 -n client_theming-2.3.1 +##%setup -q -n client_theming-%{version} +##%setup -T -D -a 1 -n client_theming-%{version} rm -Rf client mv owncloudclient-%{version} client cd client %patch0 -p1 cd - %patch1 -p1 -cd client -%patch2 -p1 -cd - -%patch3 -p1 rm -rf src/3rdparty/qtlockedfile src/3rdparty/qtsingleapplication @@ -158,14 +151,8 @@ popd mkdir -p %{buildroot}%{_datadir}/appdata/ install -m 644 %{SOURCE2} %{buildroot}%{_datadir}/appdata/nextcloud.appdata.xml -%if 0%{?fedora} >= 24 || 0%{?rhel} > 7 -# Make a Caja extension from a Nemo's one. -# https://github.com/owncloud/client/pull/5262 -install -Dpm 0644 %{buildroot}%{_datadir}/{nemo,caja}-python/extensions/syncstate.py -sed -i 's/nautilus/caja/g;s/Nautilus/Caja/g' \ - %{buildroot}%{_datadir}/caja-python/extensions/syncstate.py -%endif +# for distros that do not have KDE Plasma 5 %if 0%{?fedora} < 24 && 0%{?rhel} <= 7 rm -f %{buildroot}%{_libdir}/libnextclouddolphinpluginhelper.so rm -f %{buildroot}%{_kf5_plugindir}/overlayicon/nextclouddolphinoverlayplugin.so @@ -238,6 +225,11 @@ fi %endif %changelog +* Sat Jun 03 2017 Germano Massullo - 2.3.2-1 +- Removed no longer necessary OpenSSL patch +- 2.3.2 release +- Remove caja extension hack. Included in upstream + * Mon May 15 2017 Fedora Release Engineering - 2.2.4-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild diff --git a/openssl.patch b/openssl.patch deleted file mode 100644 index f46cd85..0000000 --- a/openssl.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff -urNr owncloudclient-2.2.4.orig/src/3rdparty/certificates/p12topem.cpp owncloudclient-2.2.4/src/3rdparty/certificates/p12topem.cpp ---- owncloudclient-2.2.4.orig/src/3rdparty/certificates/p12topem.cpp 2016-09-27 10:53:37.000000000 +0200 -+++ owncloudclient-2.2.4/src/3rdparty/certificates/p12topem.cpp 2016-11-02 19:30:24.104679798 +0100 -@@ -65,7 +65,7 @@ - ret.PrivateKey = ""; - ret.Certificate = ""; - -- SSLeay_add_all_algorithms(); -+ ADD_ALL_ALGORITHMS(); - ERR_load_crypto_strings(); - if(!(fp = fopen(p12File.c_str(), "rb"))) { - ret.ErrorCode = 1; -diff -urNr owncloudclient-2.2.4.orig/src/3rdparty/certificates/p12topem.h owncloudclient-2.2.4/src/3rdparty/certificates/p12topem.h ---- owncloudclient-2.2.4.orig/src/3rdparty/certificates/p12topem.h 2016-09-27 10:53:37.000000000 +0200 -+++ owncloudclient-2.2.4/src/3rdparty/certificates/p12topem.h 2016-11-02 19:29:08.563079631 +0100 -@@ -29,6 +29,13 @@ - #include - #include - #include -+#include -+ -+#if OPENSSL_VERSION_NUMBER <= 0x0090400f -+# define ADD_ALL_ALGORITHMS() SSLeay_add_all_algorithms() -+#else -+# define ADD_ALL_ALGORITHMS() OpenSSL_add_all_algorithms() -+#endif - - using namespace std; - -@@ -59,4 +66,3 @@ - resultP12ToPem p12ToPem(string p12File, string p12Passwd); - - #endif /* P12TOPEM_H */ -- diff --git a/sources b/sources index bca9844..3e39cc2 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -6d612c661f90e5ce1e0791520ecd6df3 v2.2.4.tar.gz -f34b204a07769d3e7f597913752d37f9 owncloudclient-2.2.4.tar.xz +SHA512 (owncloudclient-2.3.2.tar.xz) = 8abe071c28b365c100eb30ed91610640a25a7385f4347f5527289f4664788bda375e9618396ffa3e441c7e473da55bdaf7a5cdd99c8fd5801de78cb945fabb9c +SHA512 (v2.3.1.tar.gz) = f8210c8cc08e0bfb80e63b18af305c2a8e2309f673caca5bc748c130d960d444ab2db3fad3e43dbfffbe072748c85e15a50d0ebe1fd491dec7553ac8d9552cfe