Skip to content

Conversation

@arrowd
Copy link
Contributor

@arrowd arrowd commented Jul 28, 2025

TL;DR version:
This is required to have fancy app descriptions in GUI software management applications like Plasma Discover or Gnome Software: https://arrowd.name/discover-appstream.jpg

Long version:
AppStream is a spec that describes software components and a tooling to produce and consume the software's metadata.

The process begins with a tool called appstream-generator that takes OS packages as input and analyzes it. It can analyze a whole repo, but this is slow because it requires unpacking each package. Another way to use it is to feed it an unpacked package (STAGEDIR in our terms), which is much faster. After performing the analysis and if the package is deemed "interesting" for AppStream, it gets added to the appstream-generator's internal DB.

After all the info is gathered into DB, one should run appstream-generator publish to produce a set of files that represent the software catalog of our package repo. These files should be hosted somewhere and be synchronized with the pkg repo.

On the client side the user enables the ports-mgmt/pkg-appstream plugin that downloads software catalog during the pkg update and place it into appropriate location (/var/db). Finally, the consumers of the AppStream metadata pick it from there.

This change makes Poudriere run the appstream-generator steps

  • During testport at the end of the successful build
  • During bulk after each package's successful build
  • At the end of bulk

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant