Util-Linux Archive on lore.kernel.org
 help / color / 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, back to index

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

Util-Linux Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/util-linux/0 util-linux/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 util-linux util-linux/ https://lore.kernel.org/util-linux \
		util-linux@vger.kernel.org
	public-inbox-index util-linux

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.util-linux


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git