Merge branch '2.1'

Conflicts:
	src/gui/socketapi.cpp
This commit is contained in:
Olivier Goffart 2016-04-04 16:58:49 +02:00
commit 3334067d9f
6 changed files with 69 additions and 20 deletions

2
.gitmodules vendored
View file

@ -3,7 +3,7 @@
url = https://github.com/owncloud/documentation
[submodule "src/3rdparty/qtmacgoodies"]
path = src/3rdparty/qtmacgoodies
url = git://github.com/guruz/qtmacgoodies.git
url = https://github.com/guruz/qtmacgoodies.git
[submodule "binary"]
path = binary
url = git://github.com/owncloud/owncloud-client-binary.git

View file

@ -87,7 +87,7 @@ To manually override this key, use the same value in ``HKEY_CURRENT_USER``.
To prevent automatic updates and disallow manual overrides:
.. note::This is the preferred method of controlling the updater behavior using
.. note:: This is the preferred method of controlling the updater behavior using
Group Policies.
1. Edit this Registry key:
@ -98,6 +98,14 @@ To prevent automatic updates and disallow manual overrides:
3. Specify a value of ``1`` to the machine.
.. note:: Enterprise branded clients
(see `Building Branded ownCloud Clients
<https://doc.owncloud.org/branded_clients/>`_) have different key names,
which are set in ownBrander using the Application Vendor and Application
Name fields. Your key names look like this::
``HKEY_LOCAL_MACHINE\Software\Policies\myCompanyName\myAppName``
Preventing Automatic Updates in Mac OS X Environments
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

View file

@ -11,22 +11,44 @@ desktop client.
.. note:: Build instructions are subject to change as development proceeds.
Please check the version for which you want to build.
The instructions contained in this topic were updated to work with version 1.7 of the ownCloud Client.
These instructions are updated to work with version 2.1 of the ownCloud Client.
Getting Source Code
-------------------
The :ref:`generic-build-instructions` pull the latest code directly from
GitHub, and work on Linux, Mac OS X, and Windows.
See the next section for instructions on getting source code from Linux
packages.
Linux
-----
1. Add the `ownCloud repository from OBS`_.
2. Install the dependencies (as root, or using ``sudo``) using the following
commands for your specific Linux distribution:
You may wish to use source packages for your Linux distribution, as these give
you the exact sources from which the binary packages are built. These are
hosted on the `ownCloud repository from OBS`_. Go to the `Index of
repositories`_ to see all the Linux client repos.
1. At the `bottom of the page for each distribution
<https://software.opensuse.org/download/package?project=isv:ownCloud:desktop&
package=owncloud-client>`_ is a "Grab binary packages directly" section.
These contain source RPMs for CentOS, RHEL, Fedora, SLES, and openSUSE.
To get the .deb source packages add the source
repo for your Debian or Ubuntu version, like this example for Debian 8
(run as root)::
echo 'deb-src
http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/Debian_8.0/ /' >> /etc/apt/sources.list.d/owncloud-client.list
2. Install the dependencies using the following commands for your specific Linux distribution:
* Debian/Ubuntu: ``apt-get update; apt-get build-dep owncloud-client``
* openSUSE: ``zypper ref; zypper si -d owncloud-client``
* Fedora/CentOS: ``yum install yum-utils; yum-builddep owncloud-client``
* openSUSE/SLES: ``zypper ref; zypper si -d owncloud-client``
* Fedora/CentOS/RHEL: ``yum install yum-utils; yum-builddep owncloud-client``
3. Follow the :ref:`generic-build-instructions`.
4. (Optional) Call ``make install`` to install the client to the ``/usr/local/bin`` directory.
3. Follow the :ref:`generic-build-instructions`, starting with step 2.
Mac OS X
--------
@ -187,9 +209,7 @@ Compared to previous versions, building the desktop sync client has become easie
earlier versions, CSync, which is the sync engine library of the client, is now
part of the client source repository and not a separate module.
You can download the desktop sync client from the ownCloud `Client Download Page`_.
To build the most up to date version of the client:
To build the most up-to-date version of the client:
1. Clone the latest versions of the client from Git_ as follows::
@ -217,6 +237,9 @@ To build the most up to date version of the client:
4. Call ``make``.
The owncloud binary will appear in the ``bin`` directory.
5. (Optional) Call ``make install`` to install the client to the
``/usr/local/bin`` directory.
The following are known cmake parameters:
@ -229,15 +252,17 @@ The following are known cmake parameters:
* ``BUILD_WITH_QT4=ON``: Builds using Qt4 (even if Qt5 is found).
* ``CMAKE_INSTALL_PREFIX=path``: Set an install prefix. This is mandatory on Mac OS
.. _`ownCloud repository from OBS`: http://software.opensuse.org/download/package?project=isv:ownCloud:desktop&package=owncloud-client
.. _ownCloud repository from OBS: http://software.opensuse.org/download/package?
project=isv:ownCloud:desktop&package=owncloud-client
.. _CMake: http://www.cmake.org/download
.. _CSync: http://www.csync.org
.. _`Client Download Page`: http://owncloud.org/sync-clients/
.. _Client Download Page: https://owncloud.org/install/#desktop
.. _Git: http://git-scm.com
.. _MacPorts: http://www.macports.org
.. _Homebrew: http://mxcl.github.com/homebrew/
.. _`OpenSSL Windows Build`: http://slproweb.com/products/Win32OpenSSL.html
.. _OpenSSL Windows Build: http://slproweb.com/products/Win32OpenSSL.html
.. _Qt: http://www.qt.io/download
.. _`Microsoft Authenticode`: https://msdn.microsoft.com/en-us/library/ie/ms537361%28v=vs.85%29.aspx
.. _Microsoft Authenticode: https://msdn.microsoft.com/en-us/library/ie/ms537361%28v=vs.85%29.aspx
.. _QtKeychain: https://github.com/frankosterfeld/qtkeychain
.. _Packages: http://s.sudre.free.fr/Software/Packages/about.html
.. _Index of repositories: http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/

View file

@ -160,6 +160,10 @@ void PropagateRemoteMove::finalize()
record._path = _item->_renameTarget;
record._contentChecksum = oldRecord._contentChecksum;
record._contentChecksumType = oldRecord._contentChecksumType;
if (record._fileSize != oldRecord._fileSize) {
qDebug() << "Warning: file sizes differ on server vs csync_journal: " << record._fileSize << oldRecord._fileSize;
record._fileSize = oldRecord._fileSize; // server might have claimed different size, we take the old one from the DB
}
_propagator->_journal->setFileRecord(record);
_propagator->_journal->commit("Remote Rename");

View file

@ -514,6 +514,8 @@ int SyncEngine::treewalkFile( TREE_WALK_FILE *file, bool remote )
// Even if the mtime is different on the server, we always want to keep the mtime from
// the file system in the DB, this is to avoid spurious upload on the next sync
item->_modtime = file->other.modtime;
// same for the size
item->_size = file->other.size;
// If the 'W' remote permission changed, update the local filesystem
SyncJournalFileRecord prev = _journal->getFileRecord(item->_file);
@ -543,6 +545,7 @@ int SyncEngine::treewalkFile( TREE_WALK_FILE *file, bool remote )
item->_isDirectory = isDirectory;
_syncItemMap.insert(key, item);
}
emit syncItemDiscovered(*item);
return re;
}
break;
@ -1082,8 +1085,17 @@ void SyncEngine::checkForPermission()
(*it)->_status = SyncFileItem::NormalError;
(*it)->_errorString = tr("Not allowed because you don't have permission to add subfolders to that folder");
for (SyncFileItemVector::iterator it_next = it + 1; it_next != _syncedItems.end() && (*it_next)->_file.startsWith(path); ++it_next) {
for (SyncFileItemVector::iterator it_next = it + 1; it_next != _syncedItems.end() && (*it_next)->destination().startsWith(path); ++it_next) {
it = it_next;
if ((*it)->_instruction == CSYNC_INSTRUCTION_RENAME) {
// The file was most likely moved in this directory.
// If the file was read only or could not be moved or removed, it should
// be restored. Do that in the next sync by not considering as a rename
// but delete and upload. It will then be restored if needed.
_journal->avoidRenamesOnNextSync((*it)->_file);
_anotherSyncNeeded = true;
qDebug() << "Moving of " << (*it)->_file << " canceled because no permission to add parent folder";
}
(*it)->_instruction = CSYNC_INSTRUCTION_ERROR;
(*it)->_status = SyncFileItem::NormalError;
(*it)->_errorString = tr("Not allowed because you don't have permission to add parent folder");

View file

@ -172,7 +172,7 @@ QByteArray Utility::userAgentString()
{
QString re = QString::fromLatin1("Mozilla/5.0 (%1) mirall/%2")
.arg(platform())
.arg(QLatin1String(MIRALL_STRINGIFY(MIRALL_VERSION)));
.arg(QLatin1String(MIRALL_VERSION_STRING));
QLatin1String appName(APPLICATION_SHORTNAME);