util-linux.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Building util-linux libraries and utilities as separated operations
@ 2019-05-06 13:22 Carlos A. M. dos Santos
  2019-05-07 10:30 ` Karel Zak
  0 siblings, 1 reply; 3+ messages in thread
From: Carlos A. M. dos Santos @ 2019-05-06 13:22 UTC (permalink / raw)
  To: util-linux

Hello,

Would it be possible to build/install the libraries first and the
utilities later, using the previously installed libraries? That would
help to solve a chicken-egg problem between lsblk, and libudev, as
described in

    https://bugs.busybox.net/show_bug.cgi?id=11811

---
Carlos Santos <unixmania@gmail.com>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Building util-linux libraries and utilities as separated operations
  2019-05-06 13:22 Building util-linux libraries and utilities as separated operations Carlos A. M. dos Santos
@ 2019-05-07 10:30 ` Karel Zak
  2019-05-07 12:55   ` Carlos A. M. dos Santos
  0 siblings, 1 reply; 3+ messages in thread
From: Karel Zak @ 2019-05-07 10:30 UTC (permalink / raw)
  To: Carlos A. M. dos Santos; +Cc: util-linux

On Mon, May 06, 2019 at 10:22:51AM -0300, Carlos A. M. dos Santos wrote:
> Would it be possible to build/install the libraries first and the
> utilities later, using the previously installed libraries? That would
> help to solve a chicken-egg problem between lsblk, and libudev, as
> described in
> 
>     https://bugs.busybox.net/show_bug.cgi?id=11811

 It always uses in-tree libs to compile in-tree utilities. 

 Anyway, all external dependencies are optional. For example you can
 compile lsblk without udev. It's also possible to specify wanted stuff, 
 for example:

     ./configure --disable-all-programs --enable-libmount \
                 --enable-libblkid --enable-libuuid

 to compile only libs.

 The best way is probably do it in two steps, in the first step
 without dependencies, and in the second step rebuild all with
 dependencies. For example:

 stage 1:
    ./configure  --without-ncurses --without-tinfo \
                 --without-python --without-systemd \
                 --without-udev

    make install

    ... compile udev, install libudev ... 

 stage 2:
    ./configure
    make install


 If I good remember distro bootstrap with util-linux is nothing unique
 and it's used by Fedora, Suse, linuxfromscratch.org, ...


 IMHO distro bootstrap is very special situation. For regular updates
 is probably better to build util-linux in build root where are
 already installed all dependencies (e.g. libudev) from previous
 versions.

    Karel

-- 
 Karel Zak  <kzak@redhat.com>
 http://karelzak.blogspot.com

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Building util-linux libraries and utilities as separated operations
  2019-05-07 10:30 ` Karel Zak
@ 2019-05-07 12:55   ` Carlos A. M. dos Santos
  0 siblings, 0 replies; 3+ messages in thread
From: Carlos A. M. dos Santos @ 2019-05-07 12:55 UTC (permalink / raw)
  To: Karel Zak; +Cc: util-linux

On Tue, May 7, 2019 at 7:31 AM Karel Zak <kzak@redhat.com> wrote:
>
> On Mon, May 06, 2019 at 10:22:51AM -0300, Carlos A. M. dos Santos wrote:
> > Would it be possible to build/install the libraries first and the
> > utilities later, using the previously installed libraries? That would
> > help to solve a chicken-egg problem between lsblk, and libudev, as
> > described in
> >
> >     https://bugs.busybox.net/show_bug.cgi?id=11811
>
>  It always uses in-tree libs to compile in-tree utilities.
>
>  Anyway, all external dependencies are optional. For example you can
>  compile lsblk without udev. It's also possible to specify wanted stuff,
>  for example:
>
>      ./configure --disable-all-programs --enable-libmount \
>                  --enable-libblkid --enable-libuuid
>
>  to compile only libs.
>
>  The best way is probably do it in two steps, in the first step
>  without dependencies, and in the second step rebuild all with
>  dependencies. For example:
>
>  stage 1:
>     ./configure  --without-ncurses --without-tinfo \
>                  --without-python --without-systemd \
>                  --without-udev
>
>     make install
>
>     ... compile udev, install libudev ...
>
>  stage 2:
>     ./configure
>     make install

This works but the libraries are build and installed twice, which is
undesirable. Is there a way to skip the library installation in the
second step?

>
>  If I good remember distro bootstrap with util-linux is nothing unique
>  and it's used by Fedora, Suse, linuxfromscratch.org, ...
>
>
>  IMHO distro bootstrap is very special situation. For regular updates
>  is probably better to build util-linux in build root where are
>  already installed all dependencies (e.g. libudev) from previous
>  versions.
>
>     Karel
>
> --
>  Karel Zak  <kzak@redhat.com>
>  http://karelzak.blogspot.com

-- 
Carlos Santos <unixmania@gmail.com>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-05-07 12:55 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-06 13:22 Building util-linux libraries and utilities as separated operations Carlos A. M. dos Santos
2019-05-07 10:30 ` Karel Zak
2019-05-07 12:55   ` Carlos A. M. dos Santos

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).