flathub / com.makemkv.MakeMKV

https://flathub.org/apps/details/com.makemkv.MakeMKV
9 stars 20 forks source link

Can't save rip to alternative hard drive #6

Closed Blu-Shield closed 4 years ago

Blu-Shield commented 5 years ago

Currently, the only filesystems that the MakeMKV Flatpak is allowed to access are /home and optical drives. You can see the filesystem permissions in com.makemkv.MakeMKV.json:

There are use cases in which it may not be acceptable for the user to save their rips in their /home directory. For example, my /home directory is on a small SSD, and I wouldn't be able to fit the contents of a dual-layer Blu-ray (let alone a 3D Blu-ray or UltraHD Blu-ray) in my /home directory. I normally configure space-intensive applications to save their large files either to my internal HDD, or to an external HDD. But the MakeMKV Flatpak can't access either the internal or external HDD, due to lack of permissions.

I can see 2 ways of fixing this (note: I don't have any prior experience with Flatpak development, other than following bug reports, so some of my example code may be wrong):

I know that KeePassXC (which also depends on the KDE runtime) has been using FileChooser for a while (see https://github.com/flathub/org.keepassxc.KeePassXC/issues/2 for evidence of this); as such, it might be useful to study how the KeePassXC Flatpak works.

wberrier commented 5 years ago

I also ran into this. After asking about this on #flatpak, it was suggested to use an "override" to add a permanent setting to an application to allow access to a different mount point. For example:

flatpak override --user --filesystem=/my-mount com.makemkv.MakeMKV

That being said, if there's a better and more generic way to do this via FileChooser portal where the user didn't have to configuring anything extra, it's worth looking into.

I'm a little hesitant to use some hard coded mount points if a more generic mechanism can be used, but maybe there's no harm in adding a bunch of defaults.

harbdog commented 4 years ago

I couldn't get the flatpak override to work at all with my external drive mounted under /mnt/hdd, I just had to end up using workaround by mounting the external drive somewhere under /home, in my case my external drive is really just my secondary HDD (non-SSD) so I mounted it as /home/hdd. That finally allowed me to use it from MakeMKV installed via snap on Linux Mint.