diff --git a/.gitignore b/.gitignore index cf00476..5b85f08 100644 --- a/.gitignore +++ b/.gitignore @@ -110,3 +110,4 @@ /flatpak-1.15.1.tar.xz /flatpak-1.15.3.tar.xz /flatpak-1.15.4.tar.xz +/flatpak-1.15.6.tar.xz diff --git a/flatpak-appstream-regressions-and-1.0-API.patch b/flatpak-appstream-regressions-and-1.0-API.patch deleted file mode 100644 index 0f4f6a6..0000000 --- a/flatpak-appstream-regressions-and-1.0-API.patch +++ /dev/null @@ -1,473 +0,0 @@ -From fce0c052321ca2fe383bb717e2db8ab22312db43 Mon Sep 17 00:00:00 2001 -From: Simon McVittie -Date: Mon, 10 Jul 2023 18:43:23 +0100 -Subject: [PATCH 1/4] app: Provide a stub implementation of AS_CHECK_VERSION if - needed - -Our only code that is conditional on the libappstream version wants -version 0.14.0, which conveniently is exactly the version that -introduced AS_CHECK_VERSION. - -Signed-off-by: Simon McVittie ---- - app/flatpak-builtins-utils.c | 2 +- - app/flatpak-builtins-utils.h | 6 ++++++ - configure.ac | 3 --- - meson.build | 4 ---- - 4 files changed, 7 insertions(+), 8 deletions(-) - -diff --git a/app/flatpak-builtins-utils.c b/app/flatpak-builtins-utils.c -index 83d46551faa8..9373a0414ede 100644 ---- a/app/flatpak-builtins-utils.c -+++ b/app/flatpak-builtins-utils.c -@@ -1130,7 +1130,7 @@ flatpak_dir_load_appstream_store (FlatpakDir *self, - - appstream_file = g_file_new_for_path (appstream_path); - as_metadata_set_format_style (mdata, AS_FORMAT_STYLE_COLLECTION); --#ifdef HAVE_APPSTREAM_0_14_0 -+#if AS_CHECK_VERSION(0, 14, 0) - success = as_metadata_parse_file (mdata, appstream_file, AS_FORMAT_KIND_XML, &local_error); - #else - as_metadata_parse_file (mdata, appstream_file, AS_FORMAT_KIND_XML, &local_error); -diff --git a/app/flatpak-builtins-utils.h b/app/flatpak-builtins-utils.h -index 0189315761e3..958cd79a42f0 100644 ---- a/app/flatpak-builtins-utils.h -+++ b/app/flatpak-builtins-utils.h -@@ -28,6 +28,12 @@ - #include "flatpak-dir-private.h" - #include "flatpak-permission-dbus-generated.h" - -+/* AS_CHECK_VERSION was introduced in 0.14.0; we still support 0.12.0, so -+ * behave as though versions without this macro are arbitrarily old */ -+#ifndef AS_CHECK_VERSION -+#define AS_CHECK_VERSION(major, minor, micro) (0) -+#endif -+ - /* Appstream data expires after a day */ - #define FLATPAK_APPSTREAM_TTL 86400 - -diff --git a/configure.ac b/configure.ac -index aaffba7fb6c9..6f8e6c325ba7 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -362,9 +362,6 @@ PKG_CHECK_MODULES(OSTREE, [ostree-1 >= $OSTREE_REQS]) - PKG_CHECK_MODULES(JSON, [json-glib-1.0]) - - PKG_CHECK_MODULES(APPSTREAM, [appstream >= 0.12.0]) --PKG_CHECK_MODULES(APPSTREAM_0_14_0, appstream >= 0.14.0, -- [AC_DEFINE([HAVE_APPSTREAM_0_14_0], [1], [Define if appstream >= 0.14.0 is available])], -- [true]) - - PKG_CHECK_MODULES(GDK_PIXBUF, [gdk-pixbuf-2.0]) - -diff --git a/meson.build b/meson.build -index b27338f518d6..6a85f474769b 100644 ---- a/meson.build -+++ b/meson.build -@@ -363,10 +363,6 @@ if glib_dep.version().version_compare('>=2.60') - cdata.set('GLIB_VERSION_MIN_REQUIRED', 'GLIB_VERSION_2_60') - endif - --if appstream_dep.version().version_compare('>=0.14.0') -- cdata.set('HAVE_APPSTREAM_0_14_0', 1) --endif -- - if dconf_dep.found() - cdata.set('HAVE_DCONF', 1) - endif --- -2.41.0 - - -From c51cf18d142fa5866f7de383bf1546276c73b227 Mon Sep 17 00:00:00 2001 -From: Simon McVittie -Date: Mon, 10 Jul 2023 18:44:49 +0100 -Subject: [PATCH 2/4] app: Use AS_FORMAT_STYLE_CATALOG if available - -AS_FORMAT_STYLE_COLLECTION is a deprecated alias for ..._CATALOG, and -was removed entirely in appstream git main (presumably version 0.17 -or 1.0). - -Resolves: https://github.com/flatpak/flatpak/issues/5472 -Signed-off-by: Simon McVittie ---- - app/flatpak-builtins-utils.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/app/flatpak-builtins-utils.c b/app/flatpak-builtins-utils.c -index 9373a0414ede..1e9bcd3eef55 100644 ---- a/app/flatpak-builtins-utils.c -+++ b/app/flatpak-builtins-utils.c -@@ -1129,7 +1129,12 @@ flatpak_dir_load_appstream_store (FlatpakDir *self, - NULL); - - appstream_file = g_file_new_for_path (appstream_path); -+#if AS_CHECK_VERSION(0, 16, 0) -+ as_metadata_set_format_style (mdata, AS_FORMAT_STYLE_CATALOG); -+#else -+ /* Deprecated name for the same thing */ - as_metadata_set_format_style (mdata, AS_FORMAT_STYLE_COLLECTION); -+#endif - #if AS_CHECK_VERSION(0, 14, 0) - success = as_metadata_parse_file (mdata, appstream_file, AS_FORMAT_KIND_XML, &local_error); - #else --- -2.41.0 - - -From 83f376f37809fc43b4c1a68d27eb875a800835b0 Mon Sep 17 00:00:00 2001 -From: Timo Eisenmann <141955678+eit47@users.noreply.github.com> -Date: Sun, 17 Sep 2023 18:10:04 +0200 -Subject: [PATCH 3/4] remote-info: Fix call to - flatpak_dir_load_appstream_store() - -Use architecture instead of id in call to -flatpak_dir_load_appstream_store (). - -Without this, remote-info does not show AppStream metadata. - -Fixes: adb3b61f "decomposed: Return FlatpakDecomposed from flatpak_dir_find_remote_ref()" ---- - app/flatpak-builtins-remote-info.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/app/flatpak-builtins-remote-info.c b/app/flatpak-builtins-remote-info.c -index bec93e89e852..5f6b737c3fe8 100644 ---- a/app/flatpak-builtins-remote-info.c -+++ b/app/flatpak-builtins-remote-info.c -@@ -183,11 +183,11 @@ flatpak_builtin_remote_info (int argc, char **argv, GCancellable *cancellable, G - AsComponent *app = NULL; - const char *version = NULL; - const char *license = NULL; -- g_autofree char *id = flatpak_decomposed_dup_id (ref); -+ g_autofree char *arch = flatpak_decomposed_dup_arch (ref); - - flatpak_get_window_size (&rows, &cols); - -- flatpak_dir_load_appstream_store (preferred_dir, remote, id, mdata, NULL, NULL); -+ flatpak_dir_load_appstream_store (preferred_dir, remote, arch, mdata, NULL, NULL); - app = as_store_find_app (mdata, flatpak_decomposed_get_ref (ref)); - if (app) - { -@@ -267,9 +267,9 @@ flatpak_builtin_remote_info (int argc, char **argv, GCancellable *cancellable, G - - width = cols - (len + 1); - -- print_aligned (len, _("ID:"), id); -+ print_aligned_take (len, _("ID:"), flatpak_decomposed_dup_id (ref)); - print_aligned (len, _("Ref:"), flatpak_decomposed_get_ref (ref)); -- print_aligned_take (len, _("Arch:"), flatpak_decomposed_dup_arch (ref)); -+ print_aligned (len, _("Arch:"), arch); - print_aligned_take (len, _("Branch:"), flatpak_decomposed_dup_branch (ref)); - if (version != NULL) - print_aligned (len, _("Version:"), version); --- -2.41.0 - - -From 51799bc16ae8eb536f0be09b73d6d9cd7078569d Mon Sep 17 00:00:00 2001 -From: Matthias Klumpp -Date: Sun, 8 Oct 2023 20:55:12 +0200 -Subject: [PATCH 4/4] Adjust to AppStream 1.0 API changes - ---- - app/flatpak-builtins-remote-info.c | 16 +++---- - app/flatpak-builtins-remote-ls.c | 16 +++---- - app/flatpak-builtins-search.c | 17 ++++++-- - app/flatpak-builtins-utils.c | 69 +++++++++++++++++++++--------- - app/flatpak-builtins-utils.h | 20 ++++----- - 5 files changed, 88 insertions(+), 50 deletions(-) - -diff --git a/app/flatpak-builtins-remote-info.c b/app/flatpak-builtins-remote-info.c -index 5f6b737c3fe8..501c102055dd 100644 ---- a/app/flatpak-builtins-remote-info.c -+++ b/app/flatpak-builtins-remote-info.c -@@ -180,24 +180,24 @@ flatpak_builtin_remote_info (int argc, char **argv, GCancellable *cancellable, G - int rows, cols; - int width; - g_autoptr(AsMetadata) mdata = as_metadata_new (); -- AsComponent *app = NULL; -+ AsComponent *cpt = NULL; - const char *version = NULL; - const char *license = NULL; - g_autofree char *arch = flatpak_decomposed_dup_arch (ref); - - flatpak_get_window_size (&rows, &cols); - -- flatpak_dir_load_appstream_store (preferred_dir, remote, arch, mdata, NULL, NULL); -- app = as_store_find_app (mdata, flatpak_decomposed_get_ref (ref)); -- if (app) -+ flatpak_dir_load_appstream_data (preferred_dir, remote, arch, mdata, NULL, NULL); -+ cpt = metadata_find_component (mdata, flatpak_decomposed_get_ref (ref)); -+ if (cpt) - { -- const char *name = as_component_get_name (app); -- const char *comment = as_component_get_summary (app); -+ const char *name = as_component_get_name (cpt); -+ const char *comment = as_component_get_summary (cpt); - - print_wrapped (MIN (cols, 80), "\n%s - %s\n", name, comment); - -- version = as_app_get_version (app); -- license = as_component_get_project_license (app); -+ version = component_get_version_latest (cpt); -+ license = as_component_get_project_license (cpt); - } - - if (commit_v) -diff --git a/app/flatpak-builtins-remote-ls.c b/app/flatpak-builtins-remote-ls.c -index 1da12439ae00..fd718c9fb6be 100644 ---- a/app/flatpak-builtins-remote-ls.c -+++ b/app/flatpak-builtins-remote-ls.c -@@ -231,7 +231,7 @@ ls_remote (GHashTable *refs_hash, const char **arches, const char *app_runtime, - if (need_appstream_data) - { - mdata = as_metadata_new (); -- flatpak_dir_load_appstream_store (dir, remote, NULL, mdata, NULL, NULL); -+ flatpak_dir_load_appstream_data (dir, remote, NULL, mdata, NULL, NULL); - } - - keys = (FlatpakDecomposed **) g_hash_table_get_keys_as_array (names, &n_keys); -@@ -244,7 +244,7 @@ ls_remote (GHashTable *refs_hash, const char **arches, const char *app_runtime, - guint64 installed_size; - guint64 download_size; - g_autofree char *runtime = NULL; -- AsComponent *app = NULL; -+ AsComponent *cpt = NULL; - gboolean has_sparse_cache; - VarMetadataRef sparse_cache; - g_autofree char *id = flatpak_decomposed_dup_id (ref); -@@ -278,7 +278,7 @@ ls_remote (GHashTable *refs_hash, const char **arches, const char *app_runtime, - } - - if (need_appstream_data) -- app = as_store_find_app (mdata, ref_str); -+ cpt = metadata_find_component (mdata, ref_str); - - if (app_runtime && runtime) - { -@@ -296,8 +296,8 @@ ls_remote (GHashTable *refs_hash, const char **arches, const char *app_runtime, - const char *name = NULL; - g_autofree char *readable_id = NULL; - -- if (app) -- name = as_component_get_name (app); -+ if (cpt) -+ name = as_component_get_name (cpt); - - if (name == NULL) - readable_id = flatpak_decomposed_dup_readable_id (ref); -@@ -307,13 +307,13 @@ ls_remote (GHashTable *refs_hash, const char **arches, const char *app_runtime, - else if (strcmp (columns[j].name, "description") == 0) - { - const char *comment = NULL; -- if (app) -- comment = as_component_get_summary (app); -+ if (cpt) -+ comment = as_component_get_summary (cpt); - - flatpak_table_printer_add_column (printer, comment); - } - else if (strcmp (columns[j].name, "version") == 0) -- flatpak_table_printer_add_column (printer, app ? as_app_get_version (app) : ""); -+ flatpak_table_printer_add_column (printer, cpt ? component_get_version_latest (cpt) : ""); - else if (strcmp (columns[j].name, "ref") == 0) - flatpak_table_printer_add_column (printer, ref_str); - else if (strcmp (columns[j].name, "application") == 0) -diff --git a/app/flatpak-builtins-search.c b/app/flatpak-builtins-search.c -index 6a8ff80cd386..3c85e4e9b917 100644 ---- a/app/flatpak-builtins-search.c -+++ b/app/flatpak-builtins-search.c -@@ -76,7 +76,7 @@ get_remote_stores (GPtrArray *dirs, const char *arch, GCancellable *cancellable) - { - g_autoptr(AsMetadata) mdata = as_metadata_new (); - -- flatpak_dir_load_appstream_store (dir, remotes[j], arch, mdata, cancellable, &error); -+ flatpak_dir_load_appstream_data (dir, remotes[j], arch, mdata, cancellable, &error); - - if (error) - { -@@ -185,7 +185,7 @@ component_get_branch (AsComponent *app) - static void - print_app (Column *columns, MatchResult *res, FlatpakTablePrinter *printer) - { -- const char *version = as_app_get_version (res->app); -+ const char *version = component_get_version_latest (res->app); - g_autofree char *id = component_get_flatpak_id (res->app); - const char *name = as_component_get_name (res->app); - const char *comment = as_component_get_summary (res->app); -@@ -272,12 +272,21 @@ flatpak_builtin_search (int argc, char **argv, GCancellable *cancellable, GError - for (j = 0; j < remote_stores->len; ++j) - { - AsMetadata *mdata = g_ptr_array_index (remote_stores, j); -+#if AS_CHECK_VERSION(1, 0, 0) -+ AsComponentBox *apps = as_metadata_get_components (mdata); -+#else - GPtrArray *apps = as_metadata_get_components (mdata); -- guint i; -+#endif - -- for (i = 0; i < apps->len; ++i) -+#if AS_CHECK_VERSION(1, 0, 0) -+ for (guint i = 0; i < as_component_box_len (apps); ++i) -+ { -+ AsComponent *app = as_component_box_index (apps, i); -+#else -+ for (guint i = 0; i < apps->len; ++i) - { - AsComponent *app = g_ptr_array_index (apps, i); -+#endif - const char *remote_name = g_object_get_data (G_OBJECT (mdata), "remote-name"); - g_autoptr(FlatpakDecomposed) decomposed = NULL; - -diff --git a/app/flatpak-builtins-utils.c b/app/flatpak-builtins-utils.c -index 1e9bcd3eef55..18b1852c0c1a 100644 ---- a/app/flatpak-builtins-utils.c -+++ b/app/flatpak-builtins-utils.c -@@ -1042,50 +1042,79 @@ ellipsize_string_full (const char *text, int len, FlatpakEllipsizeMode mode) - } - - const char * --as_app_get_version (AsComponent *app) -+component_get_version_latest (AsComponent *component) - { -- GPtrArray *releases = as_component_get_releases (app); -+#if AS_CHECK_VERSION(1, 0, 0) -+ AsReleaseList *releases = NULL; -+ -+ /* load releases without network access, ignoring any errors */ -+ as_component_load_releases (component, FALSE, NULL); -+ -+ /* fetch default releases even if previous loading has failed */ -+ releases = as_component_get_releases_plain (component); -+ if (releases != NULL && as_release_list_len (releases) > 0) -+ return as_release_get_version (as_release_list_index (releases, 0)); -+#else -+ GPtrArray *releases = as_component_get_releases (component); - - if (releases != NULL && releases->len > 0) - return as_release_get_version (AS_RELEASE (g_ptr_array_index (releases, 0))); -+#endif - - return NULL; - } - - AsComponent * --as_store_find_app (AsMetadata *mdata, -- const char *ref) -+metadata_find_component (AsMetadata *mdata, -+ const char *ref) - { - g_autoptr(FlatpakRef) rref = flatpak_ref_parse (ref, NULL); -- const char *appid = flatpak_ref_get_name (rref); -- g_autofree char *desktopid = g_strconcat (appid, ".desktop", NULL); -- int j; -+ const char *cid = flatpak_ref_get_name (rref); -+ g_autofree char *desktopid = g_strconcat (cid, ".desktop", NULL); - -- for (j = 0; j < 2; j++) -+ for (int j = 0; j < 2; j++) - { -- const char *id = j == 0 ? appid : desktopid; -+ const char *id = j == 0 ? cid : desktopid; -+#if AS_CHECK_VERSION(1, 0, 0) -+ AsComponentBox *cbox = as_metadata_get_components (mdata); -+ -+ for (gsize i = 0; i < as_component_box_len (cbox); i++) -+ { -+ AsComponent *component = as_component_box_index (cbox, i); -+ AsBundle *bundle; -+ -+ if (g_strcmp0 (as_component_get_id (component), id) != 0) -+ continue; -+ -+ bundle = as_component_get_bundle (component, AS_BUNDLE_KIND_FLATPAK); -+ if (bundle && -+ g_str_equal (as_bundle_get_id (bundle), ref)) -+ return component; -+ } -+#else - GPtrArray *components = as_metadata_get_components (mdata); - - for (gsize i = 0; i < components->len; i++) - { -- AsComponent *app = g_ptr_array_index (components, i); -+ AsComponent *component = g_ptr_array_index (components, i); - AsBundle *bundle; - -- if (g_strcmp0 (as_component_get_id (app), id) != 0) -+ if (g_strcmp0 (as_component_get_id (component), id) != 0) - continue; - -- bundle = as_component_get_bundle (app, AS_BUNDLE_KIND_FLATPAK); -+ bundle = as_component_get_bundle (component, AS_BUNDLE_KIND_FLATPAK); - if (bundle && - g_str_equal (as_bundle_get_id (bundle), ref)) -- return app; -+ return component; - } -+#endif - } - - return NULL; - } - - /** -- * flatpak_dir_load_appstream_store: -+ * flatpak_dir_load_appstream_data: - * @self: a #FlatpakDir - * @remote_name: name of the remote to load the AppStream data for - * @arch: (nullable): name of the architecture to load the AppStream data for, -@@ -1103,12 +1132,12 @@ as_store_find_app (AsMetadata *mdata, - * otherwise - */ - gboolean --flatpak_dir_load_appstream_store (FlatpakDir *self, -- const gchar *remote_name, -- const gchar *arch, -- AsMetadata *mdata, -- GCancellable *cancellable, -- GError **error) -+flatpak_dir_load_appstream_data (FlatpakDir *self, -+ const gchar *remote_name, -+ const gchar *arch, -+ AsMetadata *mdata, -+ GCancellable *cancellable, -+ GError **error) - { - const char *install_path = flatpak_file_get_path_cached (flatpak_dir_get_path (self)); - g_autoptr(GFile) appstream_file = NULL; -diff --git a/app/flatpak-builtins-utils.h b/app/flatpak-builtins-utils.h -index 958cd79a42f0..257a6b952f67 100644 ---- a/app/flatpak-builtins-utils.h -+++ b/app/flatpak-builtins-utils.h -@@ -160,16 +160,16 @@ void print_aligned_take (int len, - const char *title, - char *value); - --AsComponent *as_store_find_app (AsMetadata *mdata, -- const char *ref); --const char *as_app_get_version (AsComponent *component); -- --gboolean flatpak_dir_load_appstream_store (FlatpakDir *self, -- const gchar *remote_name, -- const gchar *arch, -- AsMetadata *mdata, -- GCancellable *cancellable, -- GError **error); -+AsComponent *metadata_find_component (AsMetadata *mdata, -+ const char *ref); -+const char *component_get_version_latest (AsComponent *component); -+ -+gboolean flatpak_dir_load_appstream_data (FlatpakDir *self, -+ const gchar *remote_name, -+ const gchar *arch, -+ AsMetadata *mdata, -+ GCancellable *cancellable, -+ GError **error); - - int cell_width (const char *text); - const char *cell_advance (const char *text, --- -2.41.0 - diff --git a/flatpak.spec b/flatpak.spec index d027814..49e23c9 100644 --- a/flatpak.spec +++ b/flatpak.spec @@ -1,16 +1,18 @@ %global appstream_version 1.0.0~ -%global bubblewrap_version 0.5.0 +%global bubblewrap_version 0.8.0 %global glib_version 2.46.0 %global gpgme_version 1.8.0 %global libcurl_version 7.29.0 %global ostree_version 2020.8 +%global wayland_protocols_version 1.32 +%global wayland_scanner_version 1.15 # Disable parental control for RHEL builds %bcond malcontent %[!0%{?rhel}] Name: flatpak -Version: 1.15.4 -Release: 5%{?dist} +Version: 1.15.6 +Release: 1%{?dist} Summary: Application deployment framework for desktop apps License: LGPL-2.1-or-later @@ -26,8 +28,6 @@ Source1: flatpak-add-fedora-repos.service # with the config from upstream sources. Source2: flatpak.sysusers.conf -Patch0: flatpak-appstream-regressions-and-1.0-API.patch - BuildRequires: pkgconfig(appstream) >= %{appstream_version} BuildRequires: pkgconfig(dconf) BuildRequires: pkgconfig(fuse3) @@ -47,6 +47,9 @@ BuildRequires: pkgconfig(malcontent-0) %endif BuildRequires: pkgconfig(ostree-1) >= %{ostree_version} BuildRequires: pkgconfig(polkit-gobject-1) +BuildRequires: pkgconfig(wayland-client) +BuildRequires: pkgconfig(wayland-protocols) >= %{wayland_protocols_version} +BuildRequires: pkgconfig(wayland-scanner) >= %{wayland_scanner_version} BuildRequires: pkgconfig(xau) BuildRequires: bison BuildRequires: bubblewrap >= %{bubblewrap_version} @@ -151,11 +154,13 @@ This package contains installed tests for %{name}. -Dinstalled_tests=true \ -Dsystem_bubblewrap=/usr/bin/bwrap \ -Dsystem_dbus_proxy=/usr/bin/xdg-dbus-proxy \ + -Dtmpfilesdir=%{_tmpfilesdir} \ %if %{with malcontent} -Dmalcontent=enabled \ %else -Dmalcontent=disabled \ %endif + -Dwayland_security_context=enabled \ %{nil} %meson_build @@ -246,6 +251,7 @@ fi %{_userunitdir}/flatpak-portal.service %{_systemd_system_env_generator_dir}/60-flatpak-system-only %{_systemd_user_env_generator_dir}/60-flatpak +%{_tmpfilesdir}/%{name}.conf %if 0%{?fedora} %{_unitdir}/flatpak-add-fedora-repos.service @@ -280,6 +286,9 @@ fi %changelog +* Thu Nov 16 2023 Debarshi Ray - 1.15.6-1 +- Update to 1.15.6 (#2249763) + * Tue Nov 07 2023 Neal Gompa - 1.15.4-5 - Fix appstream_version macro for prerelease appstream 1.0 package diff --git a/sources b/sources index c1439be..6fb1ad6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (flatpak-1.15.4.tar.xz) = 45f6e8df6fab214340f668581f54d93d5df99793b5d87a7ee8eeb139c27047f1766bfd4d5c93121f262f2c6cfa579d5985da43db79ee11f9e28c25fb2f809bee +SHA512 (flatpak-1.15.6.tar.xz) = 580ce6c36a14f009da4152801a6d5802198085108ee16d7f8bb3fe21af25ccd84ef3888b794869d4752c2a2f1ae4a331e21ca0d554b965f5f775d19ee8466234