OneDriveGUI icon indicating copy to clipboard operation
OneDriveGUI copied to clipboard

Feature Request: Flatpak support

Open tazihad opened this issue 3 years ago • 7 comments

It would be awesome if you provide all of this inside flatpak including the abraunegg/onedrive

tazihad avatar Feb 13 '22 17:02 tazihad

Packaging of the GUI is definitely planned once it is a bit more polished. Flatpak does sound like the best solution as I personally do not plan on maintaining multiple packaging solutions.

I like the idea of including the client as well, just not sure how feasible it would be as I have no real experience with it. I will definitely look into it.

Help would be welcome.

bpozdena avatar Feb 14 '22 16:02 bpozdena

@tazihad

It would be awesome if you provide all of this inside flatpak including the abraunegg/onedrive

You cant flatpak the client itself due to its build | compilation requirements & use of directory structures that the 'flatpak' folk do not like. It is not possible.

The client is packaged already for many distributions. If you are using Ubuntu you must use the OpenSuSE Build Service packages.

abraunegg avatar Feb 14 '22 21:02 abraunegg

Some solution that works on Steam Deck without enabling developer mode would be appreciated, even if it were with reduced functionality. Flatpak is the preferred option but AppImage would also work. A client just needs to be integrated somehow because the root FS is read only by default.

KAMiKAZOW avatar Dec 17 '22 21:12 KAMiKAZOW

@KAMiKAZOW looks like there's an appimage release

tazihad avatar Dec 17 '22 22:12 tazihad

@KAMiKAZOW looks like there's an appimage release

It doesn't bundle the actual https://github.com/abraunegg/onedrive client which makes it non-functioning on SteamOS.

KAMiKAZOW avatar Dec 18 '22 08:12 KAMiKAZOW

It doesn't bundle the actual https://github.com/abraunegg/onedrive client which makes it non-functioning on SteamOS.

I can't bundle the client into the GUI AppImage, mostly due to dependency reasons. You could technically compile the client directly on the SteamDeck and then package it into the AppImage. You would also likely need to mount the ~/.config/ directories from some writable filesystem. Maybe also adjust path to the client executable in the GUI code. Not sure what else it would involve. I don't have a SteamDeck, so you are on your own.

bpozdena avatar Dec 18 '22 09:12 bpozdena

@bpozdena I created a Flatpak prototipe for this project. The app starts and connects, the systray works (on KDE). The onedrive client is included, no additional dependencies are required.

I'm not a Python expert, but it seems there are some hard coded paths, like this:

PROFILES_FILE = os.path.expanduser("~/.config/onedrive-gui/profiles")

Flatpak rely on XDG standards, like any decent DE. You should use some library like xdg-base-dirs to manage configurations and data files, it should fit better with sandboxing.

Good luck

Snapshot: onedrive-gui-flatpak

mbugni avatar Sep 09 '23 08:09 mbugni