diff options
author | Markus Volk <f_l_k@t-online.de> | 2024-03-18 02:35:34 +0100 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2024-03-18 15:42:48 -0700 |
commit | 0fad89abf86f68bb396bc01024c510f6f7b344f1 (patch) | |
tree | 0bf8a948c2d318b01d78a9fdc3e374be1da4d064 /meta-gnome | |
parent | 92eb65c11139a4004da96ba966d62123a66c6cc1 (diff) | |
download | meta-openembedded-0fad89abf86f68bb396bc01024c510f6f7b344f1.tar.gz |
gnome-software: update 45.3 -> 46.0
- drop backport patches
Version 46.0
~~~~~~~~~~~~
Released: 2024-03-15
This is a stable release with the following changes:
* Improvements for screen readers
* Stop ‘loading updates’ in a loop on Debian
This release also updates translations:
* Czech (Daniel Rusek)
* Danish (Alan Mortensen)
* Finnish (Jiri Grönroos)
* French (Vincent Chatelain)
* Galician (Fran Dieguez)
* Georgian (Ekaterine Papava)
* Hungarian (Balázs Úr)
* Indonesian (Kukuh Syafaat)
* Korean (Seong-ho Cho)
* Latvian (Rūdolfs Mazurs)
* Persian (Danial Behzadi)
* Polish (Piotr Drąg)
* Portuguese (Brazil) (Juliano de Souza Camargo)
* Russian (Artur S0)
* Swedish (Anders Jonsson)
* Thai (Aefgh Threenine)
* Turkish (Emin Tufan Çetin)
Version 46~rc
~~~~~~~~~~~~~
Released: 2024-03-01
This is an unstable release with the following changes:
* Various UI text improvements
* Fix launch of some apps
* Fix invalid app state after it's uninstalled
* Fix read of app description text
* Do not ask to reboot after failed firmware update
This release also updates translations:
* Basque (Asier Sarasua Garmendia)
* Belarusian (Vasil Pupkin)
* Bokmål, Norwegian (Brage Fuglseth)
* Catalan (Jordi Mas, Quique Serrano)
* Chinese (China) (Boyuan Yang)
* Czech (Daniel Rusek)
* Dutch (Nathan Follens)
* English (United Kingdom) (Andi Chandler)
* Galician (Fran Dieguez)
* Georgian (Ekaterine Papava)
* German (Jürgen Benvenuti, Philipp Kiemle)
* Hebrew (Yaron Shahrabani)
* Indonesian (Kukuh Syafaat)
* Kazakh (Baurzhan Muftakhidinov)
* Latvian (Rūdolfs Mazurs)
* Lithuanian (Aurimas Černius)
* Occitan (post 1500) (Quentin PAGÈS)
* Persian (Danial Behzadi)
* Russian (Artur S0)
* Slovenian (Matej Urbančič)
* Spanish (Daniel Mustieles)
* Thai (Aefgh Threenine)
* Turkish (Sabri Ünal)
* Ukrainian (Yuri Chornoivan)
Version 46~beta
~~~~~~~~~~~~~~~
Released: 2024-02-09
This is an unstable release with the following changes:
* Show feedback for all conditions that pause automatic updates
* Various UI improvements and move to new libadwaita widgets
* Fix loading OS AppStream catalog data if it is available as YAML
* Add openSUSE Leap distro upgrade plugin
This release also updates translations:
* Basque (Asier Sarasua Garmendia)
* Belarusian (Vasil Pupkin)
* Czech (Daniel Rusek)
* Galician (Fran Dieguez)
* Hebrew (Yosef Or Boczko)
* Persian (Danial Behzadi)
* Portuguese (Brazil) (Juliano de Souza Camargo)
* Russian (Artur S0)
* Turkish (Sabri Ünal)
Version 46~alpha
~~~~~~~~~~~~~~~~
Released: 2024-01-05
This is an unstable release with the following changes:
* Recognize links in package update descriptions
* Expose package names discreetly in the UI
* Increase speed of load of the category pages
* Improve search match with multiple words
* Recognize verified apps by Flathub
* Correct message when installing firmware updates
* Improve application safety checks
* Improve update preferences dialog
* Fix deadlock when cancelling app update
* Support user installation of local flatpak files
* Fix apps appearing unsorted and without tiles in category page
This release also updates translations:
* Basque (Asier Sarasua Garmendia)
* Chinese (China) (Boyuan Yang)
* Chinese (Taiwan) (Andre Klapper)
* Czech (Daniel Rusek)
* Friulian (Fabio Tomat)
* Georgian (Ekaterine Papava)
* German (Jürgen Benvenuti)
* Hebrew (Yosef Or Boczko)
* Persian (Danial Behzadi)
* Romanian (Florentina Mușat)
* Russian (Artur S0)
* Turkish (Emin Tufan Çetin, Sabri Ünal)
* Ukrainian (Yuri Chornoivan)
* Vietnamese (Ngọc Quân Trần)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-gnome')
-rw-r--r-- | meta-gnome/recipes-gnome/gnome-software/gnome-software/0655f358ed0e8455e12d9634f60bc4dbaee434e3.patch | 504 | ||||
-rw-r--r-- | meta-gnome/recipes-gnome/gnome-software/gnome-software/e431ab003f3fabf616b6eb7dc93f8967bc9473e5.patch | 31 | ||||
-rw-r--r-- | meta-gnome/recipes-gnome/gnome-software/gnome-software_46.0.bb (renamed from meta-gnome/recipes-gnome/gnome-software/gnome-software_45.3.bb) | 6 |
3 files changed, 1 insertions, 540 deletions
diff --git a/meta-gnome/recipes-gnome/gnome-software/gnome-software/0655f358ed0e8455e12d9634f60bc4dbaee434e3.patch b/meta-gnome/recipes-gnome/gnome-software/gnome-software/0655f358ed0e8455e12d9634f60bc4dbaee434e3.patch deleted file mode 100644 index 5e051be15..000000000 --- a/meta-gnome/recipes-gnome/gnome-software/gnome-software/0655f358ed0e8455e12d9634f60bc4dbaee434e3.patch +++ /dev/null | |||
@@ -1,504 +0,0 @@ | |||
1 | From 0655f358ed0e8455e12d9634f60bc4dbaee434e3 Mon Sep 17 00:00:00 2001 | ||
2 | From: Matthias Klumpp <matthias@tenstral.net> | ||
3 | Date: Sun, 8 Oct 2023 20:22:44 +0200 | ||
4 | Subject: [PATCH] Adjust to build with AppStream 1.0 as well as 0.16.x | ||
5 | |||
6 | Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gnome-software/-/commit/0655f358ed0e8455e12d9634f60bc4dbaee434e3] | ||
7 | --- | ||
8 | lib/gs-app.c | 4 ++ | ||
9 | lib/gs-appstream.c | 61 +++++++++++++++++++----- | ||
10 | lib/gs-utils.c | 8 ++-- | ||
11 | meson.build | 22 +-------- | ||
12 | plugins/core/gs-plugin-appstream.c | 8 ---- | ||
13 | plugins/fwupd/gs-fwupd-app.c | 8 ++++ | ||
14 | plugins/fwupd/gs-plugin-fwupd.c | 4 ++ | ||
15 | src/gs-hardware-support-context-dialog.c | 6 +++ | ||
16 | src/gs-repos-dialog.c | 4 ++ | ||
17 | src/gs-screenshot-carousel.c | 4 +- | ||
18 | src/gs-screenshot-image.c | 41 ++++++++++++---- | ||
19 | src/gs-screenshot-image.h | 7 +++ | ||
20 | subprojects/appstream.wrap | 2 +- | ||
21 | 13 files changed, 122 insertions(+), 57 deletions(-) | ||
22 | |||
23 | diff --git a/lib/gs-app.c b/lib/gs-app.c | ||
24 | index 2308de504d..ea348f8c01 100644 | ||
25 | --- a/lib/gs-app.c | ||
26 | +++ b/lib/gs-app.c | ||
27 | @@ -609,7 +609,11 @@ gs_app_to_string_append (GsApp *app, GString *str) | ||
28 | AsScreenshot *ss = g_ptr_array_index (priv->screenshots, i); | ||
29 | g_autofree gchar *key = NULL; | ||
30 | tmp = as_screenshot_get_caption (ss); | ||
31 | +#if AS_CHECK_VERSION(1, 0, 0) | ||
32 | + im = as_screenshot_get_image (ss, 0, 0, 1); | ||
33 | +#else | ||
34 | im = as_screenshot_get_image (ss, 0, 0); | ||
35 | +#endif | ||
36 | if (im == NULL) | ||
37 | continue; | ||
38 | key = g_strdup_printf ("screenshot-%02u", i); | ||
39 | diff --git a/lib/gs-appstream.c b/lib/gs-appstream.c | ||
40 | index deca176dcf..6504d6f25e 100644 | ||
41 | --- a/lib/gs-appstream.c | ||
42 | +++ b/lib/gs-appstream.c | ||
43 | @@ -1011,8 +1011,11 @@ gs_appstream_refine_app_relation (GsApp *app, | ||
44 | as_relation_set_item_kind (relation, AS_RELATION_ITEM_KIND_CONTROL); | ||
45 | as_relation_set_value_control_kind (relation, as_control_kind_from_string (xb_node_get_text (child))); | ||
46 | } else if (g_str_equal (item_kind, "display_length")) { | ||
47 | - AsDisplayLengthKind display_length_kind; | ||
48 | const gchar *compare; | ||
49 | + const gchar *side; | ||
50 | +#if !AS_CHECK_VERSION(1, 0, 0) | ||
51 | + AsDisplayLengthKind display_length_kind; | ||
52 | +#endif | ||
53 | |||
54 | /* https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-relations-display_length */ | ||
55 | as_relation_set_item_kind (relation, AS_RELATION_ITEM_KIND_DISPLAY_LENGTH); | ||
56 | @@ -1020,15 +1023,21 @@ gs_appstream_refine_app_relation (GsApp *app, | ||
57 | compare = xb_node_get_attr (child, "compare"); | ||
58 | as_relation_set_compare (relation, (compare != NULL) ? as_relation_compare_from_string (compare) : AS_RELATION_COMPARE_GE); | ||
59 | |||
60 | +#if AS_CHECK_VERSION(1, 0, 0) | ||
61 | + side = xb_node_get_attr (child, "side"); | ||
62 | + as_relation_set_display_side_kind (relation, (side != NULL) ? as_display_side_kind_from_string (side) : AS_DISPLAY_SIDE_KIND_SHORTEST); | ||
63 | + as_relation_set_value_px (relation, xb_node_get_text_as_uint (child)); | ||
64 | +#else | ||
65 | display_length_kind = as_display_length_kind_from_string (xb_node_get_text (child)); | ||
66 | if (display_length_kind != AS_DISPLAY_LENGTH_KIND_UNKNOWN) { | ||
67 | /* Ignore the `side` attribute */ | ||
68 | as_relation_set_value_display_length_kind (relation, display_length_kind); | ||
69 | } else { | ||
70 | - const gchar *side = xb_node_get_attr (child, "side"); | ||
71 | + side = xb_node_get_attr (child, "side"); | ||
72 | as_relation_set_display_side_kind (relation, (side != NULL) ? as_display_side_kind_from_string (side) : AS_DISPLAY_SIDE_KIND_SHORTEST); | ||
73 | as_relation_set_value_px (relation, xb_node_get_text_as_uint (child)); | ||
74 | } | ||
75 | +#endif | ||
76 | } else { | ||
77 | g_debug ("Relation type ‘%s’ not currently supported for %s; ignoring", | ||
78 | item_kind, gs_app_get_id (app)); | ||
79 | @@ -1472,7 +1481,7 @@ gs_appstream_refine_app (GsPlugin *plugin, | ||
80 | } | ||
81 | |||
82 | typedef struct { | ||
83 | - AsSearchTokenMatch match_value; | ||
84 | + guint16 match_value; | ||
85 | XbQuery *query; | ||
86 | } GsAppstreamSearchHelper; | ||
87 | |||
88 | @@ -1522,7 +1531,7 @@ gs_appstream_silo_search_component (GPtrArray *array, XbNode *component, const g | ||
89 | } | ||
90 | |||
91 | typedef struct { | ||
92 | - AsSearchTokenMatch match_value; | ||
93 | + guint16 match_value; | ||
94 | const gchar *xpath; | ||
95 | } Query; | ||
96 | |||
97 | @@ -1539,6 +1548,11 @@ gs_appstream_do_search (GsPlugin *plugin, | ||
98 | g_autoptr(GPtrArray) array = g_ptr_array_new_with_free_func ((GDestroyNotify) gs_appstream_search_helper_free); | ||
99 | g_autoptr(GPtrArray) components = NULL; | ||
100 | g_autoptr(GTimer) timer = g_timer_new (); | ||
101 | +#if AS_CHECK_VERSION(1, 0, 0) | ||
102 | + const guint16 component_id_weight = as_utils_get_tag_search_weight ("id"); | ||
103 | +#else | ||
104 | + const guint16 component_id_weight = AS_SEARCH_TOKEN_MATCH_ID; | ||
105 | +#endif | ||
106 | |||
107 | g_return_val_if_fail (GS_IS_PLUGIN (plugin), FALSE); | ||
108 | g_return_val_if_fail (XB_IS_SILO (silo), FALSE); | ||
109 | @@ -1585,7 +1599,7 @@ gs_appstream_do_search (GsPlugin *plugin, | ||
110 | * Drop the ID token from it as it’s the highest | ||
111 | * numeric value but isn’t visible to the user in the | ||
112 | * UI, which leads to confusing results ordering. */ | ||
113 | - gs_app_set_match_value (app, match_value & (~AS_SEARCH_TOKEN_MATCH_ID)); | ||
114 | + gs_app_set_match_value (app, match_value & (~component_id_weight)); | ||
115 | gs_app_list_add (list, app); | ||
116 | |||
117 | if (gs_app_get_kind (app) == AS_COMPONENT_KIND_ADDON) { | ||
118 | @@ -1624,18 +1638,32 @@ gs_appstream_search (GsPlugin *plugin, | ||
119 | GCancellable *cancellable, | ||
120 | GError **error) | ||
121 | { | ||
122 | +#if AS_CHECK_VERSION(1, 0, 0) | ||
123 | + guint16 pkgname_weight = as_utils_get_tag_search_weight ("pkgname"); | ||
124 | + guint16 name_weight = as_utils_get_tag_search_weight ("name"); | ||
125 | + guint16 id_weight = as_utils_get_tag_search_weight ("id"); | ||
126 | const Query queries[] = { | ||
127 | - #ifdef HAVE_AS_SEARCH_TOKEN_MATCH_MEDIATYPE | ||
128 | - { AS_SEARCH_TOKEN_MATCH_MEDIATYPE, "mimetypes/mimetype[text()~=stem(?)]" }, | ||
129 | - #else | ||
130 | - { AS_SEARCH_TOKEN_MATCH_MIMETYPE, "mimetypes/mimetype[text()~=stem(?)]" }, | ||
131 | - #endif | ||
132 | + { as_utils_get_tag_search_weight ("mediatype"), "provides/mediatype[text()~=stem(?)]" }, | ||
133 | /* Search once with a tokenize-and-casefold operator (`~=`) to support casefolded | ||
134 | * full-text search, then again using substring matching (`contains()`), to | ||
135 | * support prefix matching. Only do the prefix matches on a few fields, and at a | ||
136 | * lower priority, otherwise things will get confusing. | ||
137 | - * | ||
138 | + * | ||
139 | * See https://gitlab.gnome.org/GNOME/gnome-software/-/issues/2277 */ | ||
140 | + { pkgname_weight, "pkgname[text()~=stem(?)]" }, | ||
141 | + { pkgname_weight / 2, "pkgname[contains(text(),stem(?))]" }, | ||
142 | + { as_utils_get_tag_search_weight ("summary"), "summary[text()~=stem(?)]" }, | ||
143 | + { name_weight, "name[text()~=stem(?)]" }, | ||
144 | + { name_weight / 2, "name[contains(text(),stem(?))]" }, | ||
145 | + { as_utils_get_tag_search_weight ("keyword"), "keywords/keyword[text()~=stem(?)]" }, | ||
146 | + { id_weight, "id[text()~=stem(?)]" }, | ||
147 | + { id_weight, "launchable[text()~=stem(?)]" }, | ||
148 | + { as_utils_get_tag_search_weight ("origin"), "../components[@origin~=stem(?)]" }, | ||
149 | + { 0, NULL } | ||
150 | + }; | ||
151 | +#else | ||
152 | + const Query queries[] = { | ||
153 | + { AS_SEARCH_TOKEN_MATCH_MEDIATYPE, "mimetypes/mimetype[text()~=stem(?)]" }, | ||
154 | { AS_SEARCH_TOKEN_MATCH_PKGNAME, "pkgname[text()~=stem(?)]" }, | ||
155 | { AS_SEARCH_TOKEN_MATCH_PKGNAME / 2, "pkgname[contains(text(),stem(?))]" }, | ||
156 | { AS_SEARCH_TOKEN_MATCH_SUMMARY, "summary[text()~=stem(?)]" }, | ||
157 | @@ -1647,6 +1675,7 @@ gs_appstream_search (GsPlugin *plugin, | ||
158 | { AS_SEARCH_TOKEN_MATCH_ORIGIN, "../components[@origin~=stem(?)]" }, | ||
159 | { AS_SEARCH_TOKEN_MATCH_NONE, NULL } | ||
160 | }; | ||
161 | +#endif | ||
162 | |||
163 | return gs_appstream_do_search (plugin, silo, values, queries, list, cancellable, error); | ||
164 | } | ||
165 | @@ -1659,11 +1688,21 @@ gs_appstream_search_developer_apps (GsPlugin *plugin, | ||
166 | GCancellable *cancellable, | ||
167 | GError **error) | ||
168 | { | ||
169 | +#if AS_CHECK_VERSION(1, 0, 0) | ||
170 | + const Query queries[] = { | ||
171 | + { as_utils_get_tag_search_weight ("pkgname"), "developer/name[text()~=stem(?)]" }, | ||
172 | + { as_utils_get_tag_search_weight ("summary"), "project_group[text()~=stem(?)]" }, | ||
173 | + /* for legacy support */ | ||
174 | + { as_utils_get_tag_search_weight ("pkgname"), "developer_name[text()~=stem(?)]" }, | ||
175 | + { 0, NULL } | ||
176 | + }; | ||
177 | +#else | ||
178 | const Query queries[] = { | ||
179 | { AS_SEARCH_TOKEN_MATCH_PKGNAME, "developer_name[text()~=stem(?)]" }, | ||
180 | { AS_SEARCH_TOKEN_MATCH_SUMMARY, "project_group[text()~=stem(?)]" }, | ||
181 | { AS_SEARCH_TOKEN_MATCH_NONE, NULL } | ||
182 | }; | ||
183 | +#endif | ||
184 | |||
185 | return gs_appstream_do_search (plugin, silo, values, queries, list, cancellable, error); | ||
186 | } | ||
187 | diff --git a/lib/gs-utils.c b/lib/gs-utils.c | ||
188 | index cf9073025f..19e6ebd046 100644 | ||
189 | --- a/lib/gs-utils.c | ||
190 | +++ b/lib/gs-utils.c | ||
191 | @@ -1694,9 +1694,9 @@ gs_utils_gstring_replace (GString *str, | ||
192 | const gchar *find, | ||
193 | const gchar *replace) | ||
194 | { | ||
195 | - #ifdef HAVE_AS_GSTRING_REPLACE_WITH_FOUR_ARGS | ||
196 | +#if AS_CHECK_VERSION(1, 0, 0) | ||
197 | as_gstring_replace (str, find, replace, 0); | ||
198 | - #else | ||
199 | - as_gstring_replace (str, find, replace); | ||
200 | - #endif | ||
201 | +#else | ||
202 | + as_gstring_replace2 (str, find, replace, 0); | ||
203 | +#endif | ||
204 | } | ||
205 | diff --git a/meson.build b/meson.build | ||
206 | index bc19669dd5..8c82464cdb 100644 | ||
207 | --- a/meson.build | ||
208 | +++ b/meson.build | ||
209 | @@ -113,7 +113,7 @@ add_project_arguments('-D_GNU_SOURCE', language : 'c') | ||
210 | conf.set('HAVE_LINUX_UNISTD_H', cc.has_header('linux/unistd.h')) | ||
211 | |||
212 | appstream = dependency('appstream', | ||
213 | - version : '>= 0.14.0', | ||
214 | + version : '>= 0.16.4', | ||
215 | fallback : ['appstream', 'appstream_dep'], | ||
216 | default_options : [ | ||
217 | 'docs=false', | ||
218 | @@ -121,26 +121,6 @@ appstream = dependency('appstream', | ||
219 | 'install-docs=false' | ||
220 | ] | ||
221 | ) | ||
222 | -if appstream.type_name() == 'internal' | ||
223 | -else | ||
224 | - if meson.get_compiler('c').has_header_symbol('appstream.h', 'AS_SEARCH_TOKEN_MATCH_MEDIATYPE', dependencies: appstream) | ||
225 | - conf.set('HAVE_AS_SEARCH_TOKEN_MATCH_MEDIATYPE', '1') | ||
226 | - endif | ||
227 | - if meson.get_compiler('c').has_header_symbol('appstream.h', 'AS_FORMAT_STYLE_CATALOG', dependencies: appstream) | ||
228 | - conf.set('HAVE_AS_FORMAT_STYLE_CATALOG', '1') | ||
229 | - endif | ||
230 | - if meson.get_compiler('c').has_function('as_metadata_components_to_catalog', prefix: '#include <appstream.h>', dependencies: appstream) | ||
231 | - conf.set('HAVE_AS_METADATA_COMPONENTS_TO_CATALOG', '1') | ||
232 | - endif | ||
233 | - if meson.get_compiler('c').links('''#include <appstream.h> | ||
234 | - int main (void) | ||
235 | - { | ||
236 | - as_gstring_replace (NULL, "a", "b", 0); | ||
237 | - return 0; | ||
238 | - }''', name: 'as_gstring_replace() has four arguments', dependencies: appstream) | ||
239 | - conf.set('HAVE_AS_GSTRING_REPLACE_WITH_FOUR_ARGS', '1') | ||
240 | - endif | ||
241 | -endif | ||
242 | |||
243 | gdk_pixbuf = dependency('gdk-pixbuf-2.0', version : '>= 2.32.0') | ||
244 | libxmlb = dependency('xmlb', version : '>= 0.1.7', fallback : ['libxmlb', 'libxmlb_dep']) | ||
245 | diff --git a/plugins/core/gs-plugin-appstream.c b/plugins/core/gs-plugin-appstream.c | ||
246 | index cf9f3022b1..ef3226a591 100644 | ||
247 | --- a/plugins/core/gs-plugin-appstream.c | ||
248 | +++ b/plugins/core/gs-plugin-appstream.c | ||
249 | @@ -414,11 +414,7 @@ gs_plugin_appstream_load_dep11_cb (XbBuilderSource *self, | ||
250 | if (bytes == NULL) | ||
251 | return NULL; | ||
252 | |||
253 | - #ifdef HAVE_AS_FORMAT_STYLE_CATALOG | ||
254 | as_metadata_set_format_style (mdata, AS_FORMAT_STYLE_CATALOG); | ||
255 | - #else | ||
256 | - as_metadata_set_format_style (mdata, AS_FORMAT_STYLE_COLLECTION); | ||
257 | - #endif | ||
258 | as_metadata_parse_bytes (mdata, | ||
259 | bytes, | ||
260 | AS_FORMAT_KIND_YAML, | ||
261 | @@ -428,11 +424,7 @@ gs_plugin_appstream_load_dep11_cb (XbBuilderSource *self, | ||
262 | return NULL; | ||
263 | } | ||
264 | |||
265 | - #ifdef HAVE_AS_METADATA_COMPONENTS_TO_CATALOG | ||
266 | xml = as_metadata_components_to_catalog (mdata, AS_FORMAT_KIND_XML, &tmp_error); | ||
267 | - #else | ||
268 | - xml = as_metadata_components_to_collection (mdata, AS_FORMAT_KIND_XML, &tmp_error); | ||
269 | - #endif | ||
270 | if (xml == NULL) { | ||
271 | // This API currently returns NULL if there is nothing to serialize, so we | ||
272 | // have to test if this is an error or not. | ||
273 | diff --git a/plugins/fwupd/gs-fwupd-app.c b/plugins/fwupd/gs-fwupd-app.c | ||
274 | index 6dcda6ee92..5d3254da59 100644 | ||
275 | --- a/plugins/fwupd/gs-fwupd-app.c | ||
276 | +++ b/plugins/fwupd/gs-fwupd-app.c | ||
277 | @@ -164,7 +164,11 @@ gs_fwupd_app_set_from_device (GsApp *app, | ||
278 | gs_app_set_install_date (app, fwupd_device_get_created (dev)); | ||
279 | if (fwupd_device_get_description (dev) != NULL) { | ||
280 | g_autofree gchar *tmp = NULL; | ||
281 | +#if AS_CHECK_VERSION(1, 0, 0) | ||
282 | + tmp = as_markup_convert (fwupd_device_get_description (dev), AS_MARKUP_KIND_TEXT, NULL); | ||
283 | +#else | ||
284 | tmp = as_markup_convert_simple (fwupd_device_get_description (dev), NULL); | ||
285 | +#endif | ||
286 | if (tmp != NULL) | ||
287 | gs_app_set_description (app, GS_APP_QUALITY_NORMAL, tmp); | ||
288 | } | ||
289 | @@ -402,7 +406,11 @@ gs_fwupd_app_set_from_release (GsApp *app, FwupdRelease *rel) | ||
290 | } | ||
291 | if (fwupd_release_get_description (rel) != NULL) { | ||
292 | g_autofree gchar *tmp = NULL; | ||
293 | +#if AS_CHECK_VERSION(1, 0, 0) | ||
294 | + tmp = as_markup_convert (fwupd_release_get_description (rel), AS_MARKUP_KIND_TEXT, NULL); | ||
295 | +#else | ||
296 | tmp = as_markup_convert_simple (fwupd_release_get_description (rel), NULL); | ||
297 | +#endif | ||
298 | if (tmp != NULL) | ||
299 | gs_app_set_update_details_text (app, tmp); | ||
300 | } | ||
301 | diff --git a/plugins/fwupd/gs-plugin-fwupd.c b/plugins/fwupd/gs-plugin-fwupd.c | ||
302 | index d8c0cd2dd4..a9b05028a0 100644 | ||
303 | --- a/plugins/fwupd/gs-plugin-fwupd.c | ||
304 | +++ b/plugins/fwupd/gs-plugin-fwupd.c | ||
305 | @@ -727,7 +727,11 @@ gs_plugin_add_updates (GsPlugin *plugin, | ||
306 | g_autofree gchar *desc = NULL; | ||
307 | if (fwupd_release_get_description (rel) == NULL) | ||
308 | continue; | ||
309 | +#if AS_CHECK_VERSION(1, 0, 0) | ||
310 | + desc = as_markup_convert (fwupd_release_get_description (rel), AS_MARKUP_KIND_TEXT, NULL); | ||
311 | +#else | ||
312 | desc = as_markup_convert_simple (fwupd_release_get_description (rel), NULL); | ||
313 | +#endif | ||
314 | if (desc == NULL) | ||
315 | continue; | ||
316 | g_string_append_printf (update_desc, | ||
317 | diff --git a/src/gs-hardware-support-context-dialog.c b/src/gs-hardware-support-context-dialog.c | ||
318 | index 0e48c8c266..14653401de 100644 | ||
319 | --- a/src/gs-hardware-support-context-dialog.c | ||
320 | +++ b/src/gs-hardware-support-context-dialog.c | ||
321 | @@ -461,6 +461,7 @@ gs_hardware_support_context_dialog_get_display_support (GdkMonitor *monitor, | ||
322 | AsRelationCompare comparator = as_relation_get_compare (relation); | ||
323 | Range current_display_comparand, relation_comparand; | ||
324 | |||
325 | +#if !AS_CHECK_VERSION(1, 0, 0) | ||
326 | /* From https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-requires-recommends-display_length */ | ||
327 | Range display_lengths[] = { | ||
328 | [AS_DISPLAY_LENGTH_KIND_XSMALL] = { 0, 360 }, | ||
329 | @@ -469,6 +470,7 @@ gs_hardware_support_context_dialog_get_display_support (GdkMonitor *monitor, | ||
330 | [AS_DISPLAY_LENGTH_KIND_LARGE] = { 1024, 3840 }, | ||
331 | [AS_DISPLAY_LENGTH_KIND_XLARGE] = { 3840, G_MAXUINT }, | ||
332 | }; | ||
333 | +#endif | ||
334 | |||
335 | any_display_relations_set = TRUE; | ||
336 | |||
337 | @@ -485,11 +487,14 @@ gs_hardware_support_context_dialog_get_display_support (GdkMonitor *monitor, | ||
338 | case AS_DISPLAY_SIDE_KIND_LAST: | ||
339 | default: | ||
340 | current_display_comparand.min = current_display_comparand.max = MAX (current_screen_size.width, current_screen_size.height); | ||
341 | +#if !AS_CHECK_VERSION(1, 0, 0) | ||
342 | relation_comparand.min = display_lengths[as_relation_get_value_display_length_kind (relation)].min; | ||
343 | relation_comparand.max = display_lengths[as_relation_get_value_display_length_kind (relation)].max; | ||
344 | +#endif | ||
345 | break; | ||
346 | } | ||
347 | |||
348 | +#if !AS_CHECK_VERSION(1, 0, 0) | ||
349 | if (evaluate_display_comparison (display_lengths[AS_DISPLAY_LENGTH_KIND_SMALL], comparator, relation_comparand)) { | ||
350 | *mobile_relation_kind_out = max_relation_kind (*mobile_relation_kind_out, as_relation_get_kind (relation)); | ||
351 | *mobile_match_out = TRUE; | ||
352 | @@ -499,6 +504,7 @@ gs_hardware_support_context_dialog_get_display_support (GdkMonitor *monitor, | ||
353 | *desktop_relation_kind_out = max_relation_kind (*desktop_relation_kind_out, as_relation_get_kind (relation)); | ||
354 | *desktop_match_out = TRUE; | ||
355 | } | ||
356 | +#endif | ||
357 | |||
358 | if (evaluate_display_comparison (current_display_comparand, comparator, relation_comparand)) { | ||
359 | *current_relation_kind_out = max_relation_kind (*current_relation_kind_out, as_relation_get_kind (relation)); | ||
360 | diff --git a/src/gs-repos-dialog.c b/src/gs-repos-dialog.c | ||
361 | index c41c4944a1..7dac0416d9 100644 | ||
362 | --- a/src/gs-repos-dialog.c | ||
363 | +++ b/src/gs-repos-dialog.c | ||
364 | @@ -154,7 +154,11 @@ enable_repo (GsReposDialog *dialog, | ||
365 | g_autoptr(GError) error = NULL; | ||
366 | |||
367 | /* convert from AppStream markup */ | ||
368 | +#if AS_CHECK_VERSION(1, 0, 0) | ||
369 | + message = as_markup_convert (gs_app_get_agreement (repo), AS_MARKUP_KIND_TEXT, &error); | ||
370 | +#else | ||
371 | message = as_markup_convert_simple (gs_app_get_agreement (repo), &error); | ||
372 | +#endif | ||
373 | if (message == NULL) { | ||
374 | /* failed, so just try and show the original markup */ | ||
375 | message = g_strdup (gs_app_get_agreement (repo)); | ||
376 | diff --git a/src/gs-screenshot-carousel.c b/src/gs-screenshot-carousel.c | ||
377 | index 04bbf86a1e..d269af6605 100644 | ||
378 | --- a/src/gs-screenshot-carousel.c | ||
379 | +++ b/src/gs-screenshot-carousel.c | ||
380 | @@ -141,8 +141,8 @@ gs_screenshot_carousel_load_screenshots (GsScreenshotCarousel *self, GsApp *app, | ||
381 | gtk_widget_set_can_focus (gtk_widget_get_first_child (ssimg), FALSE); | ||
382 | gs_screenshot_image_set_screenshot (GS_SCREENSHOT_IMAGE (ssimg), ss); | ||
383 | gs_screenshot_image_set_size (GS_SCREENSHOT_IMAGE (ssimg), | ||
384 | - AS_IMAGE_NORMAL_WIDTH, | ||
385 | - AS_IMAGE_NORMAL_HEIGHT); | ||
386 | + GS_IMAGE_NORMAL_WIDTH, | ||
387 | + GS_IMAGE_NORMAL_HEIGHT); | ||
388 | gtk_widget_add_css_class (ssimg, "screenshot-image-main"); | ||
389 | gs_screenshot_image_load_async (GS_SCREENSHOT_IMAGE (ssimg), cancellable); | ||
390 | |||
391 | diff --git a/src/gs-screenshot-image.c b/src/gs-screenshot-image.c | ||
392 | index 93dba68f96..6b4db03d06 100644 | ||
393 | --- a/src/gs-screenshot-image.c | ||
394 | +++ b/src/gs-screenshot-image.c | ||
395 | @@ -293,13 +293,13 @@ gs_screenshot_image_save_downloaded_img (GsScreenshotImage *ssimg, | ||
396 | if (images->len > 1) | ||
397 | return TRUE; | ||
398 | |||
399 | - if (width == AS_IMAGE_THUMBNAIL_WIDTH && | ||
400 | - height == AS_IMAGE_THUMBNAIL_HEIGHT) { | ||
401 | - width = AS_IMAGE_NORMAL_WIDTH; | ||
402 | - height = AS_IMAGE_NORMAL_HEIGHT; | ||
403 | + if (width == GS_IMAGE_THUMBNAIL_WIDTH && | ||
404 | + height == GS_IMAGE_THUMBNAIL_HEIGHT) { | ||
405 | + width = GS_IMAGE_NORMAL_WIDTH; | ||
406 | + height = GS_IMAGE_NORMAL_HEIGHT; | ||
407 | } else { | ||
408 | - width = AS_IMAGE_THUMBNAIL_WIDTH; | ||
409 | - height = AS_IMAGE_THUMBNAIL_HEIGHT; | ||
410 | + width = GS_IMAGE_THUMBNAIL_WIDTH; | ||
411 | + height = GS_IMAGE_THUMBNAIL_HEIGHT; | ||
412 | } | ||
413 | |||
414 | width *= ssimg->scale; | ||
415 | @@ -591,16 +591,30 @@ gs_screenshot_image_get_url (GsScreenshotImage *ssimg) | ||
416 | } else if (as_screenshot_get_media_kind (ssimg->screenshot) == AS_SCREENSHOT_MEDIA_KIND_IMAGE) { | ||
417 | AsImage *im; | ||
418 | |||
419 | +#if AS_CHECK_VERSION(1, 0, 0) | ||
420 | + im = as_screenshot_get_image (ssimg->screenshot, | ||
421 | + ssimg->width, | ||
422 | + ssimg->height, | ||
423 | + ssimg->scale); | ||
424 | +#else | ||
425 | im = as_screenshot_get_image (ssimg->screenshot, | ||
426 | ssimg->width * ssimg->scale, | ||
427 | ssimg->height * ssimg->scale); | ||
428 | +#endif | ||
429 | |||
430 | /* if we've failed to load a HiDPI image, fallback to LoDPI */ | ||
431 | if (im == NULL && ssimg->scale > 1) { | ||
432 | ssimg->scale = 1; | ||
433 | +#if AS_CHECK_VERSION(1, 0, 0) | ||
434 | + im = as_screenshot_get_image (ssimg->screenshot, | ||
435 | + ssimg->width, | ||
436 | + ssimg->height, | ||
437 | + 1); | ||
438 | +#else | ||
439 | im = as_screenshot_get_image (ssimg->screenshot, | ||
440 | ssimg->width, | ||
441 | ssimg->height); | ||
442 | +#endif | ||
443 | } | ||
444 | |||
445 | if (im) | ||
446 | @@ -707,15 +721,22 @@ gs_screenshot_image_load_async (GsScreenshotImage *ssimg, | ||
447 | * smaller version of it straight away */ | ||
448 | if (!ssimg->showing_image && | ||
449 | as_screenshot_get_media_kind (ssimg->screenshot) == AS_SCREENSHOT_MEDIA_KIND_IMAGE && | ||
450 | - ssimg->width > AS_IMAGE_THUMBNAIL_WIDTH && | ||
451 | - ssimg->height > AS_IMAGE_THUMBNAIL_HEIGHT) { | ||
452 | + ssimg->width > GS_IMAGE_THUMBNAIL_WIDTH && | ||
453 | + ssimg->height > GS_IMAGE_THUMBNAIL_HEIGHT) { | ||
454 | const gchar *url_thumb; | ||
455 | g_autofree gchar *basename_thumb = NULL; | ||
456 | g_autofree gchar *cache_kind_thumb = NULL; | ||
457 | AsImage *im; | ||
458 | +#if AS_CHECK_VERSION(1, 0, 0) | ||
459 | im = as_screenshot_get_image (ssimg->screenshot, | ||
460 | - AS_IMAGE_THUMBNAIL_WIDTH * ssimg->scale, | ||
461 | - AS_IMAGE_THUMBNAIL_HEIGHT * ssimg->scale); | ||
462 | + GS_IMAGE_THUMBNAIL_WIDTH, | ||
463 | + GS_IMAGE_THUMBNAIL_HEIGHT, | ||
464 | + ssimg->scale); | ||
465 | +#else | ||
466 | + im = as_screenshot_get_image (ssimg->screenshot, | ||
467 | + GS_IMAGE_THUMBNAIL_WIDTH * ssimg->scale, | ||
468 | + GS_IMAGE_THUMBNAIL_HEIGHT * ssimg->scale); | ||
469 | +#endif | ||
470 | url_thumb = as_image_get_url (im); | ||
471 | basename_thumb = gs_screenshot_get_cachefn_for_url (url_thumb); | ||
472 | cache_kind_thumb = g_build_filename ("screenshots", "112x63", NULL); | ||
473 | diff --git a/src/gs-screenshot-image.h b/src/gs-screenshot-image.h | ||
474 | index 1f6cf81ce6..6e45f5d20a 100644 | ||
475 | --- a/src/gs-screenshot-image.h | ||
476 | +++ b/src/gs-screenshot-image.h | ||
477 | @@ -21,6 +21,13 @@ G_BEGIN_DECLS | ||
478 | |||
479 | G_DECLARE_FINAL_TYPE (GsScreenshotImage, gs_screenshot_image, GS, SCREENSHOT_IMAGE, GtkWidget) | ||
480 | |||
481 | +#define GS_IMAGE_LARGE_HEIGHT 423 | ||
482 | +#define GS_IMAGE_LARGE_WIDTH 752 | ||
483 | +#define GS_IMAGE_NORMAL_HEIGHT 351 | ||
484 | +#define GS_IMAGE_NORMAL_WIDTH 624 | ||
485 | +#define GS_IMAGE_THUMBNAIL_HEIGHT 63 | ||
486 | +#define GS_IMAGE_THUMBNAIL_WIDTH 112 | ||
487 | + | ||
488 | GtkWidget *gs_screenshot_image_new (SoupSession *session); | ||
489 | |||
490 | AsScreenshot *gs_screenshot_image_get_screenshot (GsScreenshotImage *ssimg); | ||
491 | diff --git a/subprojects/appstream.wrap b/subprojects/appstream.wrap | ||
492 | index 6f0beb0cbc..b9a9c7dbe5 100644 | ||
493 | --- a/subprojects/appstream.wrap | ||
494 | +++ b/subprojects/appstream.wrap | ||
495 | @@ -1,5 +1,5 @@ | ||
496 | [wrap-git] | ||
497 | directory = appstream | ||
498 | url = https://github.com/ximion/appstream.git | ||
499 | -revision = v0.14.1 | ||
500 | +revision = v0.16.4 | ||
501 | depth = 1 | ||
502 | -- | ||
503 | GitLab | ||
504 | |||
diff --git a/meta-gnome/recipes-gnome/gnome-software/gnome-software/e431ab003f3fabf616b6eb7dc93f8967bc9473e5.patch b/meta-gnome/recipes-gnome/gnome-software/gnome-software/e431ab003f3fabf616b6eb7dc93f8967bc9473e5.patch deleted file mode 100644 index b7bddc324..000000000 --- a/meta-gnome/recipes-gnome/gnome-software/gnome-software/e431ab003f3fabf616b6eb7dc93f8967bc9473e5.patch +++ /dev/null | |||
@@ -1,31 +0,0 @@ | |||
1 | From e431ab003f3fabf616b6eb7dc93f8967bc9473e5 Mon Sep 17 00:00:00 2001 | ||
2 | From: Milan Crha <mcrha@redhat.com> | ||
3 | Date: Wed, 22 Nov 2023 09:44:40 +0100 | ||
4 | Subject: [PATCH] gs-appstream: Remove use of AS_PROVIDED_KIND_PYTHON_2 | ||
5 | |||
6 | It's dropped in appstream 1.0.0 and it's not used anywhere in the gnome-software | ||
7 | code, thus just remove it, rather than have it only for pre-1.0.0 appstream version. | ||
8 | |||
9 | Closes https://gitlab.gnome.org/GNOME/gnome-software/-/issues/2388 | ||
10 | |||
11 | Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gnome-software/-/commit/e431ab003f3fabf616b6eb7dc93f8967bc9473e5] | ||
12 | --- | ||
13 | lib/gs-appstream.c | 2 -- | ||
14 | 1 file changed, 2 deletions(-) | ||
15 | |||
16 | diff --git a/lib/gs-appstream.c b/lib/gs-appstream.c | ||
17 | index 6504d6f25..4fd7f5334 100644 | ||
18 | --- a/lib/gs-appstream.c | ||
19 | +++ b/lib/gs-appstream.c | ||
20 | @@ -587,8 +587,6 @@ gs_appstream_refine_add_provides (GsApp *app, XbNode *component, GError **error) | ||
21 | kind = AS_PROVIDED_KIND_FIRMWARE_RUNTIME; | ||
22 | else if (g_strcmp0 (fw_type, "flashed") == 0) | ||
23 | kind = AS_PROVIDED_KIND_FIRMWARE_FLASHED; | ||
24 | - } else if (g_strcmp0 (element_name, "python2") == 0) { | ||
25 | - kind = AS_PROVIDED_KIND_PYTHON_2; | ||
26 | } else if (g_strcmp0 (element_name, "python3") == 0) { | ||
27 | kind = AS_PROVIDED_KIND_PYTHON; | ||
28 | } else if (g_strcmp0 (element_name, "dbus") == 0) { | ||
29 | -- | ||
30 | GitLab | ||
31 | |||
diff --git a/meta-gnome/recipes-gnome/gnome-software/gnome-software_45.3.bb b/meta-gnome/recipes-gnome/gnome-software/gnome-software_46.0.bb index 4beb79f1b..40a7141fc 100644 --- a/meta-gnome/recipes-gnome/gnome-software/gnome-software_45.3.bb +++ b/meta-gnome/recipes-gnome/gnome-software/gnome-software_46.0.bb | |||
@@ -28,11 +28,7 @@ RDEPENDS:${PN} = "iso-codes" | |||
28 | 28 | ||
29 | EXTRA_OEMESON += "-Dtests=false -Dsoup2=false" | 29 | EXTRA_OEMESON += "-Dtests=false -Dsoup2=false" |
30 | 30 | ||
31 | SRC_URI += " \ | 31 | SRC_URI[archive.sha256sum] = "11893002bbb54082896683707bc3991ae55a2f3040811a760e3a92c96544f86e" |
32 | file://0655f358ed0e8455e12d9634f60bc4dbaee434e3.patch \ | ||
33 | file://e431ab003f3fabf616b6eb7dc93f8967bc9473e5.patch \ | ||
34 | " | ||
35 | SRC_URI[archive.sha256sum] = "d6b9245b22237da7bd1739dd28c23cc8f3835f99fa10c1037d9dd7635335251c" | ||
36 | 32 | ||
37 | PACKAGECONFIG ?= "flatpak" | 33 | PACKAGECONFIG ?= "flatpak" |
38 | PACKAGECONFIG[flatpak] = "-Dflatpak=true,-Dflatpak=false,flatpak ostree" | 34 | PACKAGECONFIG[flatpak] = "-Dflatpak=true,-Dflatpak=false,flatpak ostree" |