[PATCH] Replace libdepends/libprovides

Emil Velikov emil.l.velikov at gmail.com
Tue Dec 14 12:28:41 UTC 2021


On Tue, 14 Dec 2021 at 11:28, Allan McRae <allan at 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 at 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


More information about the pacman-dev mailing list