Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

appstream-builder creates files with invalid component type "shell-extension" #260

Closed
StefanBruens opened this issue Aug 23, 2018 · 7 comments

Comments

@StefanBruens
Copy link
Contributor

shell-extension is no valid component type, the correct type for GNOME shell extensions would be "addon".

This breaks loading of metadata with e.g. appstreamcli, or any of the appstream bindings, e.g. AppstreamQt.

See ximion/appstream#199 for more info.

@hughsie
Copy link
Owner

hughsie commented Aug 23, 2018

Libappstream needs to not fail if it encounters unknown types or tags.

@StefanBruens
Copy link
Contributor Author

I don't care who fixes this issue.

@hughsie
Copy link
Owner

hughsie commented Aug 23, 2018

"be conservative in what you do, be liberal in what you accept from others." -- it's XML, the X stands for extensible. We can't lock the specification and make no changes, and neither can we go back in time and make different design decisions. Sorry, but I don't think there's much I can do. Long term we can migrate to the addon thing, but that's going to need the clients being changed as well.

@hughsie hughsie closed this as completed Aug 23, 2018
@ximion
Copy link
Collaborator

ximion commented Aug 23, 2018

Libappstream needs to not fail if it encounters unknown types or tags.

It doesn't fail, it just warns about it. Libappstream will never ignore components and not give the user/developer any hint on why it was dropped or that something was ignored.
While the AppStream spec will evolve, appstream-glib clearly generates invalid data here that has never been described in any specification. Hence, it technically can't even be called AppStream.

@ximion
Copy link
Collaborator

ximion commented Aug 28, 2018

"be conservative in what you do, be liberal in what you accept from others."

By that logic, appstream-builder should stop to produce wrong component types.

it's XML, the X stands for extensible. We can't lock the specification and make no changes, and neither can we go back in time and make different design decisions. Sorry, but I don't think there's much I can do. Long term we can migrate to the addon thing, but that's going to need the clients being changed as well.

The only client using this is AFAIK GNOME Software. To migrate long-term I would leave the bug open, so it doesn't get forgotten.
I am also leaving ximion/appstream#195 open, where libappstream actually behaves according to the specification, but we might want to change the spec to be more strict (while I also con't immediately remove stuff without a deprecation phase).

@StefanBruens
Copy link
Contributor Author

@ximion - shouldn't his be ximion/appstream#199 , which you closed btw?

@ximion
Copy link
Collaborator

ximion commented Aug 28, 2018

@StefanBruens No, that one is closed because it will never be changed. The shell-extension component type is an unspecified addition which should not be in the AppStream reference implementation (which follows the specification by the letter, ideally). I can also quite confidently say that in this form this component type will never ever be added, because it's GNOME only and has a generic name.
The addons system is much more versatile and should be used instead.

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

No branches or pull requests

3 participants