Skip to content

builder-manifest: Port to libappstream-compose API#664

Draft
bbhtt wants to merge 6 commits into
mainfrom
bbhtt/appstream-api
Draft

builder-manifest: Port to libappstream-compose API#664
bbhtt wants to merge 6 commits into
mainfrom
bbhtt/appstream-api

Conversation

@bbhtt
Copy link
Copy Markdown
Contributor

@bbhtt bbhtt commented Sep 8, 2025

Subject to API stability

1.5.0 unstable material.

This does not compile, as the asc-fonts private header is missing from appstream installation. The appstream-compose header needs to be patched right now to get it building Solved by stub header.

Comment thread src/builder-manifest.c Outdated
Comment thread src/builder-manifest.c
@bbhtt bbhtt force-pushed the bbhtt/appstream-api branch 2 times, most recently from f9cc8fb to 6fcd407 Compare September 8, 2025 08:29
@bbhtt
Copy link
Copy Markdown
Contributor Author

bbhtt commented Sep 8, 2025

Which version fixed this?

 In file included from /usr/include/appstream-compose/appstream-compose.h:32,
                 from ../src/builder-manifest.c:34:
/usr/include/appstream-compose/asc-globals.h:65:1: error: function declaration isn’t a prototype [-Werror=strict-prototypes]
   65 | gchar                           **asc_globals_get_hint_tags ();
      | ^~~~~
cc1: some warnings being treated as errors

@bbhtt bbhtt marked this pull request as ready for review September 8, 2025 08:51
@bbhtt
Copy link
Copy Markdown
Contributor Author

bbhtt commented Sep 8, 2025

Also, would be nice to know around which version the API is expected to be stable. If I have to require a newer version anyway for that, I can drop the stub header, the AS_VERSION_CHECK, the bug above and other tiny things to simplify things for me.

@ximion
Copy link
Copy Markdown
Contributor

ximion commented Sep 8, 2025

Which version fixed this?

I have no idea. At least since 0.16.2, from 2y ago. This API has been used via introspection bindings from Python and D for the longest time.

Also, would be nice to know around which version the API is expected to be stable.

I don't know yet, there have been some changes very recently... The earliest possible version where I'd drop the unstable label is 1.1.1, then it had at least a little bit of time to be tested with the new appstream-generator.

That said, all of the API you are using is unlikely to change. The entirety of AscCompose is almost guaranteed to not change, it hasn't changed for years now.

Comment thread src/builder-manifest.c
@bbhtt bbhtt added this to the 1.5.0 milestone Sep 9, 2025
@bbhtt
Copy link
Copy Markdown
Contributor Author

bbhtt commented Sep 18, 2025

Looks like appstream 1.1.0 switched libyaml with libfyaml (I've never heard of the latter). I guess this means >=1.1.0 will not reach Ubuntu 24.04?

@ximion
Copy link
Copy Markdown
Contributor

ximion commented Sep 18, 2025

Ubuntu wouldn't update to new major releases of basically anything anway, AFAIK it never updated an AppStream version after release.

The new release is rather trivial to backport though, libfyaml is available everywhere, also on Ubuntu 24.04.

@bbhtt bbhtt removed this from the 1.5.0 milestone Mar 9, 2026
@bbhtt bbhtt marked this pull request as draft March 9, 2026 01:58
@bbhtt bbhtt force-pushed the bbhtt/appstream-api branch 2 times, most recently from 2fedc96 to 862f9c9 Compare April 27, 2026 05:03
@bbhtt bbhtt added this to the 1.5.0 milestone May 13, 2026
@bbhtt bbhtt force-pushed the bbhtt/appstream-api branch 2 times, most recently from 9b62aa0 to c0eba79 Compare May 19, 2026 02:34
@bbhtt bbhtt marked this pull request as ready for review May 19, 2026 02:35
@bbhtt bbhtt force-pushed the bbhtt/appstream-api branch 2 times, most recently from 6ba7164 to 62d7033 Compare May 19, 2026 03:27
@bbhtt bbhtt changed the title builder-manifest: Initial port to libappstream-compose API builder-manifest: Port to libappstream-compose API May 19, 2026
@bbhtt bbhtt force-pushed the bbhtt/appstream-api branch from 62d7033 to ccbe85c Compare May 23, 2026 05:13
@bbhtt bbhtt marked this pull request as draft May 25, 2026 01:01
@bbhtt bbhtt force-pushed the bbhtt/appstream-api branch from ccbe85c to bc347ea Compare May 27, 2026 13:42
@bbhtt
Copy link
Copy Markdown
Contributor Author

bbhtt commented May 27, 2026

there's a bunch of leaks according to ASAN

Leaks
Direct leak of 40 byte(s) in 1 object(s) allocated from:
    #0 0x557432e34ccd in calloc (/__w/flatpak-builder/flatpak-builder/builddir/src/flatpak-builder+0x16bccd) (BuildId: fedaf9746ee75c7de57cf0bb3c5eb79d9c0f8dd8)
    #1 0x7f95fd996121 in g_malloc0 (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x68121) (BuildId: 2426ee6f828a10bf4da963a4c474752c33742359)
    #2 0x7f95fd72fa33 in g_type_create_instance (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x42a33) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #3 0x7f95fd7153e3  (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x283e3) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #4 0x7f95fd7169e6 in g_object_new_with_properties (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x299e6) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #5 0x7f95fd7179c0 in g_object_new (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2a9c0) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #6 0x7f95fd340ce7  (/usr/lib/x86_64-linux-gnu/libappstream-compose.so.0+0x1ace7) (BuildId: 71a33e272677c786f5751c25b4fda845d03010e2)
    #7 0x7f95fd72fac0 in g_type_create_instance (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x42ac0) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #8 0x7f95fd7153e3  (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x283e3) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #9 0x7f95fd7169e6 in g_object_new_with_properties (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x299e6) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #10 0x7f95fd7179c0 in g_object_new (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2a9c0) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #11 0x557432ed3611 in builder_appstreamcli_compose /__w/flatpak-builder/flatpak-builder/builddir/../src/builder-manifest.c:2467:13
    #12 0x557432ecf859 in builder_manifest_cleanup /__w/flatpak-builder/flatpak-builder/builddir/../src/builder-manifest.c:3138:16
    #13 0x557432ebb659 in main /__w/flatpak-builder/flatpak-builder/builddir/../src/builder-main.c:1027:12
    #14 0x7f95fcfa4600  (/usr/lib/x86_64-linux-gnu/libc.so.6+0x2a600) (BuildId: 90ebd03ae9d9f42b23b4eb82fdf70352cf744198)
    #15 0x7f95fcfa4717 in __libc_start_main (/usr/lib/x86_64-linux-gnu/libc.so.6+0x2a717) (BuildId: 90ebd03ae9d9f42b23b4eb82fdf70352cf744198)
    #16 0x557432d8f554 in _start (/__w/flatpak-builder/flatpak-builder/builddir/src/flatpak-builder+0xc6554) (BuildId: fedaf9746ee75c7de57cf0bb3c5eb79d9c0f8dd8)

Direct leak of 16 byte(s) in 1 object(s) allocated from:
    #0 0x557432e34af8 in malloc (/__w/flatpak-builder/flatpak-builder/builddir/src/flatpak-builder+0x16baf8) (BuildId: fedaf9746ee75c7de57cf0bb3c5eb79d9c0f8dd8)
    #1 0x7f95fd995679 in g_malloc (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x67679) (BuildId: 2426ee6f828a10bf4da963a4c474752c33742359)
    #2 0x7f95fd97bce0 in g_hash_table_get_keys_as_array (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4dce0) (BuildId: 2426ee6f828a10bf4da963a4c474752c33742359)
    #3 0x7f95fd343ee2  (/usr/lib/x86_64-linux-gnu/libappstream-compose.so.0+0x1dee2) (BuildId: 71a33e272677c786f5751c25b4fda845d03010e2)
    #4 0x7f95fd9c64b1  (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x984b1) (BuildId: 2426ee6f828a10bf4da963a4c474752c33742359)
    #5 0x7f95fd9c5278  (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x97278) (BuildId: 2426ee6f828a10bf4da963a4c474752c33742359)
    #6 0x557432e3237a in asan_thread_start(void*) asan_interceptors.cpp.o
    #7 0x7f95fd01e0d9  (/usr/lib/x86_64-linux-gnu/libc.so.6+0xa40d9) (BuildId: 90ebd03ae9d9f42b23b4eb82fdf70352cf744198)
    #8 0x7f95fd0b17ab  (/usr/lib/x86_64-linux-gnu/libc.so.6+0x1377ab) (BuildId: 90ebd03ae9d9f42b23b4eb82fdf70352cf744198)

Indirect leak of 64 byte(s) in 1 object(s) allocated from:
    #0 0x557432e34f00 in realloc (/__w/flatpak-builder/flatpak-builder/builddir/src/flatpak-builder+0x16bf00) (BuildId: fedaf9746ee75c7de57cf0bb3c5eb79d9c0f8dd8)
    #1 0x7f95fd9961c9 in g_realloc (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x681c9) (BuildId: 2426ee6f828a10bf4da963a4c474752c33742359)
    #2 0x7f95fd955fd2  (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x27fd2) (BuildId: 2426ee6f828a10bf4da963a4c474752c33742359)
    #3 0x7f95fd95673c in g_ptr_array_add (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x2873c) (BuildId: 2426ee6f828a10bf4da963a4c474752c33742359)
    #4 0x7f95fd349387  (/usr/lib/x86_64-linux-gnu/libappstream-compose.so.0+0x23387) (BuildId: 71a33e272677c786f5751c25b4fda845d03010e2)
    #5 0x7f95fd72fac0 in g_type_create_instance (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x42ac0) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #6 0x7f95fd7153e3  (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x283e3) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #7 0x7f95fd7169e6 in g_object_new_with_properties (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x299e6) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #8 0x7f95fd7179c0 in g_object_new (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2a9c0) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #9 0x7f95fd340ce7  (/usr/lib/x86_64-linux-gnu/libappstream-compose.so.0+0x1ace7) (BuildId: 71a33e272677c786f5751c25b4fda845d03010e2)
    #10 0x7f95fd72fac0 in g_type_create_instance (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x42ac0) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #11 0x7f95fd7153e3  (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x283e3) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #12 0x7f95fd7169e6 in g_object_new_with_properties (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x299e6) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #13 0x7f95fd7179c0 in g_object_new (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2a9c0) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #14 0x557432ed3611 in builder_appstreamcli_compose /__w/flatpak-builder/flatpak-builder/builddir/../src/builder-manifest.c:2467:13
    #15 0x557432ecf859 in builder_manifest_cleanup /__w/flatpak-builder/flatpak-builder/builddir/../src/builder-manifest.c:3138:16
    #16 0x557432ebb659 in main /__w/flatpak-builder/flatpak-builder/builddir/../src/builder-main.c:1027:12
    #17 0x7f95fcfa4600  (/usr/lib/x86_64-linux-gnu/libc.so.6+0x2a600) (BuildId: 90ebd03ae9d9f42b23b4eb82fdf70352cf744198)

Indirect leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x557432e34af8 in malloc (/__w/flatpak-builder/flatpak-builder/builddir/src/flatpak-builder+0x16baf8) (BuildId: fedaf9746ee75c7de57cf0bb3c5eb79d9c0f8dd8)
    #1 0x7f95fd995679 in g_malloc (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x67679) (BuildId: 2426ee6f828a10bf4da963a4c474752c33742359)
    #2 0x7f95fd954da9 in g_ptr_array_new_with_free_func (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x26da9) (BuildId: 2426ee6f828a10bf4da963a4c474752c33742359)
    #3 0x7f95fd349310  (/usr/lib/x86_64-linux-gnu/libappstream-compose.so.0+0x23310) (BuildId: 71a33e272677c786f5751c25b4fda845d03010e2)
    #4 0x7f95fd72fac0 in g_type_create_instance (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x42ac0) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #5 0x7f95fd7153e3  (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x283e3) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #6 0x7f95fd7169e6 in g_object_new_with_properties (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x299e6) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #7 0x7f95fd7179c0 in g_object_new (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2a9c0) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #8 0x7f95fd340ce7  (/usr/lib/x86_64-linux-gnu/libappstream-compose.so.0+0x1ace7) (BuildId: 71a33e272677c786f5751c25b4fda845d03010e2)
    #9 0x7f95fd72fac0 in g_type_create_instance (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x42ac0) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #10 0x7f95fd7153e3  (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x283e3) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #11 0x7f95fd7169e6 in g_object_new_with_properties (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x299e6) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #12 0x7f95fd7179c0 in g_object_new (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2a9c0) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #13 0x557432ed3611 in builder_appstreamcli_compose /__w/flatpak-builder/flatpak-builder/builddir/../src/builder-manifest.c:2467:13
    #14 0x557432ecf859 in builder_manifest_cleanup /__w/flatpak-builder/flatpak-builder/builddir/../src/builder-manifest.c:3138:16
    #15 0x557432ebb659 in main /__w/flatpak-builder/flatpak-builder/builddir/../src/builder-main.c:1027:12
    #16 0x7f95fcfa4600  (/usr/lib/x86_64-linux-gnu/libc.so.6+0x2a600) (BuildId: 90ebd03ae9d9f42b23b4eb82fdf70352cf744198)
    #17 0x7f95fcfa4717 in __libc_start_main (/usr/lib/x86_64-linux-gnu/libc.so.6+0x2a717) (BuildId: 90ebd03ae9d9f42b23b4eb82fdf70352cf744198)

Indirect leak of 12 byte(s) in 1 object(s) allocated from:
    #0 0x557432e34af8 in malloc (/__w/flatpak-builder/flatpak-builder/builddir/src/flatpak-builder+0x16baf8) (BuildId: fedaf9746ee75c7de57cf0bb3c5eb79d9c0f8dd8)
    #1 0x7f95fd995679 in g_malloc (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x67679) (BuildId: 2426ee6f828a10bf4da963a4c474752c33742359)
    #2 0x7f95fd3492c4 in asc_icon_policy_set_policy (/usr/lib/x86_64-linux-gnu/libappstream-compose.so.0+0x232c4) (BuildId: 71a33e272677c786f5751c25b4fda845d03010e2)
    #3 0x7f95fd72fac0 in g_type_create_instance (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x42ac0) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #4 0x7f95fd7153e3  (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x283e3) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #5 0x7f95fd7169e6 in g_object_new_with_properties (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x299e6) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #6 0x7f95fd7179c0 in g_object_new (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2a9c0) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #7 0x7f95fd340ce7  (/usr/lib/x86_64-linux-gnu/libappstream-compose.so.0+0x1ace7) (BuildId: 71a33e272677c786f5751c25b4fda845d03010e2)
    #8 0x7f95fd72fac0 in g_type_create_instance (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x42ac0) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #9 0x7f95fd7153e3  (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x283e3) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #10 0x7f95fd7169e6 in g_object_new_with_properties (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x299e6) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #11 0x7f95fd7179c0 in g_object_new (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2a9c0) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #12 0x557432ed3611 in builder_appstreamcli_compose /__w/flatpak-builder/flatpak-builder/builddir/../src/builder-manifest.c:2467:13
    #13 0x557432ecf859 in builder_manifest_cleanup /__w/flatpak-builder/flatpak-builder/builddir/../src/builder-manifest.c:3138:16
    #14 0x557432ebb659 in main /__w/flatpak-builder/flatpak-builder/builddir/../src/builder-main.c:1027:12
    #15 0x7f95fcfa4600  (/usr/lib/x86_64-linux-gnu/libc.so.6+0x2a600) (BuildId: 90ebd03ae9d9f42b23b4eb82fdf70352cf744198)
    #16 0x7f95fcfa4717 in __libc_start_main (/usr/lib/x86_64-linux-gnu/libc.so.6+0x2a717) (BuildId: 90ebd03ae9d9f42b23b4eb82fdf70352cf744198)
    #17 0x557432d8f554 in _start (/__w/flatpak-builder/flatpak-builder/builddir/src/flatpak-builder+0xc6554) (BuildId: fedaf9746ee75c7de57cf0bb3c5eb79d9c0f8dd8)

Indirect leak of 12 byte(s) in 1 object(s) allocated from:
    #0 0x557432e34af8 in malloc (/__w/flatpak-builder/flatpak-builder/builddir/src/flatpak-builder+0x16baf8) (BuildId: fedaf9746ee75c7de57cf0bb3c5eb79d9c0f8dd8)
    #1 0x7f95fd995679 in g_malloc (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x67679) (BuildId: 2426ee6f828a10bf4da963a4c474752c33742359)
    #2 0x7f95fd3492c4 in asc_icon_policy_set_policy (/usr/lib/x86_64-linux-gnu/libappstream-compose.so.0+0x232c4) (BuildId: 71a33e272677c786f5751c25b4fda845d03010e2)
    #3 0x7f95fd349359  (/usr/lib/x86_64-linux-gnu/libappstream-compose.so.0+0x23359) (BuildId: 71a33e272677c786f5751c25b4fda845d03010e2)
    #4 0x7f95fd72fac0 in g_type_create_instance (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x42ac0) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #5 0x7f95fd7153e3  (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x283e3) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #6 0x7f95fd7169e6 in g_object_new_with_properties (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x299e6) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #7 0x7f95fd7179c0 in g_object_new (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2a9c0) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #8 0x7f95fd340ce7  (/usr/lib/x86_64-linux-gnu/libappstream-compose.so.0+0x1ace7) (BuildId: 71a33e272677c786f5751c25b4fda845d03010e2)
    #9 0x7f95fd72fac0 in g_type_create_instance (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x42ac0) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #10 0x7f95fd7153e3  (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x283e3) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #11 0x7f95fd7169e6 in g_object_new_with_properties (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x299e6) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #12 0x7f95fd7179c0 in g_object_new (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2a9c0) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #13 0x557432ed3611 in builder_appstreamcli_compose /__w/flatpak-builder/flatpak-builder/builddir/../src/builder-manifest.c:2467:13
    #14 0x557432ecf859 in builder_manifest_cleanup /__w/flatpak-builder/flatpak-builder/builddir/../src/builder-manifest.c:3138:16
    #15 0x557432ebb659 in main /__w/flatpak-builder/flatpak-builder/builddir/../src/builder-main.c:1027:12
    #16 0x7f95fcfa4600  (/usr/lib/x86_64-linux-gnu/libc.so.6+0x2a600) (BuildId: 90ebd03ae9d9f42b23b4eb82fdf70352cf744198)
    #17 0x7f95fcfa4717 in __libc_start_main (/usr/lib/x86_64-linux-gnu/libc.so.6+0x2a717) (BuildId: 90ebd03ae9d9f42b23b4eb82fdf70352cf744198)

Indirect leak of 12 byte(s) in 1 object(s) allocated from:
    #0 0x557432e34af8 in malloc (/__w/flatpak-builder/flatpak-builder/builddir/src/flatpak-builder+0x16baf8) (BuildId: fedaf9746ee75c7de57cf0bb3c5eb79d9c0f8dd8)
    #1 0x7f95fd995679 in g_malloc (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x67679) (BuildId: 2426ee6f828a10bf4da963a4c474752c33742359)
    #2 0x7f95fd3492c4 in asc_icon_policy_set_policy (/usr/lib/x86_64-linux-gnu/libappstream-compose.so.0+0x232c4) (BuildId: 71a33e272677c786f5751c25b4fda845d03010e2)
    #3 0x7f95fd349387  (/usr/lib/x86_64-linux-gnu/libappstream-compose.so.0+0x23387) (BuildId: 71a33e272677c786f5751c25b4fda845d03010e2)
    #4 0x7f95fd72fac0 in g_type_create_instance (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x42ac0) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #5 0x7f95fd7153e3  (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x283e3) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #6 0x7f95fd7169e6 in g_object_new_with_properties (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x299e6) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #7 0x7f95fd7179c0 in g_object_new (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2a9c0) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #8 0x7f95fd340ce7  (/usr/lib/x86_64-linux-gnu/libappstream-compose.so.0+0x1ace7) (BuildId: 71a33e272677c786f5751c25b4fda845d03010e2)
    #9 0x7f95fd72fac0 in g_type_create_instance (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x42ac0) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #10 0x7f95fd7153e3  (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x283e3) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #11 0x7f95fd7169e6 in g_object_new_with_properties (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x299e6) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #12 0x7f95fd7179c0 in g_object_new (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2a9c0) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #13 0x557432ed3611 in builder_appstreamcli_compose /__w/flatpak-builder/flatpak-builder/builddir/../src/builder-manifest.c:2467:13
    #14 0x557432ecf859 in builder_manifest_cleanup /__w/flatpak-builder/flatpak-builder/builddir/../src/builder-manifest.c:3138:16
    #15 0x557432ebb659 in main /__w/flatpak-builder/flatpak-builder/builddir/../src/builder-main.c:1027:12
    #16 0x7f95fcfa4600  (/usr/lib/x86_64-linux-gnu/libc.so.6+0x2a600) (BuildId: 90ebd03ae9d9f42b23b4eb82fdf70352cf744198)
    #17 0x7f95fcfa4717 in __libc_start_main (/usr/lib/x86_64-linux-gnu/libc.so.6+0x2a717) (BuildId: 90ebd03ae9d9f42b23b4eb82fdf70352cf744198)

Indirect leak of 12 byte(s) in 1 object(s) allocated from:
    #0 0x557432e34af8 in malloc (/__w/flatpak-builder/flatpak-builder/builddir/src/flatpak-builder+0x16baf8) (BuildId: fedaf9746ee75c7de57cf0bb3c5eb79d9c0f8dd8)
    #1 0x7f95fd995679 in g_malloc (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x67679) (BuildId: 2426ee6f828a10bf4da963a4c474752c33742359)
    #2 0x7f95fd3492c4 in asc_icon_policy_set_policy (/usr/lib/x86_64-linux-gnu/libappstream-compose.so.0+0x232c4) (BuildId: 71a33e272677c786f5751c25b4fda845d03010e2)
    #3 0x7f95fd349370  (/usr/lib/x86_64-linux-gnu/libappstream-compose.so.0+0x23370) (BuildId: 71a33e272677c786f5751c25b4fda845d03010e2)
    #4 0x7f95fd72fac0 in g_type_create_instance (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x42ac0) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #5 0x7f95fd7153e3  (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x283e3) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #6 0x7f95fd7169e6 in g_object_new_with_properties (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x299e6) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #7 0x7f95fd7179c0 in g_object_new (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2a9c0) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #8 0x7f95fd340ce7  (/usr/lib/x86_64-linux-gnu/libappstream-compose.so.0+0x1ace7) (BuildId: 71a33e272677c786f5751c25b4fda845d03010e2)
    #9 0x7f95fd72fac0 in g_type_create_instance (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x42ac0) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #10 0x7f95fd7153e3  (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x283e3) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #11 0x7f95fd7169e6 in g_object_new_with_properties (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x299e6) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #12 0x7f95fd7179c0 in g_object_new (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2a9c0) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #13 0x557432ed3611 in builder_appstreamcli_compose /__w/flatpak-builder/flatpak-builder/builddir/../src/builder-manifest.c:2467:13
    #14 0x557432ecf859 in builder_manifest_cleanup /__w/flatpak-builder/flatpak-builder/builddir/../src/builder-manifest.c:3138:16
    #15 0x557432ebb659 in main /__w/flatpak-builder/flatpak-builder/builddir/../src/builder-main.c:1027:12
    #16 0x7f95fcfa4600  (/usr/lib/x86_64-linux-gnu/libc.so.6+0x2a600) (BuildId: 90ebd03ae9d9f42b23b4eb82fdf70352cf744198)
    #17 0x7f95fcfa4717 in __libc_start_main (/usr/lib/x86_64-linux-gnu/libc.so.6+0x2a717) (BuildId: 90ebd03ae9d9f42b23b4eb82fdf70352cf744198)

Indirect leak of 12 byte(s) in 1 object(s) allocated from:
    #0 0x557432e34af8 in malloc (/__w/flatpak-builder/flatpak-builder/builddir/src/flatpak-builder+0x16baf8) (BuildId: fedaf9746ee75c7de57cf0bb3c5eb79d9c0f8dd8)
    #1 0x7f95fd995679 in g_malloc (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x67679) (BuildId: 2426ee6f828a10bf4da963a4c474752c33742359)
    #2 0x7f95fd3492c4 in asc_icon_policy_set_policy (/usr/lib/x86_64-linux-gnu/libappstream-compose.so.0+0x232c4) (BuildId: 71a33e272677c786f5751c25b4fda845d03010e2)
    #3 0x7f95fd349342  (/usr/lib/x86_64-linux-gnu/libappstream-compose.so.0+0x23342) (BuildId: 71a33e272677c786f5751c25b4fda845d03010e2)
    #4 0x7f95fd72fac0 in g_type_create_instance (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x42ac0) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #5 0x7f95fd7153e3  (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x283e3) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #6 0x7f95fd7169e6 in g_object_new_with_properties (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x299e6) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #7 0x7f95fd7179c0 in g_object_new (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2a9c0) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #8 0x7f95fd340ce7  (/usr/lib/x86_64-linux-gnu/libappstream-compose.so.0+0x1ace7) (BuildId: 71a33e272677c786f5751c25b4fda845d03010e2)
    #9 0x7f95fd72fac0 in g_type_create_instance (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x42ac0) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #10 0x7f95fd7153e3  (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x283e3) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #11 0x7f95fd7169e6 in g_object_new_with_properties (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x299e6) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #12 0x7f95fd7179c0 in g_object_new (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2a9c0) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #13 0x557432ed3611 in builder_appstreamcli_compose /__w/flatpak-builder/flatpak-builder/builddir/../src/builder-manifest.c:2467:13
    #14 0x557432ecf859 in builder_manifest_cleanup /__w/flatpak-builder/flatpak-builder/builddir/../src/builder-manifest.c:3138:16
    #15 0x557432ebb659 in main /__w/flatpak-builder/flatpak-builder/builddir/../src/builder-main.c:1027:12
    #16 0x7f95fcfa4600  (/usr/lib/x86_64-linux-gnu/libc.so.6+0x2a600) (BuildId: 90ebd03ae9d9f42b23b4eb82fdf70352cf744198)
    #17 0x7f95fcfa4717 in __libc_start_main (/usr/lib/x86_64-linux-gnu/libc.so.6+0x2a717) (BuildId: 90ebd03ae9d9f42b23b4eb82fdf70352cf744198)

Indirect leak of 12 byte(s) in 1 object(s) allocated from:
    #0 0x557432e34af8 in malloc (/__w/flatpak-builder/flatpak-builder/builddir/src/flatpak-builder+0x16baf8) (BuildId: fedaf9746ee75c7de57cf0bb3c5eb79d9c0f8dd8)
    #1 0x7f95fd995679 in g_malloc (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x67679) (BuildId: 2426ee6f828a10bf4da963a4c474752c33742359)
    #2 0x7f95fd3492c4 in asc_icon_policy_set_policy (/usr/lib/x86_64-linux-gnu/libappstream-compose.so.0+0x232c4) (BuildId: 71a33e272677c786f5751c25b4fda845d03010e2)
    #3 0x7f95fd34932b  (/usr/lib/x86_64-linux-gnu/libappstream-compose.so.0+0x2332b) (BuildId: 71a33e272677c786f5751c25b4fda845d03010e2)
    #4 0x7f95fd72fac0 in g_type_create_instance (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x42ac0) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #5 0x7f95fd7153e3  (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x283e3) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #6 0x7f95fd7169e6 in g_object_new_with_properties (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x299e6) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #7 0x7f95fd7179c0 in g_object_new (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2a9c0) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #8 0x7f95fd340ce7  (/usr/lib/x86_64-linux-gnu/libappstream-compose.so.0+0x1ace7) (BuildId: 71a33e272677c786f5751c25b4fda845d03010e2)
    #9 0x7f95fd72fac0 in g_type_create_instance (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x42ac0) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #10 0x7f95fd7153e3  (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x283e3) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #11 0x7f95fd7169e6 in g_object_new_with_properties (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x299e6) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #12 0x7f95fd7179c0 in g_object_new (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2a9c0) (BuildId: 0f9dc57097a22c42f8b9d339c75528f2205b3639)
    #13 0x557432ed3611 in builder_appstreamcli_compose /__w/flatpak-builder/flatpak-builder/builddir/../src/builder-manifest.c:2467:13
    #14 0x557432ecf859 in builder_manifest_cleanup /__w/flatpak-builder/flatpak-builder/builddir/../src/builder-manifest.c:3138:16
    #15 0x557432ebb659 in main /__w/flatpak-builder/flatpak-builder/builddir/../src/builder-main.c:1027:12
    #16 0x7f95fcfa4600  (/usr/lib/x86_64-linux-gnu/libc.so.6+0x2a600) (BuildId: 90ebd03ae9d9f42b23b4eb82fdf70352cf744198)
    #17 0x7f95fcfa4717 in __libc_start_main (/usr/lib/x86_64-linux-gnu/libc.so.6+0x2a717) (BuildId: 90ebd03ae9d9f42b23b4eb82fdf70352cf744198)

SUMMARY: AddressSanitizer: 224 byte(s) leaked in 10 allocation(s).
==16803==Running thread 15683 was not suspended. False leaks are possible.
==16803==Running thread 15684 was not suspended. False leaks are possible.
OK closing connection
-----------------------------------------------------
Suppressions used:
  count      bytes template
      1         24 g_main_context_iteration
-----------------------------------------------------

@bbhtt
Copy link
Copy Markdown
Contributor Author

bbhtt commented May 27, 2026

Opened ximion/appstream#752, the other one seems a false positive.

bbhtt added 4 commits May 27, 2026 20:39
This also simplifies the compose handling by moving all related path
and context logic into builder_appstreamcli_compose() as this is only
ever used for Flatpak and the paths stay constant for all input
build refs.

This also allows us to remove the duplicate call due to media_dir and
mirror url being set to NULL in one branch.

The rest is an exact 1:1 port of what was present before from our side.
This allows all `<custom>` tags from metainfo files to reach
catalogue data. Custom tags are used by Flathub to store verification
and build information and often downstream vendors who use Flathub's
catalogue for their own app store want custom tags to identify or
highlight their own apps. For example cosmic using Flathub catalogue
data to highlight cosmic apps on cosmic store app etc.

Allowing individual custom tags one by one is annoying and this is what
libappstream-glib did before the port in 1.3.4. So this brings back
the old as-glib behaviour that was lost in >=1.3.4
Screencasts are generally unwanted in catalogue to as they are more
expensive to download, store in ref and serve. Also no appstore
currently supports showing them to my knowledge. This can later be
changed by adding an argument if needed.
@bbhtt bbhtt force-pushed the bbhtt/appstream-api branch from bc347ea to bfffdc5 Compare May 27, 2026 15:09
@bbhtt
Copy link
Copy Markdown
Contributor Author

bbhtt commented May 27, 2026

sigh the symbols are not present in the Ubuntu lib so suppressions don't work.

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.

3 participants