jstaf / onedriver

A native Linux filesystem for Microsoft OneDrive
GNU General Public License v3.0
1.92k stars 96 forks source link

Support for Fedora Silverblue #230

Closed pos-ki closed 11 months ago

pos-ki commented 2 years ago

Hi, I was wondering if there is a way to make onedriver work on an immutable OS like Fedora Silverblue, as I am looking to switch to it and I use onedriver fairly often. If there is already a way, it might be specified in the README. Thanks!

jstaf commented 2 years ago

It can absolutely be made to work, just need to figure out the best way of doing so. I think from some very minimal reading that you can still install normal RPMs (like the ones for onedriver in COPR) via https://docs.fedoraproject.org/en-US/fedora-silverblue/getting-started/#package-layering

Ultimately, this would be improved by flatpak packaging and hosting onedriver on flathub. I still need to figure out how that process would work.

pos-ki commented 2 years ago

Sorry I did not realize this earlier, I completely forgot there was that option, as it is often listed as "the last resort". I suppose that it is okay to layer it like that before onedriver is released as flatpak (I am really looking forward to that btw!).

I tried it now in a VM and everything seemed to work fine, including setup in GUI or through terminal and the automatic mount on startup. The only thing that was necessary was to add the COPR info as a file downloaded from the Fedora COPR website, instead of doing it with a command. I am including the steps below, feel free to add them into the README if needed


  1. Download the .repo file from COPR for the correct version - "Fedora 35" for Silverblue 35 etc
  2. Move the file to /etc/yum.repos.d/
  3. rpm-ostree install onedriver
  4. Reboot to activate the layered package
  5. Follow existing steps to select the folder to mount the cloud storage to
pos-ki commented 2 years ago

To elaborate on what I talked about before, I also tried to install and run onedriver in a Toolbox, which should be the proper way of making it work on Silverblue. The installation inside the toolbox went perfectly fine, exactly the same way as it would on regular Fedora Workstation. However, when I tried to configure it (which, since it is installed in a toolbox, was only possible through CLI), I was not able to make it work. It seems that the problem is that access to /usr is required, but this directory is read-only on an immutable OS.

So, to conclude this testing, I would say that the only option to make this work is to layer onedriver on top of the base OS, using the method I described in the previous comment.