Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE] Release a Flatpak version #108

Open
mario33881 opened this issue Feb 27, 2023 · 0 comments
Open

[FEATURE] Release a Flatpak version #108

mario33881 opened this issue Feb 27, 2023 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@mario33881
Copy link
Owner

To provide snapcraft-like features (like the ability to install betterSIS via GUI and keeping it up to date) to a more broad userbase betterSIS should also be released as a Flatpak.

snapcraft targets primarily Ubuntu users.

The major obstacle is to allow SIS to find files that are placed inside an hardcoded path:

/usr/local/share/sis

A possible solution that I've found is to use proot: thanks to the -b flag it is possible to "redirect" SIS from the hardcoded path to a custom path which is inside the flatpak container.

From the proot wiki:

The bind mechanism enables one to relocate files and directories. This is typically useful to trick programs that perform access to hard-coded locations, like some installation scripts

Source: https://github.com/proot-me/proot/blob/master/doc/proot/manual.rst#mount---bind-equivalent

I tried it very briefly using this command and it seems to work:

proot -b $PWD/my_sis_folder:/usr/local/share/sis sis

To verify that it works I have copied the files from /usr/local/share/sis inside a folder, redirected SIS to that folder and launching the source script.rugged command. I have then tried to redirect /usr/local/share/sis to a folder that does NOT have SIS files and the source script.rugged command returns a message "file not found".

So the simple solution is to package proot inside the container and use it to execute SIS...

Does calling proot on betterSIS work? Or it must be called on SIS itself? If it only works on SIS then the siswrapper library might need changes to allow the execution of SIS using proot

... But proot is GPL-2 licensed and I don't know if this means that betterSIS must also be GPL licensed.
From what I've found online it seems like distributing a non-modified binary protected by GPL inside a container together with an application that doesn't include the GPL source code is allowed but I'm not sure.

For example I've found people distributing the ffmpeg and pandoc binaries with their application without any issue.

@mario33881 mario33881 added the enhancement New feature or request label Feb 27, 2023
@mario33881 mario33881 self-assigned this Feb 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant