From 646a5c1cbfd95873950a87b5f75d52073a967023 Mon Sep 17 00:00:00 2001 From: Patrick J Volkerding Date: Mon, 28 May 2018 19:12:29 +0000 Subject: Mon May 28 19:12:29 UTC 2018 a/pkgtools-15.0-noarch-13.txz: Rebuilt. installpkg: default line length for --terselength is the number of columns. removepkg: added --terse mode. upgradepkg: default line length for --terselength is the number of columns. upgradepkg: accept -option in addition to --option. ap/vim-8.1.0026-x86_64-1.txz: Upgraded. d/bison-3.0.5-x86_64-1.txz: Upgraded. e/emacs-26.1-x86_64-1.txz: Upgraded. kde/kopete-4.14.3-x86_64-8.txz: Rebuilt. Recompiled against libidn-1.35. n/conntrack-tools-1.4.5-x86_64-1.txz: Upgraded. n/libnetfilter_conntrack-1.0.7-x86_64-1.txz: Upgraded. n/libnftnl-1.1.0-x86_64-1.txz: Upgraded. n/links-2.16-x86_64-2.txz: Rebuilt. Rebuilt to enable X driver for -g mode. n/lynx-2.8.9dev.19-x86_64-1.txz: Upgraded. n/nftables-0.8.5-x86_64-1.txz: Upgraded. n/p11-kit-0.23.11-x86_64-1.txz: Upgraded. n/ulogd-2.0.7-x86_64-1.txz: Upgraded. n/whois-5.3.1-x86_64-1.txz: Upgraded. xap/network-manager-applet-1.8.12-x86_64-1.txz: Upgraded. xap/vim-gvim-8.1.0026-x86_64-1.txz: Upgraded. --- source/l/akonadi/akonadi-mariadb-10.2.patch | 65 +++++++++++++++++++++++++++++ source/l/akonadi/akonadi.SlackBuild | 20 +++++++-- source/l/akonadi/mysql-global.conf.patch | 21 ++++++++++ source/l/akonadi/slack-desc | 8 ++-- 4 files changed, 107 insertions(+), 7 deletions(-) create mode 100644 source/l/akonadi/akonadi-mariadb-10.2.patch create mode 100644 source/l/akonadi/mysql-global.conf.patch (limited to 'source/l/akonadi') diff --git a/source/l/akonadi/akonadi-mariadb-10.2.patch b/source/l/akonadi/akonadi-mariadb-10.2.patch new file mode 100644 index 000000000..99b096fb3 --- /dev/null +++ b/source/l/akonadi/akonadi-mariadb-10.2.patch @@ -0,0 +1,65 @@ +commit 22c53fa2aa97c7f0b5d7a1947821c5b3aef9de0f +Author: Heinz Wiesinger +Date: Sun Sep 17 15:55:48 2017 +0200 + + Only remove init connections to the database on server shutdown. + + With MariaDB 10.2 libmysqlclient was replaced with libmariadb that + changed how establishing database connections behaves. The MySQL + QSQL driver calls mysql_server_end() on QSqlDatabase::removeDatabase() + if the overall connection count dropped to 0 (which it does when + the init connection is removed). + A future QSqlDatabase:addDatabase() would call mysql_server_init() + again, but this no longer works with libmariadb as that one only + allows calling mysql_server_init() once. Future calls are simply + ignored. + + In order to prevent this from happening we have to keep the + init connection open until the server shuts down, so the connection + count only drops to 0 at shutdown and mysql_server_end() isn't + called before. + + This is a workaround for QTBUG-63108 + +diff --git a/server/src/akonadi.cpp b/server/src/akonadi.cpp +index 5369320c8..6d31f6ff4 100644 +--- a/server/src/akonadi.cpp ++++ b/server/src/akonadi.cpp +@@ -370,12 +370,13 @@ void AkonadiServer::createDatabase() + db.close(); + } + } +- QSqlDatabase::removeDatabase( initCon ); + } + + void AkonadiServer::stopDatabaseProcess() + { + if ( !DbConfig::configuredDatabase()->useInternalServer() ) { ++ // closing initConnection this late to work around QTBUG-63108 ++ QSqlDatabase::removeDatabase(QLatin1String("initConnection")); + return; + } + +diff --git a/server/src/storage/dbconfigmysql.cpp b/server/src/storage/dbconfigmysql.cpp +index 10f99db70..36f1f3a42 100644 +--- a/server/src/storage/dbconfigmysql.cpp ++++ b/server/src/storage/dbconfigmysql.cpp +@@ -395,8 +395,6 @@ void DbConfigMysql::startInternalServer() + db.close(); + } + } +- +- QSqlDatabase::removeDatabase( initCon ); + } + + void DbConfigMysql::stopInternalServer() +@@ -405,6 +403,9 @@ void DbConfigMysql::stopInternalServer() + return; + } + ++ // closing initConnection this late to work around QTBUG-63108 ++ QSqlDatabase::removeDatabase(QLatin1String("initConnection")); ++ + // first, try the nicest approach + if ( !mCleanServerShutdownCommand.isEmpty() ) { + QProcess::execute( mCleanServerShutdownCommand ); diff --git a/source/l/akonadi/akonadi.SlackBuild b/source/l/akonadi/akonadi.SlackBuild index 83a6b0a20..2f0fbe4db 100755 --- a/source/l/akonadi/akonadi.SlackBuild +++ b/source/l/akonadi/akonadi.SlackBuild @@ -3,7 +3,7 @@ # Slackware build script for akonadi # Copyright 2008 Robby Workman, Northport, Alabama, USA -# Copyright 2008, 2009, 2010, 2011, 2015 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2008, 2009, 2010, 2011, 2015, 2018 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -23,10 +23,11 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +cd $(dirname $0) ; CWD=$(pwd) PKGNAM=akonadi VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-2} +BUILD=${BUILD:-9} NUMJOBS=${NUMJOBS:--j7} @@ -42,6 +43,14 @@ if [ -z "$ARCH" ]; then esac fi +# If the variable PRINT_PACKAGE_NAME is set, then this script will report what +# the name of the created package would be, and then exit. This information +# could be useful to other scripts. +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz" + exit 0 +fi + if [ "$ARCH" = "i586" ]; then SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" @@ -59,7 +68,6 @@ else LIBDIRSUFFIX="" fi -CWD=$(pwd) TMP=${TMP:-/tmp} PKG=$TMP/package-$PKGNAM @@ -76,6 +84,12 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; +# Update mysql configuration +zcat $CWD/mysql-global.conf.patch.gz | patch -p1 --verbose || exit 1 + +# Work around problems with MariaDB 10.2 +zcat $CWD/akonadi-mariadb-10.2.patch.gz | patch -p1 --verbose || exit 1 + # If we do not specify the correct QT_PLUGINS_DIR, then the application # decides on using $QT4DIR/qt4/plugins instead. mkdir -p build diff --git a/source/l/akonadi/mysql-global.conf.patch b/source/l/akonadi/mysql-global.conf.patch new file mode 100644 index 000000000..24bf6ea0c --- /dev/null +++ b/source/l/akonadi/mysql-global.conf.patch @@ -0,0 +1,21 @@ +diff -r -u akonadi-1.13.0.orig/server/src/storage/mysql-global.conf akonadi-1.13.0/server/src/storage/mysql-global.conf +--- akonadi-1.13.0.orig/server/src/storage/mysql-global.conf 2014-08-10 12:38:58.000000000 +0200 ++++ akonadi-1.13.0/server/src/storage/mysql-global.conf 2017-08-31 19:43:35.000000000 +0200 +@@ -37,13 +37,13 @@ + # use InnoDB for transactions and better crash recovery + default_storage_engine=innodb + +-# memory pool InnoDB uses to store data dictionary information and other internal data structures (default:1M) +-# Deprecated in MySQL >= 5.6.3 +-innodb_additional_mem_pool_size=1M ++# memory pool InnoDB uses to store data dictionary information and other internal data structures (default:8M) ++# Deprecated in MySQL >= 5.6.3, removed in 5.7 (works in MariaDB) ++# innodb_additional_mem_pool_size=8M + + # memory buffer InnoDB uses to cache data and indexes of its tables (default:128M) + # Larger values means less I/O +-innodb_buffer_pool_size=80M ++innodb_buffer_pool_size=128M + + # Create a .ibd file for each table (default:0) + innodb_file_per_table=1 diff --git a/source/l/akonadi/slack-desc b/source/l/akonadi/slack-desc index d0c26bb62..e046a8876 100644 --- a/source/l/akonadi/slack-desc +++ b/source/l/akonadi/slack-desc @@ -1,8 +1,8 @@ # HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. Line +# The "handy ruler" below makes it easier to edit a package description. Line # up the first '|' above the ':' following the base package name, and the '|' -# on the right side marks the last column you can put a character in. You must -# make exactly 11 lines for the formatting to be correct. It's also +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also # customary to leave one space after the ':'. |-----handy-ruler-----------------------------------------------------| @@ -13,7 +13,7 @@ akonadi: and meta data providing concurrent read, write, and query access. akonadi: It will provide a unique desktop wide object identification and akonadi: retrieval. akonadi: -akonadi: Homepage: http://www.kdepim.org/akonadi/ +akonadi: Homepage: http://www.kdepim.org/akonadi/ akonadi: akonadi: akonadi: -- cgit v1.2.3-79-gdb01