On 3/8/20 6:54 PM, Carson Black wrote:
Did you actually try this?
Yes, I've been using the following packages as tests for this and inspecting their metadata by hand:
- vte3 (pkgconfig) - kwayland (cmake) - discover (desktop file)
I know pacman can already install packages given a provides capability, so I didn't bother setting up a local test repository to confirm the fact that pacman can install these packages given their capabilities.
You're not reading what I said.
Pardon, what did you mean by "Did you actually try this"?
The large quote of the patch's description immediately beforehand had me assuming that you were asking about if I had tested the patch.
I meant "look at the next few paragraphs, where I will explain why I don't think you tested this". And I explicitly ended off with "one would still NOT be able to use the automatically generated provides for packaging". But you know what, given you've said
Yes, I've been using the following packages as tests for this and inspecting their metadata by hand:
I know pacman can already install packages given a provides capability, so I didn't bother setting up a local test repository to confirm the fact that pacman can install these packages given their capabilities. I guess instead of not trying "use this as a packaging dependency in PKGBUILDs", you simply didn't test it at all, which is worse than I initially thought.
So in the interest of proving that "it got successfully written to the .PKGINFO file" is not sufficient proof that the entire toolchain works, I invite you to add this repo to pacman.conf (I hacked up write_pkginfo to verbatim write the contents of any PKGBUILD-supplied function by a given name, PKGBUILDs are in this http directory): [junk] Server = https://pkgbuild.com/~eschwartz/repo/junk/ And run: $ printf '%s\n' '-`.^&=>=<: 1.0.0.0-:0 $""🤢' | sudo pacman -Syu - $ printf '%s\n' '-`.^&=>=<: 1.0.0.0-:0/ $""🤢' | sudo pacman -Syu - It's provided here, so it should work, right? : $ bsdtar -xOf test-junk2-1-1-any.pkg.tar.zst .PKGINFO | grep provides provides = -`.^&=>=<: 1.0.0.0-:0 $""🤢 $ bsdtar -xOf test-junk-1-1-any.pkg.tar.zst .PKGINFO | grep provides provides = -`.^&=>=<: 1.0.0.0-:0/ $""🤢 ... Conclusion: just because it is in the .PKGINFO, doesn't mean pacman itself can read it. You need to actually look at the changes you make, and verify the parser will accept it, and document that it works. P.S. pacman *can* read 'pkgconfig(libcurl)' provided by the same database, so that at least will be accepted by *pacman*'s parser. Even though you didn't test it. Even though makepkg won't let you depend on it in another package. -- Eli Schwartz Bug Wrangler and Trusted User