diff options
-rw-r--r-- | UPDATING | 29 | ||||
-rw-r--r-- | databases/akonadi/Makefile | 35 | ||||
-rw-r--r-- | databases/akonadi/files/patch-server__src__storage__dbconfigmysql.cpp | 11 |
3 files changed, 63 insertions, 12 deletions
@@ -5,6 +5,35 @@ they are unavoidable. You should get into the habit of checking this file for changes each time you update your ports collection, before attempting any port upgrades. +20120615: + AFFECTS: users of databases/akonadi + AUTHOR: kde@FreeBSD.org + + The latest Akonadi update includes critical bug fixes. Manual + intervention is required for people using local MySQL database (the + default configuration) as backend: + + $ akonadictl stop + + Wait a bit, and make sure that akonadiserver and akonadi_control are + not running. Kill them if needed. Then, you have two alternatives: + + $ mysql_install_db --force \ + --defaults-file=~/.local/share/akonadi/mysql.conf \ + --datadir=~/.local/share/akonadi/db_data \ + --basedir=$(dirname `dirname $(which mysql_install_db)`) + $ rm ~/.local/share/akonadi/mysql.conf + + ...or... + + $ rm -r ~/.local/share/akonadi + + In the latter case, Akonadi will have to recache your personal data + (might take a while). Akonadi is only a cache, no data will be lost. + Then: + + $ akonadictl start + 20120613: AFFECTS: users of graphics/djvulibre and graphics/djvulibre-nox11 AUTHOR: bf@FreeBSD.org diff --git a/databases/akonadi/Makefile b/databases/akonadi/Makefile index ce84eced1e7e..17dc9176eca4 100644 --- a/databases/akonadi/Makefile +++ b/databases/akonadi/Makefile @@ -6,7 +6,7 @@ PORTNAME= akonadi PORTVERSION= 1.7.2 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= databases kde ipv6 MASTER_SITES= ${MASTER_SITE_KDE} MASTER_SITE_SUBDIR= stable/${PORTNAME}/src/ @@ -23,11 +23,11 @@ LIB_DEPENDS= boost_thread:${PORTSDIR}/devel/boost-libs LIB_DEPENDS+= execinfo.1:${PORTSDIR}/devel/libexecinfo BUILD_DEPENDS= xsltproc:${PORTSDIR}/textproc/libxslt -USE_BZIP2= yes -USE_QT4= corelib network qtestlib dbus gui sql \ - qmake_build moc_build rcc_build uic_build USE_KDE4= kdehier kdeprefix sharedmime automoc4 soprano KDE4_BUILDENV= yes +USE_QT4= dbus gui network qtestlib sql \ + moc_build qmake_build rcc_build uic_build +USE_BZIP2= yes CMAKE_ARGS+= -DAKONADI_BUILD_TESTS:BOOL=FALSE \ -DINSTALL_QSQLITE_IN_QT_PREFIX:BOOL=TRUE \ -DCMAKE_REQUIRED_INCLUDES:STRING="${LOCALBASE}/include" @@ -35,26 +35,31 @@ MAKE_JOBS_UNSAFE= yes PLIST_SUB+= QT_PREFIX=${QT_PREFIX} -OPTIONS= MYSQL "Install MySQL plugin and server (recommended)" on \ - PGSQL "Install PostgreSQL plugin" off \ - SQLITE "Enable SQLite backend (unused)" off +OPTIONS_MULTI= BACKEND +OPTIONS_MULTI_BACKEND= MYSQL PGSQL SQLITE + +MYSQL_DESC= Install MySQL Qt plugin and server +PGSQL_DESC= Install PostgreSQL Qt plugin +SQLITE_DESC= Enable SQLite backend (unused) + +OPTIONS_DEFAULT= MYSQL .include <bsd.port.options.mk> -.ifndef(WITHOUT_MYSQL) +.if ${PORT_OPTIONS:MMYSQL} USE_MYSQL= server USE_QT4+= sql-mysql_run .endif -.ifdef(WITH_PGSQL) +.if ${PORT_OPTIONS:MPGSQL} # Do not add a dependency on PostgreSQL server as someone preferring -# it over MySQL might like to use some advanced configuration like a +# it over MySQL might like to use some advanced configuration, like a # remote server. #USE_PGSQL= server USE_QT4+= sql-pgsql_run .endif -.ifdef(WITH_SQLITE) +.if ${PORT_OPTIONS:MSQLITE} USE_SQLITE= 3 PLIST_SUB+= SQLITE="" .else @@ -62,7 +67,7 @@ PLIST_SUB+= SQLITE="@comment " .endif post-patch: -.ifndef(WITH_SQLITE) +.if ${PORT_OPTIONS:MSQLITE} == "" ${REINPLACE_CMD} -e '/find_package(Sqlite)/ d' \ ${PATCH_WRKSRC}/CMakeLists.txt .endif @@ -70,6 +75,12 @@ post-patch: ${PATCH_WRKSRC}/CMakeLists.txt ${REINPLACE_CMD} -e '/find_program/ s|mysqld|mysqld_safe ${LOCALBASE}/bin|g' \ ${PATCH_WRKSRC}/server/CMakeLists.txt + ${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \ + ${PATCH_WRKSRC}/server/src/storage/dbconfigmysql.cpp + # MySQL seems to have this limit on FreeBSD (same of Windows + # but undocumented and unstable). + ${REINPLACE_CMD} -e '/wait_timeout/ s|31536000|2147483|' \ + ${PATCH_WRKSRC}/server/src/storage/*.conf # Prevent updating MIME during build. ${REINPLACE_CMD} -e '/^update_xdg_mimetypes/ d; /SharedMimeInfo/ d' \ ${PATCH_WRKSRC}/CMakeLists.txt diff --git a/databases/akonadi/files/patch-server__src__storage__dbconfigmysql.cpp b/databases/akonadi/files/patch-server__src__storage__dbconfigmysql.cpp new file mode 100644 index 000000000000..d061fcc3f49f --- /dev/null +++ b/databases/akonadi/files/patch-server__src__storage__dbconfigmysql.cpp @@ -0,0 +1,11 @@ +--- ./server/src/storage/dbconfigmysql.cpp.orig 2012-06-13 02:11:19.473370856 +0200 ++++ ./server/src/storage/dbconfigmysql.cpp 2012-06-13 02:11:50.113468897 +0200 +@@ -242,7 +242,7 @@ + // first run, some MySQL versions need a mysql_install_db run for that + const QString confFile = XdgBaseDirs::findResourceFile( "config", QLatin1String("akonadi/mysql-global.conf" )); + if ( QDir( dataDir ).entryList( QDir::NoDotAndDotDot | QDir::AllEntries ).isEmpty() && !mMysqlInstallDbPath.isEmpty() ) { +- const QStringList arguments = QStringList() << QString::fromLatin1( "--force" ) << QString::fromLatin1( "--defaults-file=%1").arg(confFile) << QString::fromLatin1( "--datadir=%1/" ).arg( dataDir ); ++ const QStringList arguments = QStringList() << QString::fromLatin1( "--force" ) << QString::fromLatin1( "--defaults-file=%1").arg(confFile) << QString::fromLatin1( "--datadir=%1/" ).arg( dataDir ) << QString::fromLatin1( "--basedir=%%LOCALBASE%%" ); + QProcess::execute( mMysqlInstallDbPath, arguments ); + } + |