* When a parental path is to be excluded, and it is an exact match to be excluded, but further 'included' by a wildcard path match, the parental path exclude needs to take precedence, so that empty local directories are not created when they are mean to be excluded
* Update the detection handling of enabling any configuration item change for the first time that required a --resync. Previously initial config changes were being missed.
* When exiting the application when using --synchronize, display that the sync is complete if we are exiting cleanly and all sync operations are complete
* systemd: use PrivateUsers= in user unit
ProtectSystem= and other sandboxing options require a user namespace in
order to work as user units (the user manager does not run as root and
thus without a user namespace it is unable to perform mounts).
* Add a try & catch block for testing if the file exists locally to catch any filesystem error that may be generated
* Test path to be valid if a symbolic link
* Add developer option 'display_processing_time' to control if performance timing is outputted or not
* If option is enabled, print performance data around how long key functions are taking to process data to assist with understanding any performance related questions
* Update docker.yaml to downgrade setup-qemu-action to use qemu-v6.2.0-26 because when using 'tonistiigi/binfmt:latest' - this uses qemu-v7.0.0-28, which, causes a build failure 'Out of memory allocating XXX bytes' for Fedora ARMv7 builds
* Update skip notification handling for the following scenarios:
* Invalid Name (Microsoft Naming Convention)
* Invalid Name (Contains an invalid whitespace item)
* Invalid Name (Contains HTML ASCII Code)
* Invalid Item (Invalid symbolic link)
Update to the rpm build docs to ensure the tar.gz file is the same version as in the spec.in file
onedrive.spec.in references version v2.4.20 however the docs reference 2.4.15
Co-authored-by: abraunegg <alex.braunegg@gmail.com>
Updating the line
%{_unitdir}/%{name}.service
to
%{_userunitdir}/%{name}.service
This fixes the issue when building the RPM on RHEL7/8/9 with the following error:
RPM build errors:
File not found: /root/rpmbuild/BUILDROOT/onedrive-2.4.20-1.el7.x86_64/usr/lib/systemd/system/onedrive.service
This is due to the file actually being created in:
/root/rpmbuild/BUILDROOT/onedrive-2.4.20-1.el7.x86_64/usr/lib/systemd/user/onedrive.service
Changing _unitdir to _userunitdir fixes this error and allows the RPMs to be build correctly.
* Rather than force exit if unable to lock the database, add a function and boolean to control if the database access has been init was successful. If not, use the exit scopes to exit the application
* Fix that the --resync option is wrongly enforced when the OneDrive client is started with --list-shared-folders option or other non-sync options. This only happens when configuration changes are detected.