endless-sky icon indicating copy to clipboard operation
endless-sky copied to clipboard

Support the Flatpak build officially?

Open quyykk opened this issue 1 year ago • 20 comments

Currently there's a Flatpak for ES, but it is currently unofficial, as in it is provided by others (thanks for that!).

I think it makes sense to provide the Flatpak officially, so that we can for example automatically publish a new release on Flathub using our release CI workflow.

Thoughts?

Tagging @Pointedstick cause he might be interested as well?

quyykk avatar Aug 19 '22 01:08 quyykk

Definitely interested. :)

Currently the way for Flatbub to get your package requires it to be submitted and updated there, on their infrastructure. You don't build it here and then submit it there. So if folks here want to take part in maintaining the Flathub package, you would contact the Flathub folks, mention that you're developers of the upstream project, and request commit access to the packaging repo for Endless Sky. I could do that too.

Automated updates are actually already possible without manual intervention, but you need to set it up in the manifest file. I see in https://github.com/flathub/io.github.endless_sky.endless_sky/blob/master/io.github.endless_sky.endless_sky.json that it hasn't been implemented for ES yet. It might be a good first PR.

Pointedstick avatar Aug 19 '22 02:08 Pointedstick

Currently the way for Flatbub to get your package requires it to be submitted and updated there, on their infrastructure. You don't build it here and then submit it there.

I found a Github action that builds and deploys using CI. So it seems like it's possible?

Also I just noticed that there's an ARM64 build of ES too; pretty cool.

quyykk avatar Aug 19 '22 12:08 quyykk

I found a Github action that builds and deploys using CI. So it seems like it's possible?

That'll build a Flatpak here, in this repo. Which is fine. But it won't do anything for the build on flathub.org.

For that, I've added automatic checking in https://github.com/flathub/io.github.endless_sky.endless_sky/pull/5, so the build on Flathub can update itself automatically when a new tarball is created here.

Pointedstick avatar Aug 31 '22 22:08 Pointedstick

Ah nice! Thanks!

But it won't do anything for the build on flathub.org.

Isn't it possible using the deploy section in that action? I mean, unless I'm misunderstanding this I'm very new to flatpak. OBS also seems to do it: https://github.com/obsproject/obs-studio/blob/master/.github/workflows/flatpak.yml#L96

quyykk avatar Aug 31 '22 22:08 quyykk

Interesting, I wasn't aware that was possible yet. If it is, then yeah, let's use it. We'll probably have to talk with some Flathub people to transition the existing build there from being generated locally there to being generated by us here.

Pointedstick avatar Aug 31 '22 22:08 Pointedstick

The license information in the ES of the flathub is not correct because ES 0.9.14 also has artworks published by CC-BY-4.0 and CC-BY-NC-3.0. Would you correct it when you would make it official? The future version of ES will have more various licenses.

oo13 avatar Sep 01 '22 10:09 oo13

FWIW the NC variants were removed as part of #6659

MCOfficer avatar Sep 01 '22 10:09 MCOfficer

#6663 removed NC variants and added artworks published by CC-BY-2.0 and Pixabay License after releasing 0.9.14. README.md was updated by #7033.

oo13 avatar Sep 01 '22 11:09 oo13

I can correct it now on the flathub build. What would be the correct thing?

Pointedstick avatar Sep 01 '22 12:09 Pointedstick

I wrote a script that scrapes the copyright file and this is the output (for 0.9.14):

{'GPL-3+', 'CC-BY-NC-3.0', 'CC-BY-4.0', 'public-domain', 'CC-BY-SA-4.0', 'CC-BY-3.0', 'CC-BY-SA-3.0'}

quyykk avatar Sep 01 '22 12:09 quyykk

Looks like that change actually needs to be made here in the app's appdata file, which FlatHub pulls info from.

Pointedstick avatar Sep 01 '22 16:09 Pointedstick

Note that the CC-BY-NC-3.0 is not a free software license and will cause the game to get flagged as "non-free" or "proprietary" in various contexts, so we may want to re-think the licensing of that content or replace it with a free license.

Pointedstick avatar Sep 01 '22 17:09 Pointedstick

so we may want to re-think the licensing of that content or replace it with a free license.

Yes that has already happened, and 0.9.15 is going to release soon so.

quyykk avatar Sep 01 '22 17:09 quyykk

So... it's only an issue in the 0.9.14 release but not the upcoming 0.9.15 release?

Pointedstick avatar Sep 01 '22 17:09 Pointedstick

Correct.

quyykk avatar Sep 01 '22 17:09 quyykk

Let's let the issue get solved automatically by a new release, then. :)

Pointedstick avatar Sep 01 '22 17:09 Pointedstick

so we may want to re-think the licensing of that content or replace it with a free license.

Yes that has already happened, and 0.9.15 is going to release soon so.

NO. Pixabay License is non-free in GNU standard. According to README.md, MZ and devs didn't care ES artworks are free or non-free in GNU standard. I thought we agreed it...

oo13 avatar Sep 01 '22 23:09 oo13

Good call, I'd forgotten about that. Ref #6961, in case anyone else lost track of that

MCOfficer avatar Sep 01 '22 23:09 MCOfficer

Hmm, that's not ideal. How many Pixabay assets do we have?

Pointedstick avatar Sep 02 '22 16:09 Pointedstick

#7202 replaces the offending images. If that is merged we'll only have CC licensed assets.

quyykk avatar Sep 03 '22 21:09 quyykk

@Pointedstick do I understand correctly that Anitya will automatically update the flatpak?

quyykk avatar Oct 04 '22 19:10 quyykk

It will indeed, once https://release-monitoring.org/project/10359/ sees the new release. It doesn't yet.

Pointedstick avatar Oct 04 '22 20:10 Pointedstick

How can the flathub entry be updated? It still refers to 0.9.14 https://flathub.org/apps/details/io.github.endless_sky.endless_sky

quyykk avatar Oct 17 '22 15:10 quyykk

Oh, it's because we haven't added the new release data to our appdata file here in this repo. The latest one in there is 0.9.14. Flathub pulls release numbers from that, as do many other Linux things, so we're currently misleading everyone! We need to make sure to add a new release in the appdata file when we make a release, before finalizing the tarball for that release.

Pointedstick avatar Oct 17 '22 23:10 Pointedstick