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
alpine: add backend #75
Conversation
|
It seems to index the packages now, but crashes during metadata generation with: I guess I'm adding the wrong contents to some package Also, turns out I can cope without the dependency on other D packages, so hooray :) |
|
Hm, I can't really figure out why I'm getting those errors - I only add those files to the libreoffice-common package, but for some reason it's also searching for them in the specific libreoffice packages. Libreoffice-common has the following .desktop files: libreoffice-draw only has one: The backtrace isn't overly helpful either: line 153 is |
|
I think what is going on here is that the generator follows a symlink from the In Debian & Co., package maintainers are strongly advised to keep their .desktop files and binaries together. If people don't do that, asgen will attribute an application to the wrong package (usually a -data package) which leads to user confusion. For this particular error, I am not sure how to resolve this - a workaround would be to return a null string in case that symlink can't be followed within the same package, which will result in the package being ignored entirely. Another solution would be to exclude the symlinks from the package contents index. As a stop-gap measure, I made this issue non-fatal, so you can continue working on the code and testing the result. But this is an actual issue that needs to be resolved in some way by the backend or distribution. |
FWIW that triggers a warning from glib, in case you intend to keep this behaviour:
I'll look into fixing this on Alpine's side. |
|
Alright, I just generated archives for all of Alpine's repos and that seems to work, thanks for the work on appstream-generator, making the Alpine backend really was a lot easier than I had expected! :) Just a few questions about the generated data:
|
Neat :-) While originally made just for Debian, many other distributions being interested and making backends certainly helped with that :-)
The only advantage of YAML is that the Debian FTP masters accepted this format in the archive as metadata. So a regular
It definitely shouldn't show up twice, that's some kind of bug. How are you installing the metadata the appstream-generator has produced?
The 64x64 icons must be present, the specification requires that. All other sizes are optional. In Debian, we let the package that needs the icons (or the user) choose, e.g. if you install GNOME Software, apt will only download the 64x64 icons, if you install KDE Discover it will fetch the 64x64 and 128x128 icons, etc. If you have no GUI tool, no icons will be downloaded. (AppStream info is still useful to fetch console apps though, e.g. via |
I install them like so: I guess this probably is a bug in my GNOME Software plugin though, I'll ask the Software folks about it tomorrow :)
Ah no, there's no need for that, I just wanted to make sure nothing bad happens if both the package's appstream data and what asgen generates is installed.
Alright, thanks for the info. Considering the entire dir with both 64x64 and 128x128 icons is 7.6MBs big I think we're all set with having both icon sizes installed for now, maybe I'll make a subpackage later on. |
|
The data is installed correctly (as long as the data origin= tag is set to "alpinelinux".
If you have a separate plugin that bypasses AppStream data, then it's a safe bet that that is indeed the culprit :-) (I know nothing about that plugin though, so from my side it's just a guess)
No, that's perfectly normal and legal. The AppStream metadata provided by the distributor is used by default, but when launching gnome-software with The ideal solution for shipping collection metadata (the stuff asgen produces) is to make it part of the archive metadata, like Debian and a few other distros do, so the package manager keeps it up-to-date automatically. The second best option is to package it and not forget to keep the package up to date (especially not with screenshots on a CDN). |
Ah, thanks for the hint, the origin tag is alpinelinux-$suite-$section. However, even after putting it in the right location: /usr/share/app-info/icons/alpinelinux-edge-testing It doesn't display an icon for it. Thanks for all the help! :) |
|
Ah, of course that was a bug in my plugin, which I've fixed in the meantime. It seems like everything works now and I was able to generate a tarball with asgen for all of Alpine's repos. I've also fixed the Libreoffice package now - but I suppose it'd be nice if the thing about missing desktop files stayed a warning so that it's in the HTML report of asgen :) |
|
Except for minor nitpicks, the patch looks good to me now! And there is a release in a few hours, so I'll merge this now so this change can get in last-minute. Thanks for the patch! :-) |
fixes #73