Is using upstream metadata blocked now?

For the first time for the gramps flatpak, today the flathub test builder blocked the manifest from using an upstream metainfo.xml file. The Gramps app normally uses the build process to create the metafile.xml, but gramps-project asked me to use an xml file with a lot of translations in it instead of what the test builder for flathub created. I am guessing that the reason for the flathub created metainfo.xml being unsatisfactory is that it is missing some languages.

Here is the metainfo.xml that gramps-project told me to use

Here is the manifest command at line 198 that when uncommented, causes the build to fail at flathub.

How may I obtain the metainfo.xml created by the flathub compiling? I need to submit that file upstream to gramps-project for approval since I can no longer use the metainfo.xml that they want to be used for the flatpak. Is there any workaround to continue using the gramps-project metainfo.xml?

Below is the error that cause test build to fail until I commented out line 198

FB: Running: appstreamcli compose --no-partial-urls --prefix=/ --origin=org.gramps_project.Gramps --media-baseurl=https://dl.flathub.org/media --media-dir=/srv/buildbot/worker/build-x86_64-4/build/.flatpak-builder/rofiles/rofiles-qqYNFH/files/share/app-info/media --result-root=/srv/buildbot/worker/build-x86_64-4/build/.flatpak-builder/rofiles/rofiles-qqYNFH/files --data-dir=/srv/buildbot/worker/build-x86_64-4/build/.flatpak-builder/rofiles/rofiles-qqYNFH/files/share/app-info/xmls --icons-dir=/srv/buildbot/worker/build-x86_64-4/build/.flatpak-builder/rofiles/rofiles-qqYNFH/files/share/app-info/icons/flatpak '--components=org.gramps_project.Gramps,org.gramps_project.Gramps.desktop' /srv/buildbot/worker/build-x86_64-4/build/.flatpak-builder/rofiles/rofiles-qqYNFH/files
Only accepting components: org.gramps_project.Gramps, org.gramps_project.Gramps.desktop
Processing directory: /srv/buildbot/worker/build-x86_64-4/build/.flatpak-builder/rofiles/rofiles-qqYNFH/files
Composing metadata...
Run failed, some data was ignored.
Errors were raised during this compose run:
general
E: filters-but-no-output
org.gramps_project.Gramps
E: duplicate-component
Refer to the generated issue report data for details on the individual problems.
Error: ERROR: appstreamcli compose failed: Child process exited with code 1
FB: Unmounting read-only fs: fusermount -uz /srv/buildbot/worker/build-x86_64-4/build/.flatpak-builder/rofiles/rofiles-qqYNFH
program finished with exit code 1
elapsedTime=517.202085

Hi Scott,

we’ve been using effectively unmaintained AppStream library for at least the last 2 years, and we’ve recently switched to the one which is developed and follows the spec, see more details here: Improved build validation, increased moderation, and the long-awaited switch to libappstream | Flathub Documentation

The problem with Gramps seems to be they’re installing their own file under the deprecated file extension: gramps/setup.py at f41cddcd2f3f2164de43596d39ca1aa835fff38f · gramps-project/gramps · GitHub

This causes the tooling to process both files and create a multi-component catalog. If you add a post-install step to remove /app/share/metainfo/${FLATPAK_ID}.appdata.xml, it should be fine with your version of the file.

1 Like

@barthalion Thank you for not just explaining the issue, but also giving the solution. It works now.

2 Likes