Date: Tuesday, January 25, 2022 @ 11:37:10 Author: arojas Revision: 435088
ffmpeg 5 rebuild Added: digikam/trunk/ffmpeg5.patch Modified: digikam/trunk/PKGBUILD Deleted: digikam/trunk/49ee18fb.patch ----------------+ 49ee18fb.patch | 214 ------------------------------------------------------- PKGBUILD | 12 ++- ffmpeg5.patch | 13 +++ 3 files changed, 22 insertions(+), 217 deletions(-) Deleted: 49ee18fb.patch =================================================================== --- 49ee18fb.patch 2022-01-25 11:31:08 UTC (rev 435087) +++ 49ee18fb.patch 2022-01-25 11:37:10 UTC (rev 435088) @@ -1,214 +0,0 @@ -From 49ee18fbf2220baedbc015f51b74f67930115287 Mon Sep 17 00:00:00 2001 -From: Maik Qualmann <[email protected]> -Date: Sun, 25 Jul 2021 15:44:56 +0200 -Subject: [PATCH] perform a database upgrade if the server / database version - is different BUGS: 440212 BUGS: 440030 FIXED-IN: 7.4.0 - -diff --git a/core/libs/database/server/databaseserver.cpp b/core/libs/database/server/databaseserver.cpp -index 7133148379..cebe9d0f6a 100644 ---- a/core/libs/database/server/databaseserver.cpp -+++ b/core/libs/database/server/databaseserver.cpp -@@ -73,6 +73,7 @@ public: - QString fileDataDir; - QString actualConfig; - QString globalConfig; -+ QString dbVersion; - }; - - DatabaseServer::DatabaseServer(const DbEngineParameters& params, DatabaseServerStarter* const parent) -@@ -224,8 +225,6 @@ bool DatabaseServer::isRunning() const - - DatabaseServerError DatabaseServer::startMysqlDatabaseProcess() - { -- DatabaseServerError result; -- - DatabaseServerError error = checkDatabaseDirs(); - - if (error.getErrorType() != DatabaseServerError::NoErrors) -@@ -265,7 +264,14 @@ DatabaseServerError DatabaseServer::startMysqlDatabaseProcess() - - databaseServerStateEnum = running; - -- return result; -+ error = checkUpgradeMysqlDatabase(); -+ -+ if (error.getErrorType() != DatabaseServerError::NoErrors) -+ { -+ return error; -+ } -+ -+ return error; - } - - DatabaseServerError DatabaseServer::checkDatabaseDirs() const -@@ -677,6 +683,25 @@ DatabaseServerError DatabaseServer::initMysqlDatabase() const - - db.close(); - } -+ else -+ { -+ if (query.exec(QLatin1String("SELECT VERSION();"))) -+ { -+ if (query.next() && (query.lastError().type() == QSqlError::NoError)) -+ { -+ -+ QRegExp reg(QLatin1String("\\d+\\.\\d+\\.\\d+")); -+ -+ if (reg.indexIn(query.value(0).toString()) != -1) -+ { -+ d->dbVersion = reg.capturedTexts().first(); -+ -+ qCDebug(DIGIKAM_DATABASESERVER_LOG) << "Database version:" -+ << d->dbVersion; -+ } -+ } -+ } -+ } - } - - QSqlDatabase::removeDatabase(initCon); -@@ -684,6 +709,104 @@ DatabaseServerError DatabaseServer::initMysqlDatabase() const - return result; - } - -+DatabaseServerError DatabaseServer::checkUpgradeMysqlDatabase() -+{ -+ DatabaseServerError result; -+ -+ // Synthesize the server command line arguments -+ -+ QStringList versionCmdArgs; -+ versionCmdArgs << QLatin1String("--version"); -+ -+ // Start the database server -+ -+ QProcess* const versionProcess = new QProcess(); -+ versionProcess->setProcessEnvironment(adjustedEnvironmentForAppImage()); -+ versionProcess->start(d->mysqldCmd, versionCmdArgs); -+ -+ if (!versionProcess->waitForFinished() || (versionProcess->exitCode() != 0)) -+ { -+ QString errorMsg = processErrorLog(versionProcess, -+ i18n("Could not get mysql server version.")); -+ -+ delete versionProcess; -+ -+ return DatabaseServerError(DatabaseServerError::StartError, errorMsg); -+ } -+ -+ QString serverVersion; -+ QRegExp reg(QLatin1String("\\d+\\.\\d+\\.\\d+")); -+ -+ if (reg.indexIn(QString::fromUtf8(versionProcess->readAllStandardOutput())) != -1) -+ { -+ serverVersion = reg.capturedTexts().first(); -+ -+ qCDebug(DIGIKAM_DATABASESERVER_LOG) << "MySQL server version:" -+ << serverVersion; -+ } -+ -+ delete versionProcess; -+ -+ if (serverVersion == d->dbVersion) -+ { -+ return result; -+ } -+ -+ // Synthesize the mysql upgrade command line arguments -+ -+ QStringList upgradeCmdArgs; -+ -+#ifdef Q_OS_WIN -+ -+ upgradeCmdArgs << QLatin1String("--port=3307"); -+ -+#else -+ -+ upgradeCmdArgs << QString::fromLatin1("--socket=%1/mysql.socket").arg(d->miscDir); -+ -+#endif -+ -+ // Start the upgrade ptogram -+ -+ QUrl upgradeUrl = QUrl::fromLocalFile(d->mysqlAdminPath).adjusted(QUrl::RemoveFilename); -+ upgradeUrl.setPath(upgradeUrl.path() + QLatin1String("mysql_upgrade")); -+ -+ QProcess* const upgradeProcess = new QProcess(); -+ upgradeProcess->setProcessEnvironment(adjustedEnvironmentForAppImage()); -+ upgradeProcess->start(upgradeUrl.toLocalFile(), upgradeCmdArgs); -+ -+ qCDebug(DIGIKAM_DATABASESERVER_LOG) << "Upgrade database:" -+ << upgradeProcess->program() -+ << upgradeProcess->arguments(); -+ -+ if (!upgradeProcess->waitForFinished() || (upgradeProcess->exitCode() != 0)) -+ { -+ QString errorMsg = processErrorLog(upgradeProcess, -+ i18n("Could not upgrade database.")); -+ -+ delete upgradeProcess; -+ -+ return DatabaseServerError(DatabaseServerError::StartError, errorMsg); -+ } -+ -+ delete upgradeProcess; -+ -+ // Restart the database server. -+ -+ stopDatabaseProcess(); -+ -+ result = startMysqlServer(); -+ -+ if (result.getErrorType() != DatabaseServerError::NoErrors) -+ { -+ return result; -+ } -+ -+ result = initMysqlDatabase(); -+ -+ return result; -+} -+ - QString DatabaseServer::getcurrentAccountUserName() const - { - QString name = QString::fromUtf8(qgetenv("USER")); // Linux and OSX -diff --git a/core/libs/database/server/databaseserver.h b/core/libs/database/server/databaseserver.h -index 0b96d5ceb1..d1140e23ed 100644 ---- a/core/libs/database/server/databaseserver.h -+++ b/core/libs/database/server/databaseserver.h -@@ -127,6 +127,11 @@ private: - */ - DatabaseServerError initMysqlDatabase() const; - -+ /** -+ * Check for a mysql database upgrade. -+ */ -+ DatabaseServerError checkUpgradeMysqlDatabase(); -+ - /** - * Return the current user account name. - */ -diff --git a/core/libs/database/server/databaseserver.cpp b/core/libs/database/server/databaseserver.cpp -index cebe9d0f6a..37765e3231 100644 ---- a/core/libs/database/server/databaseserver.cpp -+++ b/core/libs/database/server/databaseserver.cpp -@@ -689,7 +689,6 @@ DatabaseServerError DatabaseServer::initMysqlDatabase() const - { - if (query.next() && (query.lastError().type() == QSqlError::NoError)) - { -- - QRegExp reg(QLatin1String("\\d+\\.\\d+\\.\\d+")); - - if (reg.indexIn(query.value(0).toString()) != -1) -@@ -747,7 +746,9 @@ DatabaseServerError DatabaseServer::checkUpgradeMysqlDatabase() - - delete versionProcess; - -- if (serverVersion == d->dbVersion) -+ if (d->dbVersion.isEmpty() || -+ serverVersion.isEmpty() || -+ (serverVersion == d->dbVersion)) - { - return result; - } - Modified: PKGBUILD =================================================================== --- PKGBUILD 2022-01-25 11:31:08 UTC (rev 435087) +++ PKGBUILD 2022-01-25 11:37:10 UTC (rev 435088) @@ -7,7 +7,7 @@ pkgname=digikam _pkgver=7.5.0 pkgver=${_pkgver//-/_} # for beta versions -pkgrel=1 +pkgrel=2 pkgdesc='An advanced digital photo management application' arch=(x86_64) license=(GPL) @@ -18,11 +18,17 @@ optdepends=('hugin: panorama tool' 'qt5-imageformats: support for additional image formats (WEBP, TIFF)' 'rawtherapee: RAW import' 'darktable: RAW import' 'perl: for digitaglinktree') -source=(https://download.kde.org/stable/$pkgname/$pkgver/digiKam-$_pkgver.tar.xz{,.sig}) +source=(https://download.kde.org/stable/$pkgname/$pkgver/digiKam-$_pkgver.tar.xz{,.sig} + ffmpeg5.patch) sha256sums=('cc143dcdba0ab138036d78cd80b29d5cfd32bceb2c3e74e46b363a661dfca780' - 'SKIP') + 'SKIP' + 'ef2601f9b2e668116a3643b4bd7ddcfc233ccfc747d813955423ca17b6a23dee') validpgpkeys=(D1CF2444A7858C5F2FB095B74A77747BC2386E50) # digiKam.org (digiKam project) <[email protected]> +prepare() { + patch -d $pkgname-$_pkgver -p1 < ffmpeg5.patch +} + build() { cmake -B build -S $pkgname-$_pkgver \ -DBUILD_TESTING=OFF \ Added: ffmpeg5.patch =================================================================== --- ffmpeg5.patch (rev 0) +++ ffmpeg5.patch 2022-01-25 11:37:10 UTC (rev 435088) @@ -0,0 +1,13 @@ +diff --git a/core/libs/threadimageio/video/videodecoder_p.h b/core/libs/threadimageio/video/videodecoder_p.h +index 251e092809..d82926b77e 100644 +--- a/core/libs/threadimageio/video/videodecoder_p.h ++++ b/core/libs/threadimageio/video/videodecoder_p.h +@@ -56,7 +56,7 @@ public: + AVFormatContext* pFormatContext; + AVCodecContext* pVideoCodecContext; + AVCodecParameters* pVideoCodecParameters; +- AVCodec* pVideoCodec; ++ const AVCodec* pVideoCodec; + AVStream* pVideoStream; + AVFrame* pFrame; + quint8* pFrameBuffer;
