On Tue, 14 Dec 2021 at 11:28, Allan McRae <allan@archlinux.org> wrote:
On 14/12/21 20:40, Emil Velikov wrote:
Hey Allan,
I really like the idea, although I might have spotted some gotchas.
On Sun, 12 Dec 2021 at 10:54, Allan McRae <allan@archlinux.org> wrote:
This patch series replaces the old libdepends/libprovides system into something akin to that used by APK. In short, makepkg.conf will have a variable like:
LIB_DIRS=('lib:usr/lib' 'lib32:usr/lib32')
Considering your examples (below) also handle "cmd" and "pc" the LIB_DIRS name is misleading. Alas no better suggestion comes to mind ATM.
Not really... This is the path for adding library dependencies & provides. If other autodeps get added, they may need their own configuration option.
This sounds great. [snip]
Are we going to continue or error out - is the error message going to be meaningful or rather cryptic?
As above, nothing will happen. The usr/lib23 directory will (I guess) never occur in a package, so never be searched for files with an soname.
We might want to have a simple check in makepkg, to high-light those. If PKGBUILD has "provides" to a non-existant file, we could error out IMHO. This will catch both typos on the packaging side as well as buggy upstream - say they dropped/renamed the library, or a particular configure combination no longer builds one of the dozen+ DSOs. This is not a blocking suggestion, but I can see it as quite beneficial. [snip]
Although at this point one might as well have the defaults hardcoded in makepkg?
This needs to be configurable. e.g. some distros will have:
LIB_DIRS=('so:lib' 'so:usr/lib')
when they have not done a /usr merge.
Agreed. When I said hard-coded I was thinking of a default, which can be overwritten during build time. Say something like: meson -D lib_dirs="lib:lib64/, lib32:lib/" ... Thanks for elevating my concerns o/ -Emil