Bug 1217047

Summary: Tracker: Packages incompatible with appstream 1.0
Product: [openSUSE] openSUSE Tumbleweed Reporter: Christophe Marin <christophe>
Component: OtherAssignee: Christophe Marin <christophe>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: Andreas.Stieger, bjorn.lie, dimstar, fabian, fvogt, gnome-bugs, idesmi, opensuse-kde-bugs, whyhow3.141, yfjiang
Version: Current   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Bug Depends on:    
Bug Blocks: 1218427    

Description Christophe Marin 2023-11-12 10:35:12 UTC
Appstream 1.0 comes with BIC changes and format changes for metainfo files.

Besides, appstream now uses Qt6 or Qt5 but shares the same library and CMake config name.

Among the factory packages requiring appstream at build time, 8 failures were found.

Build failures:
- discover (needs appstreamqt built with Qt5 for its stable build)
- flatpak
- gnome-software
- libadwaita
- pidgin-sipe


metainfo validation failures:

- deja-dup
- gnome-sudoku
- gthumb
Comment 1 Christophe Marin 2023-11-12 10:50:56 UTC
See https://build.opensuse.org/project/monitor/home:krop:Appstream?arch_x86_64=1&defaults=0&failed=1&repo_openSUSE_Factory=1

for the current failures.
I'll submit a compatibility package with appstream 0.16.
Meanwhile, can you add 'BuildRequires' lines to your respective packages to make sure you require appstream < 1.0

Thanks.
Comment 3 Bjørn Lie 2023-11-16 12:38:50 UTC
(In reply to Andreas Stieger from comment #2)
> > - flatpak
> 
> https://github.com/flatpak/flatpak/issues/5587
> https://github.com/flatpak/flatpak/issues/5472
> https://github.com/flatpak/flatpak/pull/5473
> https://github.com/flatpak/flatpak/commit/
> 7a55b7c49f567bad371ecb18d2ef1833f337065a

https://build.opensuse.org/request/show/1126468
should take care of flatpak


> libadwaita

https://build.opensuse.org/request/show/1126866

> gnome-software

https://gitlab.gnome.org/GNOME/gnome-software/-/merge_requests/1810

Let that one land, hopefully upstream will backport it.
Comment 4 Christophe Marin 2023-11-22 09:26:44 UTC
Thanks for having a look!

(In reply to Bjørn Lie from comment #3)
> [...]

> > libadwaita
> 
> https://build.opensuse.org/request/show/1126866
> 

The update didn't help:
https://build.opensuse.org/package/live_build_log/home:krop:Appstream/libadwaita/openSUSE_Factory/x86_64

> > gnome-software
> 
> https://gitlab.gnome.org/GNOME/gnome-software/-/merge_requests/1810
> 
> Let that one land, hopefully upstream will backport it.
Comment 5 Christophe Marin 2023-11-22 13:13:00 UTC
(In reply to Christophe Marin from comment #0)
> 
> - pidgin-sipe
https://build.opensuse.org/request/show/1128115

> metainfo validation failures:
> 
> - deja-dup

I tried updating the package to version 45.1 but it didn't help.
appstreamcli doesn't accept the 'developer_name' tag anymore (same reason for gnome-sudoku)
Comment 6 Bjørn Lie 2023-11-23 16:05:12 UTC
(In reply to Christophe Marin from comment #4)
> Thanks for having a look!
> 
> The update didn't help:
> https://build.opensuse.org/package/live_build_log/home:krop:Appstream/
> libadwaita/openSUSE_Factory/x86_64
> 

Bah... - it needed yet a patch (not available in the stable branch) - libadwaita is now on it's way

https://build.opensuse.org/request/show/1128139
Comment 7 Bjørn Lie 2023-11-23 16:14:59 UTC
(In reply to Christophe Marin from comment #5)

> I tried updating the package to version 45.1 but it didn't help.
> appstreamcli doesn't accept the 'developer_name' tag anymore (same reason
> for gnome-sudoku)


Thanks for versionbump :-) But yeah, deja-dup needs more work indeed
Comment 9 Christophe Marin 2023-12-13 09:39:21 UTC
I added https://github.com/ximion/appstream/commit/0e12d9840b to my branch, this should hopefully solve a couple more failures
Comment 10 Christophe Marin 2023-12-13 10:27:48 UTC
(In reply to Christophe Marin from comment #9)
> I added https://github.com/ximion/appstream/commit/0e12d9840b to my branch,
> this should hopefully solve a couple more failures

we're down to 3 failures, gthumb, gnome-software and discover
Comment 11 Christophe Marin 2023-12-13 17:17:03 UTC
(In reply to Christophe Marin from comment #10)
> (In reply to Christophe Marin from comment #9)
> > I added https://github.com/ximion/appstream/commit/0e12d9840b to my branch,
> > this should hopefully solve a couple more failures
> 
> we're down to 3 failures, gthumb, gnome-software and discover

gthumb is green again with another patch.

when will the next gnome-software update arrive?
Comment 12 Christophe Marin 2023-12-15 09:50:02 UTC
With https://build.opensuse.org/request/show/1133364 (discover) and https://build.opensuse.org/request/show/1133373 (gnome-software), all packages requiring appstream at build time should be handled.
Comment 13 OBSbugzilla Bot 2023-12-19 09:35:04 UTC
This is an autogenerated message for OBS integration:
This bug (1217047) was mentioned in
https://build.opensuse.org/request/show/1133972 Factory / discover
Comment 14 Christophe Marin 2023-12-19 12:50:44 UTC
libzypp-plugin-appdata is also incompatible. appstream 1.0 no longer reads in /usr/share/app-info/ or /var/lib/app-info.

We can either update https://github.com/DimStar77/openSUSE-appstream or add symlinks /var/cache/app-info/xmls → /var/lib/swcatalog/xml and /var/cache/app-info/icons → /var/lib/swcatalog/icons
Comment 15 Dominique Leuenberger 2023-12-19 12:53:23 UTC
(In reply to Christophe Marin from comment #14)
> libzypp-plugin-appdata is also incompatible. appstream 1.0 no longer reads
> in /usr/share/app-info/ or /var/lib/app-info.
> 
> We can either update https://github.com/DimStar77/openSUSE-appstream or add
> symlinks /var/cache/app-info/xmls → /var/lib/swcatalog/xml and
> /var/cache/app-info/icons → /var/lib/swcatalog/icons

Better update in this case.. does AS 0.x read the /var/lib/swcatalog too? Otherwise we just have to ensure this change is not used with old AppsTream versions
Comment 16 Dominique Leuenberger 2023-12-19 12:56:05 UTC
actually, we use

CMD="appstream-util install-origin \"{NAME}\" \"{APPDATA}\" \"{ICONS}\""

to install the appstream XML files to the correct location. Probably we need to migrate this away from as-util (aka as-glib) to AppStream too.
Comment 17 Christophe Marin 2023-12-19 13:02:52 UTC
(In reply to Dominique Leuenberger from comment #15)
> 
> Better update in this case.. does AS 0.x read the /var/lib/swcatalog too?
> Otherwise we just have to ensure this change is not used with old AppsTream
> versions

since 0.15.2 according to the NEWS file (released in feb. 2022):

" * Support the new swcatalog catalog metadata location and add app-info fallback"
Comment 18 Fabian Vogt 2023-12-19 13:41:00 UTC
FTR, I did have a discussion with DimStar about the zypp appstream stuff some time ago and basically it needs to be rewritten, both the parts on the product builder side for the repo metadata collection/creation and the client side catalog extraction. Currently both rely on libappstream-glib which is dead and increasingly incompatible with AppStream 1.0...
Comment 24 Fabian Vogt 2024-03-15 20:59:32 UTC
AppStream 1.0 is meanwhile in TW (and soon 15 SP6) with working catalog fetching.