[Buildroot] [RFC PATCH] package/util-linux: build libraries as a separate package

Carlos A. M. dos Santos unixmania at gmail.com
Tue May 7 22:12:32 UTC 2019


On Tue, May 7, 2019 at 5:40 PM Yann E. MORIN <yann.morin.1998 at free.fr> wrote:
>
> On 2019-05-07 21:54 +0200, Thomas Petazzoni spake thusly:
> > Hello Carlos,
> >
> > On Tue,  7 May 2019 13:51:58 -0300
> > unixmania at gmail.com wrote:
> >
> > > The findmount and lsblk utilities need udev to work correctly but cannot
> > > be built with udev support because the packages providing libudev (eudev
> > > and systemd) depend on util-linux, creating a chicken-egg problem. Solve
> > > it by means of the following changes:
> >
> > Thanks a lot for working on this topic. It is obviously becoming a
> > nightmare :-/
>
> Indeed, this is not a nice situation.
>
> However, here is what I propose we do
>
>  1- introduce util-linux-libs as you did, with a blind kconfig option
>     (i.e. BR2_PACKAGE_UTIL_LINUX_LIBS exists but has no a prompt)
>  2- update util-linux to depend on util=linux-libs when it is enabled
>  3- change the existing udev providers (eudev and systemd) to depend on
>     and select util-linux-libs instead of util-linux
>
> So yes, this means that we end up with the libs installed twice. That
> would be reported by the check-uniq-file step.
>
> However, I believe this is really not a problem in fact. chekc-uniq-file
> was initially introduced in preparation of top-level parallel build, but
> the reason it was introduced is no longer 100% valid, as the trend is
> now to install to a per-package target/ dir, and assemble the whole at
> the end, in a reproducible order.

I think it's a risky approach because we end up building some packages
with the libraries created by util-linux-libs and other packages with
the libraries from util-linux. I theory both builds would generate the
same code but in fact we don't know. Think about analyzing a core
dump, for instance.

-- 
Carlos Santos <unixmania at gmail.com>


More information about the buildroot mailing list