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

make a flatpak for linux #129

Open
RustoMCSpit opened this issue May 3, 2024 · 7 comments
Open

make a flatpak for linux #129

RustoMCSpit opened this issue May 3, 2024 · 7 comments
Labels
install/build tool A tool to help with installing, building, and/or launching the program
Milestone

Comments

@RustoMCSpit
Copy link

https://www.flatpak.org/
flathub.org

it's linux's app sharing website

@Cutieguwu
Copy link

As a fellow linux user, I would like to point out that TagStudio is still in very early development, and probably shouldn't be packaged for flat quite yet.

Updating the flatpak would be an extra chore that isn't nessicary at this stage in TagStudio's development.

That being said, I'm not familiar with the flatpak packaging process. As one of flatpak's main purposes is stability, if it could, having it clone from the repo wouldn't make sense.

@RustoMCSpit
Copy link
Author

you just PR the app to the flathub repo and follow its instructions, having it compatible early on will prevent future forking being blocked due to design decisions now

@Loran425 Loran425 added the install/build tool A tool to help with installing, building, and/or launching the program label May 4, 2024
@Loran425
Copy link
Collaborator

Loran425 commented May 4, 2024

I'm not familiar with flatpaks but a cursory glance appears to show that sandboxing is one of the primary goals, and while re-enabling whole system or specific folder file access is possible it would be opening holes in that sandbox. Am I understanding the goal/limitations here properly or are there other details that support this as a distribution channel?

@RustoMCSpit
Copy link
Author

they use portals to escape sandbox. look at the docs or talk to the devs, they know more

@Qronikarz
Copy link

you just PR the app to the flathub repo and follow its instructions

Oh it's not "just". There can be some difficulties to actually make the app compatible with Flatpak due to the portals, but you are right that it's good to have it early at design stage.

re-enabling whole system or specific folder file access is possible it would be opening holes in that sandbox

Well, it's not that it disables the whole sandbox, but it just gives the permission to the folder and it's content. Users can either do it manually with Flatseal or the Program can have this specified from start.
Like, for example there is the Bottles program. It only sees files in it's folder so even when you point it the installer that is outside the permission, Bottles can't run it. I personally love it, but it has lead to many users just dismissing the program as not working because it couldn't open the files. There is also supposed to be a new portal to open file and neighbouring files which I think TagStudio would very much need to use in the future.

That being said even though I do use Flatpaks on daily basis and generally don't have any major complains the portability is one of those areas that Flatpak isn't the best (kind of). Running it from USB memory stick is pain compared to .exe on Windows, but it is portable in the sense that you can switch your whole Linux distro while retaining the Flatpak folder and the apps should work.

The .AppImage is better fit for portable apps. However It doesn't bundle all the runtimes like the Flatpak does so it may not run on every distro so you need to check it.

Packaging the programs, ain't it fun...

@xarvex
Copy link
Member

xarvex commented May 4, 2024

As @Qronikarz pointed out, making a Flatpak is not a trivial matter. As well, it does not make sense for the current infrastructure being a Python application experiencing rapid development, and wide scope changes as things are adjusted for user needs and experience.
That being said, the Tauri project builds into an AppImage, and should be able to be published to AppImageHub. Not Flatpak, but something alike. As well, once Tauri V2 is stabilized as a release, that brings support for Flatpak.
So as all to say, while a Flatpak will not be created now, it will be once the Tauri project takes over as a main TagStudio release and Tauri V2 is used.

@xarvex xarvex added this to the Tauri Version milestone May 4, 2024
@mak448a
Copy link

mak448a commented May 7, 2024

You can feel free to reference my Python QT app if you need help with flathub manifests for packaging.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
install/build tool A tool to help with installing, building, and/or launching the program
Projects
None yet
Development

No branches or pull requests

6 participants