andyholmes / flatter Goto Github PK
View Code? Open in Web Editor NEWBuild and host a Flatpak repository
Home Page: https://flatter.andyholmes.ca
License: GNU General Public License v3.0
Build and host a Flatpak repository
Home Page: https://flatter.andyholmes.ca
License: GNU General Public License v3.0
Add support for generating .flatpakref
's on-the-fly for apps, similar to what is done for .flatpakrepo
files.
when using gpg2 --armor --export
I get:
-----BEGIN PGP PUBLIC KEY BLOCK-----
mDMEZFBwmxYJKwYBBAHaRw8BAQdAJ0ko9gnnrEgZRSdWGX7dZphnDwRRR0RHg/6N
M1RVAkO0GWdyZWVuY2FwcHVjY2lub0BnaXRodWIuaW+ImQQTFgoAQRYhBAaeTyTC
uH95D8qNLHmkIk+s2UxLBQJkUHCbAhsDBQkDwmcABQsJCAcCAiICBhUKCQgLAgQW
AgMBAh4HAheAAAoJEHmkIk+s2UxLiUkBAJDbCajFtv50P5GggAgwi8wDKkL/6z3I
hjsiqUaSd/u9AQDvYiA4+wGV4b0kgocykpN1UOfUPDLkG8UQWMSqW6UfAbg4BGRQ
cJsSCisGAQQBl1UBBQEBB0CdOQmSO1eXPN88mcvMrpWjpmvVFsTrRtnc7RUDDWpk
HAMBCAeIeAQYFgoAIBYhBAaeTyTCuH95D8qNLHmkIk+s2UxLBQJkUHCbAhsMAAoJ
EHmkIk+s2UxLrMYBAP3uXj1LIRnOJRsNyIMdn+VtTucxiR1TGcJ02gZcCsgAAP99
0uiw1QXW28zZJMIXk5y6tuWiSegwwzHVTdNZlPXQCg==
=xm4n
-----END PGP PUBLIC KEY BLOCK-----
There is an extra checksum line at the end.
When running the Github Action, Flatter generates the line:
GPGKey=mDMEZFBwmxYJKwYBBAHaRw8BAQdAJ0ko9gnnrEgZRSdWGX7dZphnDwRRR0RHg/6NM1RVAkO0GWdyZWVuY2FwcHVjY2lub0BnaXRodWIuaW+ImQQTFgoAQRYhBAaeTyTCuH95D8qNLHmkIk+s2UxLBQJkUHCbAhsDBQkDwmcABQsJCAcCAiICBhUKCQgLAgQWAgMBAh4HAheAAAoJEHmkIk+s2UxLiUkBAJDbCajFtv50P5GggAgwi8wDKkL/6z3IhjsiqUaSd/u9AQDvYiA4+wGV4b0kgocykpN1UOfUPDLkG8UQWMSqW6UfAbg4BGRQcJsSCisGAQQBl1UBBQEBB0CdOQmSO1eXPN88mcvMrpWjpmvVFsTrRtnc7RUDDWpkHAMBCAeIeAQYFgoAIBYhBAaeTyTCuH95D8qNLHmkIk+s2UxLBQJkUHCbAhsMAAoJEHmkIk+s2UxLrMYBAP3uXj1LIRnOJRsNyIMdn+VtTucxiR1TGcJ02gZcCsgAAP990uiw1QXW28zZJMIXk5y6tuWiSegwwzHVTdNZlPXQCg===xm4n
Importing with the flatpak
command, it thinks that this is invalid:
error: Error modifying remote: GPG: Unable to export keys: GPGME: No data
As a consequence, the generated index.flatpakrepo
file does not work.
The solution is to remove the checksum at the end of the GPGKey
line. This works:
GPGKey=mDMEZFBwmxYJKwYBBAHaRw8BAQdAJ0ko9gnnrEgZRSdWGX7dZphnDwRRR0RHg/6NM1RVAkO0GWdyZWVuY2FwcHVjY2lub0BnaXRodWIuaW+ImQQTFgoAQRYhBAaeTyTCuH95D8qNLHmkIk+s2UxLBQJkUHCbAhsDBQkDwmcABQsJCAcCAiICBhUKCQgLAgQWAgMBAh4HAheAAAoJEHmkIk+s2UxLiUkBAJDbCajFtv50P5GggAgwi8wDKkL/6z3IhjsiqUaSd/u9AQDvYiA4+wGV4b0kgocykpN1UOfUPDLkG8UQWMSqW6UfAbg4BGRQcJsSCisGAQQBl1UBBQEBB0CdOQmSO1eXPN88mcvMrpWjpmvVFsTrRtnc7RUDDWpkHAMBCAeIeAQYFgoAIBYhBAaeTyTCuH95D8qNLHmkIk+s2UxLBQJkUHCbAhsMAAoJEHmkIk+s2UxLrMYBAP3uXj1LIRnOJRsNyIMdn+VtTucxiR1TGcJ02gZcCsgAAP990uiw1QXW28zZJMIXk5y6tuWiSegwwzHVTdNZlPXQCg==
Do you have any insight as to how this worked before, and why the repo import isn't working on my system right now? Much appreciated.
Hi :)
My glide nightly flatter failed last night, maybe a regression from yesterday?
https://github.com/philn/glide/actions/runs/7923949191/job/21634675468
Hey, first of all thanks for this project; I use it to deploy a repository and it's been working flawlessly so far.
One thing that seems to be missing is support for AppStream data provided via AppData files.
I don't have that much experience with Flatpak yet, but from what I understand, it's not only used for GUI Flatpak managers to have some more information to display, but also to show the application version when an application is listed in the Flatpak CLI (from the <releases>
section in the AppData file) as well as when searching via flatpak search
(among probably some other use cases).
I am exposing such AppData files in my manifests (e.g., here) in the same way as I've seen in Flathub repositories (e.g., here) but it's seemingly not used/working.
When I run flatpak update --appstream <my repository name>
I also get an error:
flatpak remote-add --if-not-exists flatpak.mser.at https://flatpak.mser.at/index.flatpakrepo
flatpak update --appstream flatpak.mser.at
error: Error updating appstream2: No such ref 'appstream2/aarch64' in remote flatpak.mser.at; Error updating appstream: No such ref 'appstream/aarch64' in remote flatpak.mser.at
I get the same error when adding your example repository, so I assume it's not just a mistake on my end:
flatpak remote-add --if-not-exists flatter https://flatter.andyholmes.ca/index.flatpakrepo
flatpak update --appstream flatter
error: Error updating appstream2: No such ref 'appstream2/aarch64' in remote flatter; Error updating appstream: No such ref 'appstream/aarch64' in remote flatter
Note that this was run from an aarch64 VM (to test the applications), but I do get the same error on x86_64 (it just says appstream/x86_64
instead of appstream/aarch64
then).
Am I missing something or is this just not supported right now? If the latter, are there any plans to add this? Sadly, I can't find much specific information about how this is supposed to work, except for this article which states the following on the matter:
AppStream branches
In order to support nice graphical frontends like gnome-software, flatpak uses a metadata format called AppStream. The way this works is that each application ships an AppData xml file, and an icon. Then when you run flatpak build-update-repo, each such xml file and icon are extracted and put in a separate per-arch appdata branch (called e.g. appstream/x86_64). Flatpak then mirrors this branch locally for each remote, and this data is used by gnome-software.
So, make sure your application ships an appdata file, and make sure you run build-update-repo to update the branches whenever an application changes.
Thank you!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.