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

Add simple tool to put together metainfo file #130

Closed
probonopd opened this issue Aug 20, 2017 · 8 comments
Closed

Add simple tool to put together metainfo file #130

probonopd opened this issue Aug 20, 2017 · 8 comments

Comments

@probonopd
Copy link

Since appimagetool has started pushing AppStream, we get a lot of questions and issues regarding metainfo files. A small tool that would help the user in putting together an initial metainfo file and would produce a standards-compilant metainfo file would be very helpful. It could be a CLI tool or even better a GUI tool with masks to enter the information.

What do you think?

@ximion
Copy link
Owner

ximion commented Aug 20, 2017

You know about the new-template option? E.g. appstreamcli new-template desktop-application will spit out a metainfo file for a desktop-app component, with template values to file out.

I think making some kind of interactive wizard would be useful as well. Also, looking at new-template, some updates there would be useful.

@probonopd
Copy link
Author

"Interactive wizard" was what I wanted to describe, yes. Also it would help if appstreamcli new-template desktop-application would produce something that would pass validation without changes.

@ximion
Copy link
Owner

ximion commented Oct 22, 2017

@probonopd It's quite intentional that this doesn't pass validation, because users should not take the file without adjusting it.
But I see what you mean, patches welcome (as always ;-) ).

@probonopd
Copy link
Author

The "interactive wizard" could even be a web-based tool. You would paste in your desktop file, and go from there, heavily assisted by drop-down menus to select licenses, and such.

@probonopd
Copy link
Author

Here is my minimal viable product of a JavaScript based AppStream tool that helps you to put together a minimal working AppStream metainfo file.

http://output.jsbin.com/qoqukof

Feel free to take, mirror, host, improve... License: MIT

@ximion
Copy link
Owner

ximion commented Dec 11, 2017

Thank you! I didn't think of making a JS-only implementation, but I also thought of a much more complex design supporting all features of AS ;-)

Maybe I can trick Docbook into embedding this into its HTML output, then it would be available directly in the documentation HTML pages (otherwise I can find another way).
First change to do on the code would be to add support for the <launchable/> tag and enforce a reverse-DNS AppStream ID.

@probonopd
Copy link
Author

probonopd commented Dec 11, 2017

This is implemented:

<launchable type="desktop-id">myapp.desktop</launchable>

Personally I am not sold on the reverse-DNS stuff, since 99% of real-world desktop files have appname.desktop as the filename. It is simpler, too.

@ximion
Copy link
Owner

ximion commented Feb 24, 2020

@probonopd So, at FOSDEM a lot of people I talked to actually pointed out that a tool to easily build metadata is exactly what the community needs at the moment. And while I previously considered this a "nice to have" and appstreamcli new-template to be enought to get started, I got convinced that slightly more would be pretty nice.

So, tl;dr I started to create a web application to deal with this: https://github.com/ximion/metainfocreator
We apps are really not my area of expertise, so any help is appreciated. Once the app is actually ready for general use, I will of course properly announce it and also link to it from all the right places.

Until then, here is a sneak peek: https://www.freedesktop.org/software/appstream/metainfocreator/

I am closing the bug here, please file new ones against the MetaInfo Creator, or even better, submit a PR to it ;-)
Thanks for reporting this bug and creating a prototype, both were immensely helpful!

@ximion ximion closed this as completed Feb 24, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants