From 1e2f91442c75bb79668545df97f20dbf4af925b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= Date: Sat, 29 Oct 2022 09:28:30 -0300 Subject: [PATCH] owncloudclient: update to 2.11.1. --- ...3af11673122be4178a9e4a15051b21dd2158.patch | 185 ++++++++++++++++++ ...a7e7cb19367d708e21f9ef881afecffe35a3.patch | 44 ----- .../patches/nodiscard-first.patch | 83 -------- srcpkgs/owncloudclient/template | 6 +- 4 files changed, 188 insertions(+), 130 deletions(-) create mode 100644 srcpkgs/owncloudclient/patches/63ae3af11673122be4178a9e4a15051b21dd2158.patch delete mode 100644 srcpkgs/owncloudclient/patches/d987a7e7cb19367d708e21f9ef881afecffe35a3.patch delete mode 100644 srcpkgs/owncloudclient/patches/nodiscard-first.patch diff --git a/srcpkgs/owncloudclient/patches/63ae3af11673122be4178a9e4a15051b21dd2158.patch b/srcpkgs/owncloudclient/patches/63ae3af11673122be4178a9e4a15051b21dd2158.patch new file mode 100644 index 000000000000..6f82fea64130 --- /dev/null +++ b/srcpkgs/owncloudclient/patches/63ae3af11673122be4178a9e4a15051b21dd2158.patch @@ -0,0 +1,185 @@ +From 63ae3af11673122be4178a9e4a15051b21dd2158 Mon Sep 17 00:00:00 2001 +From: Hannah von Reth +Date: Wed, 22 Jun 2022 17:14:38 +0200 +Subject: [PATCH] CMake: Implement WITH_AUTO_UPDATER + +Fixes: #9082 +--- + CMakeLists.txt | 3 +++ + changelog/unreleased/9082 | 5 +++++ + src/gui/CMakeLists.txt | 5 ++++- + src/gui/application.cpp | 5 +++++ + src/gui/generalsettings.cpp | 11 +++++++++++ + src/gui/main.cpp | 5 +++++ + 6 files changed, 33 insertions(+), 1 deletion(-) + create mode 100644 changelog/unreleased/9082 + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 546a5cf42e5..e95689fda78 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -104,6 +104,9 @@ option(BUILD_LIBRARIES_ONLY "BUILD_LIBRARIES_ONLY" OFF) + # build the GUI component, when disabled only owncloudcmd is built + option(BUILD_GUI "BUILD_GUI" ON) + ++# build the auto updater component ++option(WITH_AUTO_UPDATER "WITH_AUTO_UPDATER" ON) ++ + # specify additional vfs plugins + set(VIRTUAL_FILE_SYSTEM_PLUGINS off suffix win CACHE STRING "Name of internal plugin in src/libsync/vfs or the locations of virtual file plugins") + +diff --git a/changelog/unreleased/9082 b/changelog/unreleased/9082 +new file mode 100644 +index 00000000000..97cf81b1527 +--- /dev/null ++++ b/changelog/unreleased/9082 +@@ -0,0 +1,5 @@ ++Enhancement: Add CMakeOption WITH_AUTO_UPDATER ++ ++WITH_AUTO_UPDATER allows to build the client without the auto updater. ++ ++https://github.com/owncloud/client/issues/9082 +diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt +index b87a444044b..733e0401fea 100644 +--- a/src/gui/CMakeLists.txt ++++ b/src/gui/CMakeLists.txt +@@ -168,7 +168,10 @@ elseif(UNIX AND NOT APPLE ) + guiutility_unix.cpp) + endif() + +-add_subdirectory(updater) ++if(WITH_AUTO_UPDATER) ++ add_subdirectory(updater) ++ target_compile_definitions(owncloudCore PRIVATE WITH_AUTO_UPDATER) ++endif() + + + if(WITH_CRASHREPORTER) +diff --git a/src/gui/application.cpp b/src/gui/application.cpp +index f9cd5c07f79..f2f3eac8f83 100644 +--- a/src/gui/application.cpp ++++ b/src/gui/application.cpp +@@ -36,7 +36,9 @@ + #include "sharedialog.h" + #include "accountmanager.h" + #include "creds/abstractcredentials.h" ++#ifdef WITH_AUTO_UPDATER + #include "updater/ocupdater.h" ++#endif + #include "owncloudsetupwizard.h" + #include "version.h" + #include "csync_exclude.h" +@@ -370,6 +373,7 @@ Application::Application(int &argc, char **argv) + connect(&_networkConfigurationManager, &QNetworkConfigurationManager::configurationChanged, + this, &Application::slotSystemOnlineConfigurationChanged); + ++#ifdef WITH_AUTO_UPDATER + // Update checks + UpdaterScheduler *updaterScheduler = new UpdaterScheduler(this); + connect(updaterScheduler, &UpdaterScheduler::updaterAnnouncement, +@@ -378,6 +382,7 @@ Application::Application(int &argc, char **argv) + }); + connect(updaterScheduler, &UpdaterScheduler::requestRestart, + _folderManager.data(), &FolderMan::slotScheduleAppRestart); ++#endif + + // Cleanup at Quit. + connect(this, &QCoreApplication::aboutToQuit, this, &Application::slotCleanup); +diff --git a/src/gui/generalsettings.cpp b/src/gui/generalsettings.cpp +index 88fca875eac..b9f74984522 100644 +--- a/src/gui/generalsettings.cpp ++++ b/src/gui/generalsettings.cpp +@@ -21,12 +21,15 @@ + #include "configfile.h" + #include "theme.h" + ++#ifdef WITH_AUTO_UPDATER + #include "updater/updater.h" + #include "updater/ocupdater.h" + #ifdef Q_OS_MAC + // FIXME We should unify those, but Sparkle does everything behind the scene transparently + #include "updater/sparkleupdater.h" + #endif ++#endif ++ + #include "ignorelisteditor.h" + + #include "config.h" +@@ -110,6 +113,7 @@ GeneralSettings::GeneralSettings(QWidget *parent) + connect(AccountManager::instance(), &AccountManager::accountAdded, this, &GeneralSettings::loadMiscSettings); + + // Only our standard brandings currently support beta channel ++#ifdef WITH_AUTO_UPDATER + if (Theme::instance()->appName() != QLatin1String("testpilotcloud")) { + #ifdef Q_OS_MAC + // Because we don't have any statusString from the SparkleUpdater anyway we can hide the whole thing +@@ -122,6 +126,9 @@ GeneralSettings::GeneralSettings(QWidget *parent) + } + #endif + } ++#else ++ _ui->updaterWidget->hide(); ++#endif + connect(_ui->about_pushButton, &QPushButton::clicked, this, &GeneralSettings::showAbout); + + if (!Theme::instance()->aboutShowCopyright()) { +@@ -166,6 +173,7 @@ void GeneralSettings::showEvent(QShowEvent *) + + void GeneralSettings::slotUpdateInfo() + { ++#ifdef WITH_AUTO_UPDATER + if (ConfigFile().skipUpdateCheck() || !Updater::instance()) { + // updater disabled on compile + _ui->updaterWidget->setVisible(false); +@@ -194,10 +202,12 @@ void GeneralSettings::slotUpdateInfo() + _ui->updateChannel->setCurrentIndex(ConfigFile().updateChannel() == "beta" ? 1 : 0); + connect(_ui->updateChannel, static_cast(&QComboBox::currentIndexChanged), + this, &GeneralSettings::slotUpdateChannelChanged, Qt::UniqueConnection); ++#endif + } + + void GeneralSettings::slotUpdateChannelChanged(int index) + { ++#ifdef WITH_AUTO_UPDATER + QString channel = index == 0 ? QStringLiteral("stable") : QStringLiteral("beta"); + if (channel == ConfigFile().updateChannel()) + return; +@@ -239,6 +249,7 @@ void GeneralSettings::slotUpdateChannelChanged(int index) + } + }); + msgBox->open(); ++#endif + } + + void GeneralSettings::saveMiscSettings() +diff --git a/src/gui/main.cpp b/src/gui/main.cpp +index dec162d04a3..903dc5ff36b 100644 +--- a/src/gui/main.cpp ++++ b/src/gui/main.cpp +@@ -21,7 +21,9 @@ + #include "resources/loadresources.h" + #include "theme.h" + ++#ifdef WITH_AUTO_UPDATER + #include "updater/updater.h" ++#endif + + #include + #include +@@ -59,6 +61,8 @@ int main(int argc, char **argv) + // TODO: 2.11 move to platform class + Utility::startShutdownWatcher(); + #endif ++ ++#ifdef WITH_AUTO_UPDATER + // if handleStartup returns true, main() + // needs to terminate here, e.g. because + // the updater is triggered +@@ -66,6 +70,7 @@ int main(int argc, char **argv) + if (updater && updater->handleStartup()) { + return 1; + } ++#endif + + // if the application is already running, notify it. + if (app.isRunning()) { diff --git a/srcpkgs/owncloudclient/patches/d987a7e7cb19367d708e21f9ef881afecffe35a3.patch b/srcpkgs/owncloudclient/patches/d987a7e7cb19367d708e21f9ef881afecffe35a3.patch deleted file mode 100644 index dab71a91e7c9..000000000000 --- a/srcpkgs/owncloudclient/patches/d987a7e7cb19367d708e21f9ef881afecffe35a3.patch +++ /dev/null @@ -1,44 +0,0 @@ -From d987a7e7cb19367d708e21f9ef881afecffe35a3 Mon Sep 17 00:00:00 2001 -From: Hannah von Reth -Date: Wed, 29 Sep 2021 13:36:26 +0200 -Subject: [PATCH] Fix unit test for the root user - ---- - test/testdownload.cpp | 4 ++++ - test/testfolderman.cpp | 8 +++++--- - 2 files changed, 9 insertions(+), 3 deletions(-) - -diff --git a/test/testdownload.cpp b/test/testdownload.cpp -index b37cb807da..4af30ae72e 100644 ---- a/test/testdownload.cpp -+++ b/test/testdownload.cpp -@@ -150,6 +150,10 @@ private slots: - void testMoveFailsInAConflict() { - #ifdef Q_OS_WIN - QSKIP("Not run on windows because permission on directory does not do what is expected"); -+#else -+ if (getuid() == 0) { -+ QSKIP("The permissions have no effect on the root user"); -+ } - #endif - // Test for https://github.com/owncloud/client/issues/7015 - // We want to test the case in which the renaming of the original to the conflict file succeeds, -diff --git a/test/testfolderman.cpp b/test/testfolderman.cpp -index 8fc2cc2627..47213ed6b9 100644 ---- a/test/testfolderman.cpp -+++ b/test/testfolderman.cpp -@@ -102,9 +102,11 @@ private slots: - QVERIFY(folderman->checkPathValidityForNewFolder(dirPath + "/link1/subfolder").isNull()); - QVERIFY(folderman->checkPathValidityForNewFolder(dirPath + "/link2/free/subfolder").isNull()); - -- // Should not have the rights -- QVERIFY(!folderman->checkPathValidityForNewFolder("/").isNull()); -- QVERIFY(!folderman->checkPathValidityForNewFolder("/usr/bin/somefolder").isNull()); -+ if (getuid() != 0) { -+ // Should not have the rights -+ QVERIFY(!folderman->checkPathValidityForNewFolder("/").isNull()); -+ QVERIFY(!folderman->checkPathValidityForNewFolder("/usr/bin/somefolder").isNull()); -+ } - #endif - - #ifdef Q_OS_WIN // drive-letter tests diff --git a/srcpkgs/owncloudclient/patches/nodiscard-first.patch b/srcpkgs/owncloudclient/patches/nodiscard-first.patch deleted file mode 100644 index 472198795bba..000000000000 --- a/srcpkgs/owncloudclient/patches/nodiscard-first.patch +++ /dev/null @@ -1,83 +0,0 @@ -Index: client-2.10.1/src/common/asserts.h -=================================================================== ---- client-2.10.1.orig/src/common/asserts.h -+++ client-2.10.1/src/common/asserts.h -@@ -44,7 +44,7 @@ - } else { \ - } - --inline OC_REQUIRED_RESULT bool __OC_ENSURE(bool condition, const char *cond, const char *file, int line, const char *info) -+OC_REQUIRED_RESULT inline bool __OC_ENSURE(bool condition, const char *cond, const char *file, int line, const char *info) - { - if (Q_UNLIKELY(!condition)) { - OC_ASSERT_MSG("ENSURE: \"%s\" in file %s, line %d %s", cond, file, line, info); -Index: client-2.10.1/src/common/vfs.h -=================================================================== ---- client-2.10.1.orig/src/common/vfs.h -+++ client-2.10.1/src/common/vfs.h -@@ -162,17 +162,17 @@ public: - virtual bool isHydrating() const = 0; - - /// Create a new dehydrated placeholder. Called from PropagateDownload. -- virtual OC_REQUIRED_RESULT Result createPlaceholder(const SyncFileItem &item) = 0; -+ OC_REQUIRED_RESULT virtual Result createPlaceholder(const SyncFileItem &item) = 0; - - /** Discovery hook: even unchanged files may need UPDATE_METADATA. - * - * For instance cfapi vfs wants local hydrated non-placeholder files to - * become hydrated placeholder files. - */ -- virtual OC_REQUIRED_RESULT bool needsMetadataUpdate(const SyncFileItem &item) = 0; -+ OC_REQUIRED_RESULT virtual bool needsMetadataUpdate(const SyncFileItem &item) = 0; - - /// Determine whether the file at the given absolute path is a dehydrated placeholder. -- virtual OC_REQUIRED_RESULT bool isDehydratedPlaceholder(const QString &filePath) = 0; -+ OC_REQUIRED_RESULT virtual bool isDehydratedPlaceholder(const QString &filePath) = 0; - - /** Similar to isDehydratedPlaceholder() but used from sync discovery. - * -@@ -181,7 +181,7 @@ public: - * - * Returning true means that type was fully determined. - */ -- virtual OC_REQUIRED_RESULT bool statTypeVirtualFile(csync_file_stat_t *stat, void *stat_data) = 0; -+ OC_REQUIRED_RESULT virtual bool statTypeVirtualFile(csync_file_stat_t *stat, void *stat_data) = 0; - - /** Sets the pin state for the item at a path. - * -@@ -192,7 +192,7 @@ public: - * - * relFilePath is relative to the sync folder. Can be "" for root folder. - */ -- virtual OC_REQUIRED_RESULT bool setPinState(const QString &relFilePath, PinState state) = 0; -+ OC_REQUIRED_RESULT virtual bool setPinState(const QString &relFilePath, PinState state) = 0; - - /** Returns the pin state of an item at a path. - * -@@ -203,7 +203,7 @@ public: - * - * Returns none on retrieval error. - */ -- virtual OC_REQUIRED_RESULT Optional pinState(const QString &relFilePath) = 0; -+ OC_REQUIRED_RESULT virtual Optional pinState(const QString &relFilePath) = 0; - - /** Returns availability status of an item at a path. - * -@@ -212,7 +212,7 @@ public: - * - * folderPath is relative to the sync folder. Can be "" for root folder. - */ -- virtual OC_REQUIRED_RESULT AvailabilityResult availability(const QString &folderPath) = 0; -+ OC_REQUIRED_RESULT virtual AvailabilityResult availability(const QString &folderPath) = 0; - - public slots: - /** Update in-sync state based on SyncFileStatusTracker signal. -@@ -240,7 +240,7 @@ protected: - * If the remote metadata changes, the local placeholder's metadata should possibly - * change as well. - */ -- virtual OC_REQUIRED_RESULT Result updateMetadata(const SyncFileItem &item, const QString &filePath, const QString &replacesFile) = 0; -+ OC_REQUIRED_RESULT virtual Result updateMetadata(const SyncFileItem &item, const QString &filePath, const QString &replacesFile) = 0; - - /** Setup the plugin for the folder. - * diff --git a/srcpkgs/owncloudclient/template b/srcpkgs/owncloudclient/template index 3772509dcdda..606c6efea8be 100644 --- a/srcpkgs/owncloudclient/template +++ b/srcpkgs/owncloudclient/template @@ -1,10 +1,10 @@ # Template file for 'owncloudclient' pkgname=owncloudclient -version=2.10.1 +version=2.11.1 revision=1 wrksrc=client-${version} build_style=cmake -configure_args="-Wno-dev -DNO_SHIBBOLETH=TRUE" +configure_args="-Wno-dev -DNO_SHIBBOLETH=TRUE -DWITH_AUTO_UPDATER=OFF" hostmakedepends="pkg-config extra-cmake-modules" makedepends="qtkeychain-qt5-devel sqlite-devel qt5-declarative-devel qt5-tools-devel qt5-plugin-odbc qt5-plugin-tds qt5-plugin-pgsql qt5-plugin-mysql @@ -17,7 +17,7 @@ license="GPL-2.0-or-later" homepage="https://www.owncloud.org" changelog="https://raw.githubusercontent.com/owncloud/client/master/CHANGELOG.md" distfiles="https://github.com/owncloud/client/archive/v${version}.tar.gz" -checksum=cd79c46e0c13b606ec08527f9f5f35fe295d4655c12510aa6805ccb797119c49 +checksum=72e13d90e4d1c71bdf863a2387f36bcccbc5b410aac2d93144fe3567056ba599 if [ "$CROSS_BUILD" ]; then hostmakedepends+=" qt5-host-tools qt5-tools-devel"