Integrate App Store Packaging into App Repos and Release Tools
Open, Needs TriagePublic

Description

To change the culture of KDE to take control of shipping out apps into stores we need to integrate app store packaging with app repos and release tools.

That means putting snapcraft/flatpak/appimage etc packaging into repos. This is already done by leading apps such as Krita and Digikam and is industry norm outwith KDE.

The release tools need to bump up the version numbers same as they do for appstream and cmake files.

Maybe there should be two packaging files, one pointing to the current git repo branch and one pointing to the released tar URL for easier testing. The release tools could copy over the git repo branch file and switch in the tar URL.

Ultimately it should be all integrated into invent gitlab pipelines and CI builders and openQA style testing.

One problem we have is KDE has release-tools for KDE Gear, releaseme for other stuff but that doesn't bump release versions, and custom scripts for everything else.

Maybe make a standard directory structure such as Krita has for all repos.

jriddell updated the task description. (Show Details)
apol added a subscriber: apol.Apr 20 2021, 11:30 AM

I agree with the overall goal, some details follow.

In general, it seems wrong that updating urls is needed. If a tarball/repo has a recipe (be it a flatpak json, snapcraft.yaml or Dockerfile) for building that one project, it should contain all it needs.

In fact, it would be wrong if you download and build a project from git master and it starts downloading a tarball from elsewhere.

As previous art, we've already been doing something like that for Android, where we're including the AndroidManifest.xml within the repositories. It should not be all that different even though they integrate very differently in the build process.

aacid added a subscriber: aacid.Apr 22 2021, 9:25 PM

The release tools need to bump up the version numbers same as they do for appstream and cmake files.

We should not have the version in 45 different places, ideally cmake should be the source of truth and the rest get the version from there, or if cmake can't be the place, some other place that cmake and all the other things that need the verison can read from. The more different places we store things the harder it gets to keep in sync.

aacid added a comment.Apr 22 2021, 9:32 PM

To change the culture of KDE to take control of shipping out apps into stores we need to integrate app store packaging with app repos and release tools.

This is not how you change culture, you change culture by convincing people this is a good idea, you can't force people into the truth, they have to convince themselves of it.

bam added a subscriber: bam.Apr 23 2021, 12:49 PM

For appimage: I would rather prefer if e.g. Craft would produce these (as it already does) and the stuff for that stays in the craft blueprints.