Commit graph

31 commits

Author SHA1 Message Date
abraunegg
40e0ca4462
Implement Desktop Manager Integration for GNOME and KDE (#3500)
Implement full “Display Manager Integration” support for both GNOME and KDE desktop environments. This new feature allows the OneDrive Client for Linux to detect the active desktop session and automatically:

* Register the configured sync_dir as a “special place” or sidebar entry within the file manager (Nautilus on GNOME; Dolphin on KDE).
* Apply a custom “onedrive” folder icon to the synchronisation directory when the installed icon theme supports it.
* Cleanly install and uninstall required resources (icons, bookmarks, file manager integration) via the Makefile’s install and uninstall targets, thereby supporting system-wide installations, packaging workflows, and per-user installs.
* Introduce a new configuration option display_manager_integration (boolean) to enable or disable this integration behaviour at runtime.
* Update documentation and usage guidance to clearly explain what “Display Manager Integration” means, what this client implements (sidebar entry + icon) and what features remain out-of-scope (context menus, overlay badges, tray icons).
* Ensure safe, idempotent integration logic for both GNOME and KDE (bookmark manipulation, icon theme detection, cache refresh) with fallbacks and minimal dependencies.

With this merge, users installing via make install or system packages will benefit from enhanced desktop usability: the OneDrive folder appears visibly and intuitively within their standard file manager sidebar, making access and identification simpler. At the same time, the core sync engine remains focused on reliable file synchronisation, with the desktop integration layer remaining optional and disabled by default unless explicitly enabled via configuration.
2025-11-03 14:26:49 +11:00
Eduard Abdullin
5458660faf
Add support for AlmaLinux (#3485)
* Add support for AlmaLinux

---------------------
Signed-off-by: eabdullin <ed.abdullin.1@gmail.com>
2025-10-23 05:58:21 +11:00
abraunegg
10048d8bca
Implement FR #2360: Add websocket notification support (#3413)
* Implement FR #2360: Add websocket notification support
2025-10-05 07:09:27 +11:00
abraunegg
61e5a1edb6
Implement FR #3209: Add native support for authentication via Intune dbus interface (#3274)
* Adds support for calling `acquireTokenInteractively` and `acquireTokenSilently` via D-Bus
* Parses and handles the full `brokerTokenResponse` object returned by the Intune broker
* Stores and reuses `account` data to enable silent token refresh without repeated interactive authentication
* Ensures the access token and its expiry time are properly calculated and stored for consistent token management
* Fallback to interactive authentication is triggered if silent authentication fails
2025-05-26 17:14:50 +10:00
Andrei Horodniceanu
71bfab619e
Makefile.in: Pass libraries after source files in compiler invocation (#3272)
When building with gdc alongside the linker flag -Wl,--as-needed the
build fails with unresolved symbol errors. dmd and ldc2 are not
affected since they internally pass the generated object file before
other linker flags.

This also matches the standard GNU make rules.

Signed-off-by: Andrei Horodniceanu <a.horodniceanu@proton.me>
2025-05-13 06:53:52 +10:00
Andrei Horodniceanu
025c756c0c
Implement FR #2472: Add gdc support (#3213)
* Makefile.in: Use $^ for specifying dependencies

This fixes out-of-source builds.

Signed-off-by: Andrei Horodniceanu <a.horodniceanu@proton.me>

* Makefile.in: Pass required build flags outside of DCFLAGS variable

This allows specifying custom DCFLAGS when invoking make

Signed-off-by: Andrei Horodniceanu <a.horodniceanu@proton.me>

* Move compiler specific options into configure.ac from Makefile.in

Signed-off-by: Andrei Horodniceanu <a.horodniceanu@proton.me>

* Add support for building with gdc

Closes: https://github.com/abraunegg/onedrive/issues/2472
Signed-off-by: Andrei Horodniceanu <a.horodniceanu@proton.me>

* docs: Document gdc support

Signed-off-by: Andrei Horodniceanu <a.horodniceanu@proton.me>

---------

Signed-off-by: Andrei Horodniceanu <a.horodniceanu@proton.me>
Co-authored-by: abraunegg <alex.braunegg@gmail.com>
2025-04-16 19:03:12 +10:00
abraunegg
f8123a2b0a
Implement FR #2719: Add information about file creator/last editor as extended file attributes (#3113)
* Implement feature request to add information about file creator/last editor as extended file attributes
* On a --resync , if the data exists on disk, and 'write_xattr_data' has been enabled, write the xattr data out
2025-02-20 21:14:04 +11:00
abraunegg
04a3ab32c0
Change dynamic linker to Linux only to correctly support FreeBSD and OpenBSD (#3069)
* Change dynamic linker to Linux only to correctly support FreeBSD and OpenBSD
* Add OpenBSD support to 'configure'
2025-01-13 19:37:38 +11:00
abraunegg
260be9496a
Support FreeBSD - Code and documentation changes to support FreeBSD (#3048)
* Code and documentation changes to support FreeBSD
2025-01-13 15:32:18 +11:00
abraunegg
a3522fda30
OneDrive Client for Linux v2.5.0 (#2805)
OneDrive Client for Linux v2.5.0

---------

Signed-off-by: Thomas Staudinger <Staudi.Kaos@gmail.com>
Co-authored-by: JC-comp <147694781+JC-comp@users.noreply.github.com>
Co-authored-by: Dimitri Papadopoulos Orfanos <3234522+DimitriPapadopoulos@users.noreply.github.com>
Co-authored-by: Pierrick Caillon <megamisan@users.noreply.github.com>
Co-authored-by: Pierrick Caillon <pierrick.caillon@megami.fr>
Co-authored-by: Thomas Staudinger <Staudi.Kaos@gmail.com>
Co-authored-by: Yuan Liu <Lyncredible@users.noreply.github.com>
2024-09-16 11:14:46 +10:00
abraunegg
44937abeb8
Update RHEL7, RHEL8 and RHEL9 Makefile and SPEC file compatibility (#2256)
* Update RHEL7, RHEL8 and RHEL9 Makefile and SPEC file compatibility with /etc/redhat-release
2022-12-08 05:38:38 +11:00
abraunegg
d57a695632
Add option to request readonly access in oauth authorization step (#2065)
* Add option to request readonly access in oauth authorization step
* Add application-security.md to document application security
2022-08-06 08:24:51 +10:00
abraunegg
b6c28fd2b3
Be consistent with permissions that are being assigned (#2075)
* Update makefile to ensure permissions being assigned are consistent
2022-08-05 05:42:53 +10:00
abraunegg
04c65f9b48
Fix installation permissions for onedrive man-pages file (#1953)
* Fix installation permissions for onedrive man-pages file
2022-05-06 08:24:05 +10:00
Yuan Liu
1e2827ad1c
Add Real-Time syncing of remote updates via webhooks (#1718)
* Add Real-Time syncing of remote updates via webhooks

Co-authored-by: abraunegg <alex.braunegg@gmail.com>
2021-11-24 06:54:28 +11:00
abraunegg
ac2e07526a
Revert PR #1626 (#1716)
Revert PR #1626 due to deprecation function that needs to be resolved before PR can be merged again
2021-11-23 11:14:29 +11:00
Yuan Liu
bfeeae91de
Add Real-Time syncing of remote updates via webhooks (#1626)
* Add Real-Time syncing of remote updates via webhooks

Co-authored-by: abraunegg <alex.braunegg@gmail.com>
2021-11-23 07:06:13 +11:00
abraunegg
525504f91a
Rename Office365.md to SharePoint-Shared-Libraries.md (#1232)
* Rename Office365.md --> SharePoint-Shared-Libraries.md which better describes this document
2021-01-20 09:26:38 +11:00
abraunegg
545fdcd692
Release files for 2.4.8 (#1167)
* Release files for 2.4.8
2020-11-30 16:39:36 +11:00
Brandon Goddard
2b7e36d57f
Fish Tab Auto-completions (#991)
* Created the set of auto-completes that Bash returns with '-<tab>' and '--<tab>'.  Made sure that --synchronize and -m/--monitor can't be used together based on the "#exclude some mutually exclusive options" in complete.bash file.
* Add fish variables and checks to configure (mirroring zsh).
* Add the FISH_COMPLETION_DIR variables and the install and remove instructions for the onedrive.fish completions file.
2020-07-09 16:05:48 +10:00
abraunegg
9cc72c2396
Implement OneDrive Business Shared Folders Support (Issue #459) (#473)
* Implement OneDrive Business Shared Folders Support
2020-06-27 19:10:37 +10:00
Norbert Preining
4fcab8ff56 Fix rebuilding of onedrive, but ensure version is properly updated (#731)
* Fix rebuilding of onedrive, but ensure version is properly updated
2019-11-23 11:33:22 +11:00
Norbert Preining
9d0a6539bd Remove unused and unexported SED variable in Makefile.in (#687)
* Remove unused and unexported SED variable in Makefile.in
2019-10-09 14:28:03 +11:00
abraunegg
79f4b22f3e
Add back CentOS 6 install & uninstall to Makefile (#601)
* Re-implement PR #353 which somehow got lost along the way
* Update CentOS 6 build instructions
2019-07-23 17:31:47 +10:00
Norbert Preining
7588774efb Fix building without git available (#554)
The current code requires git even if there is not .git directory.
Switch to piping the output of git directly to the version file,
which makes sure that it is not called during if evaluation.

Report and patch thanks to Sebastian Graf (sgraf812)
2019-06-23 07:57:40 +10:00
Norbert Preining
f1211a20d1 get rid of forced root necessity during installation (#538)
Remove the creation of /var/log/onedrive directory. The default is
not to log, and fall back to logging to home directory. It is
the obligation of the system administrator to create these
directory. Furthermore, we don't know whether the group "users"
is actually present.

Remove the owner/group specification from the directory creation.
We install the actual service files without owner/group specs
anyway.

Update USAGE.md to document this.
2019-06-16 05:54:07 +10:00
Norbert Preining
4aa8c1e267 Fix building on docker hub and older install programs (#529)
* Work around broken install
* Create docs dir with mkdir
2019-06-13 06:25:24 +10:00
Norbert Preining
284e272e8f Install doc files without sub-directory (#527)
* Install doc files without sub-directory
2019-06-12 19:31:42 +10:00
abraunegg
7cf2912d2d
Rework directory layout and refactor MD files for readability (#523)
* Move lots of stuff into contrib directory to clean up root folder
* Update autoconf files for new location of some files
* Refactor README split and move to docs directory
* Update INSTALL.md
* Update Makefile.in
* Install docs from new location
* Uninstall docs correctly
* Update Dockerfile
* Fix up Dockerfile spacing
* Move systemd stuff to contrib
* Move docker specific stuff to contrib/docker, update docs
* Fix Alpine and Stretch docker files
* Update configure after changed file locations
* Update INSTALL.md to include pkg-config as requirement
* Move also entrypoint.sh to contrib/docker
* Update 'min-notif-changes' to 'min-notify-changes' which was missed in PR #467
* Update to add --sync-root-files to usage.md and man page
* Update usage.md to include --auth-files ARG details
2019-06-11 18:40:05 +10:00
abraunegg
0280625898
Update Makefile for RHEL/CentOS 7 systemd locations & fix uninstall of unit files (Issue #495) (#496)
* Add check for RHEL/CentOS system as there is no user unit dir on those platforms
* Install unit files to correct location on RHEL/CentOS
* Fix up unit file removal on all platforms
2019-05-11 01:51:36 +10:00
Norbert Preining
c8e47a47ff autoconf based build system (#287)
* Add autoconf based build system
2019-04-17 11:06:24 +10:00