Closed arrowd closed 1 year ago
Also, by changing this you would not catch all system software that apparently is installed in /usr
, and by making this a global build-time flag you can not process data for any other system other than FreeBSD correctly. So you can't use appstream-generator
on FreeBSD to process a Debian or Arch Linux archive (or vice versa).
Can you elaborate on that?
FreeBSD installs 3rdpart software into /usr/local
. Some Linuxes, AFAIK, install stuff into /opt
.
Also, by changing this you would not catch all system software that apparently is installed in /usr
I was under assumption that there could be no system software that have AppStream metadata. At least there are no in FreeBSD. But this point is valid.
and by making this a global build-time flag you can not process data for any other system other than FreeBSD correctly. So you can't use appstream-generator on FreeBSD to process a Debian or Arch Linux archive (or vice versa).
I didn't even think about such use case. Yes, this is a valid point too.
I'm happy to fix this, but how? For FreeBSD backend to work I need asgen to use /usr/local
prefix everywhere and without the first commit of this PR it is not possible.
FreeBSD installs 3rdpart software into
/usr/local
. Some Linuxes, AFAIK, install stuff into/opt
.
But do FreeBSD packages also contain stuff in /usr/local
?
/opt
is not a supported location at all for AppStream metadata, /usr/local/share/metainfo
is fairly uncommon for packaged stuff, but that location is at least read, so we could potentially also support it.
Can you change this patch to include just the backend without the prefix changes? That will make it much easier to review, as the prefix stuff will need a lot more work (and thought).
But do FreeBSD packages also contain stuff in /usr/local?
Yes, all of them. It can be configured on the builder machine, but the default is /usr/local
.
Can you change this patch to include just the backend without the prefix changes? That will make it much easier to review, as the prefix stuff will need a lot more work (and thought).
Ok, will do.
Bump. Can we get this in?
Just a tiny nitpick about the TODO entry in the code, and the general disclaimer that I can't really test the code.
We're running it for about a month now, so it works for us.
We're running it for about a month now, so it works for us.
That's good enough - if the conflicts of this PR with the master branch are resolved, we can merge this (and maybe even remove the TODO, since it obviously works).
This should be ready to get in now.
This should be ready to get in now.
It is indeed! Thank you for your patch and your patience!
Thanks for merging it! We now still need two things to make it usable:
I'm happy to work on these issues myself, so please provide me some input on how to fix them.
Can you elaborate on that? Installing metadata into any location outside of
/usr/(local)/share/metainfo
is not permitted and not supported by any other tool, so I would really not like to make an exception here...