owncloudclient: update to 2.11.1.
This commit is contained in:
parent
2118b866b3
commit
a9149121fc
|
@ -0,0 +1,185 @@
|
|||
From 63ae3af11673122be4178a9e4a15051b21dd2158 Mon Sep 17 00:00:00 2001
|
||||
From: Hannah von Reth <hannah.vonreth@owncloud.com>
|
||||
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<void (QComboBox::*)(int)>(&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 <QTimer>
|
||||
#include <QMessageBox>
|
||||
@@ -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()) {
|
|
@ -1,44 +0,0 @@
|
|||
From d987a7e7cb19367d708e21f9ef881afecffe35a3 Mon Sep 17 00:00:00 2001
|
||||
From: Hannah von Reth <hannah.vonreth@owncloud.com>
|
||||
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
|
|
@ -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<void, QString> createPlaceholder(const SyncFileItem &item) = 0;
|
||||
+ OC_REQUIRED_RESULT virtual Result<void, QString> 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> pinState(const QString &relFilePath) = 0;
|
||||
+ OC_REQUIRED_RESULT virtual Optional<PinState> 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<ConvertToPlaceholderResult, QString> updateMetadata(const SyncFileItem &item, const QString &filePath, const QString &replacesFile) = 0;
|
||||
+ OC_REQUIRED_RESULT virtual Result<ConvertToPlaceholderResult, QString> updateMetadata(const SyncFileItem &item, const QString &filePath, const QString &replacesFile) = 0;
|
||||
|
||||
/** Setup the plugin for the folder.
|
||||
*
|
|
@ -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"
|
||||
|
|
Loading…
Reference in New Issue