All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH next 0/4] btrfs-progs related improvements
@ 2018-08-21 21:59 Thomas Petazzoni
  2018-08-21 21:59 ` [Buildroot] [PATCH next 1/4] lzo: build shared library for the host Thomas Petazzoni
                   ` (5 more replies)
  0 siblings, 6 replies; 12+ messages in thread
From: Thomas Petazzoni @ 2018-08-21 21:59 UTC (permalink / raw)
  To: buildroot

Hello,

Following the addition of host-btrfs-progs recently by Robert
J. Heywood, I wondered why e2fsprogs was needed as a
dependency. Indeed, why would btrfs need the library of a completely
different filesystem?

Turns out it's because btrfs-progs can optionally build a tool called
btrfs-convert, to convert an ext2 or reiserfs filesystem to a btrfs
one, and this tool needs e2fsprogs as a dependency to support ext2
filesystem conversion. But this is completely optional.

For the host variant, I don't think it makes sense to support that at
all, so we forcibly disable building btrfs-convert.

For the target variant, e2fsprogs is turned into an automatic optional
dependency: when available, btrfs-convert is compiled with ext2
support, otherwise btrfs-convert is not built at all. We don't take
into account reiserfs support because we don't have the corresponding
libraries packaged in Buildroot.

While doing this work on the host variant, I noticed the e2fsprogs and
lzo host libraries were only available as static libraries. So I went
ahead and fixed that as well.

Best regards,

Thomas

Thomas Petazzoni (4):
  lzo: build shared library for the host
  e2fsprogs: build shared library for the host
  btrfs-progs: drop dependency on e2fsprogs by not building
    btrfs-convert
  btrfs-progs: make e2fsprogs an optional dependency

 package/btrfs-progs/Config.in      |  1 -
 package/btrfs-progs/btrfs-progs.mk | 20 +++++++++++++++++---
 package/e2fsprogs/e2fsprogs.mk     |  3 ++-
 package/lzo/lzo.mk                 |  2 ++
 4 files changed, 21 insertions(+), 5 deletions(-)

-- 
2.14.4

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

* [Buildroot] [PATCH next 1/4] lzo: build shared library for the host
  2018-08-21 21:59 [Buildroot] [PATCH next 0/4] btrfs-progs related improvements Thomas Petazzoni
@ 2018-08-21 21:59 ` Thomas Petazzoni
  2018-08-21 22:07   ` Yann E. MORIN
  2018-08-21 21:59 ` [Buildroot] [PATCH next 2/4] e2fsprogs: " Thomas Petazzoni
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 12+ messages in thread
From: Thomas Petazzoni @ 2018-08-21 21:59 UTC (permalink / raw)
  To: buildroot

By default, the lzo package builds and installs only a static
library. For the target variant, we pass the appropriate
ENABLE_STATIC/ENABLE_SHARED options, but not for the host package, and
therefore a static lzo library gets installed.

However, on the host, our policy is to build shared libraries and not
static libraries, as visible in the default configure options passed
to host package in pkg-autotools.mk (--enable-shared
--disable-static). Let's do the same with lzo.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
 package/lzo/lzo.mk | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/package/lzo/lzo.mk b/package/lzo/lzo.mk
index 27ca459acf..0ead92725a 100644
--- a/package/lzo/lzo.mk
+++ b/package/lzo/lzo.mk
@@ -23,5 +23,7 @@ else
 LZO_CONF_OPTS += -DENABLE_STATIC=OFF
 endif
 
+HOST_LZO_CONF_OPTS += -DENABLE_SHARED=ON -DENABLE_STATIC=OFF
+
 $(eval $(cmake-package))
 $(eval $(host-cmake-package))
-- 
2.14.4

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

* [Buildroot] [PATCH next 2/4] e2fsprogs: build shared library for the host
  2018-08-21 21:59 [Buildroot] [PATCH next 0/4] btrfs-progs related improvements Thomas Petazzoni
  2018-08-21 21:59 ` [Buildroot] [PATCH next 1/4] lzo: build shared library for the host Thomas Petazzoni
@ 2018-08-21 21:59 ` Thomas Petazzoni
  2018-08-21 22:11   ` Yann E. MORIN
  2018-08-21 21:59 ` [Buildroot] [PATCH next 3/4] btrfs-progs: drop dependency on e2fsprogs by not building btrfs-convert Thomas Petazzoni
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 12+ messages in thread
From: Thomas Petazzoni @ 2018-08-21 21:59 UTC (permalink / raw)
  To: buildroot

By default, the e2fsprogs package builds and installs only static
libraries, unless --enable-elf-shlibs is passed. For the target
variant, we pass the appropriate
--enable-elf-shlibs/--disable-elf-shlibs options, but not for the host
package, and therefore static e2fsprogs libraries get installed.

However, on the host, our policy is to build shared libraries and not
static libraries, as visible in the default configure options passed
to host package in pkg-autotools.mk (--enable-shared
--disable-static). Let's do the same with e2fsprogs.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
 package/e2fsprogs/e2fsprogs.mk | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/package/e2fsprogs/e2fsprogs.mk b/package/e2fsprogs/e2fsprogs.mk
index efc10d0e99..65f9774afb 100644
--- a/package/e2fsprogs/e2fsprogs.mk
+++ b/package/e2fsprogs/e2fsprogs.mk
@@ -27,7 +27,8 @@ HOST_E2FSPROGS_CONF_OPTS = \
 	--disable-libblkid \
 	--disable-libuuid \
 	--enable-symlink-install \
-	--disable-testio-debug
+	--disable-testio-debug \
+	--enable-elf-shlibs
 
 # Set the binary directories to "/bin" and "/sbin", as busybox does,
 # so that we do not end up with two versions of e2fs tools.
-- 
2.14.4

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

* [Buildroot] [PATCH next 3/4] btrfs-progs: drop dependency on e2fsprogs by not building btrfs-convert
  2018-08-21 21:59 [Buildroot] [PATCH next 0/4] btrfs-progs related improvements Thomas Petazzoni
  2018-08-21 21:59 ` [Buildroot] [PATCH next 1/4] lzo: build shared library for the host Thomas Petazzoni
  2018-08-21 21:59 ` [Buildroot] [PATCH next 2/4] e2fsprogs: " Thomas Petazzoni
@ 2018-08-21 21:59 ` Thomas Petazzoni
  2018-08-21 22:15   ` Yann E. MORIN
  2018-08-21 21:59 ` [Buildroot] [PATCH next 4/4] btrfs-progs: make e2fsprogs an optional dependency Thomas Petazzoni
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 12+ messages in thread
From: Thomas Petazzoni @ 2018-08-21 21:59 UTC (permalink / raw)
  To: buildroot

The btrfs-convert tool is used to convert an existing ext2 or reiserfs
filesystem into a btrfs filesystem. On the host, this is not really
useful, so let's disable building this tool, which allows to drop the
host-e2fsprogs dependency.

The host-util-linux dependency becomes necessary: it was previously
brought as a second-order dependency of host-e2fsprogs, but since we
no longer depend on host-e2fsprogs, we now need to explicitly depend
on host-util-linux.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
 package/btrfs-progs/btrfs-progs.mk | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/package/btrfs-progs/btrfs-progs.mk b/package/btrfs-progs/btrfs-progs.mk
index 3129ecc714..2f9f4127b6 100644
--- a/package/btrfs-progs/btrfs-progs.mk
+++ b/package/btrfs-progs/btrfs-progs.mk
@@ -21,8 +21,12 @@ BTRFS_PROGS_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install-static
 BTRFS_PROGS_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) install-static
 endif
 
-HOST_BTRFS_PROGS_DEPENDENCIES = host-e2fsprogs host-lzo host-zlib
-HOST_BTRFS_PROGS_CONF_OPTS = --disable-backtrace --disable-zstd --disable-python
+HOST_BTRFS_PROGS_DEPENDENCIES = host-util-linux host-lzo host-zlib
+HOST_BTRFS_PROGS_CONF_OPTS = \
+	--disable-backtrace \
+	--disable-zstd \
+	--disable-python \
+	--disable-convert
 
 $(eval $(autotools-package))
 $(eval $(host-autotools-package))
-- 
2.14.4

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

* [Buildroot] [PATCH next 4/4] btrfs-progs: make e2fsprogs an optional dependency
  2018-08-21 21:59 [Buildroot] [PATCH next 0/4] btrfs-progs related improvements Thomas Petazzoni
                   ` (2 preceding siblings ...)
  2018-08-21 21:59 ` [Buildroot] [PATCH next 3/4] btrfs-progs: drop dependency on e2fsprogs by not building btrfs-convert Thomas Petazzoni
@ 2018-08-21 21:59 ` Thomas Petazzoni
  2018-08-21 22:18   ` Yann E. MORIN
  2018-08-21 22:08 ` [Buildroot] [PATCH next 0/4] btrfs-progs related improvements Yann E. MORIN
  2018-08-22 11:46 ` Thomas Petazzoni
  5 siblings, 1 reply; 12+ messages in thread
From: Thomas Petazzoni @ 2018-08-21 21:59 UTC (permalink / raw)
  To: buildroot

e2fsprogs is only needed to build the btrfs-convert program, that
allows to convert an existing ext2 filesystem into a btrfs
filesystem. Not everybody needs to do that and making this dependency
optional is nicer, so this is what this patch does.

Note that btrfs-progs also supports converting from reiserfs, which is
why the --with-convert option supports a list of filesystems. Since
Buildroot has no package for the reiserfs library, we for now only
support the ext2 case, with e2fsprogs as a dependency.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
 package/btrfs-progs/Config.in      |  1 -
 package/btrfs-progs/btrfs-progs.mk | 12 +++++++++++-
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/package/btrfs-progs/Config.in b/package/btrfs-progs/Config.in
index ad86bab580..35dfc39193 100644
--- a/package/btrfs-progs/Config.in
+++ b/package/btrfs-progs/Config.in
@@ -2,7 +2,6 @@ config BR2_PACKAGE_BTRFS_PROGS
 	bool "btrfs-progs"
 	depends on BR2_USE_MMU # util-linux
 	depends on BR2_TOOLCHAIN_HAS_THREADS
-	select BR2_PACKAGE_E2FSPROGS
 	select BR2_PACKAGE_LZO
 	select BR2_PACKAGE_UTIL_LINUX
 	select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
diff --git a/package/btrfs-progs/btrfs-progs.mk b/package/btrfs-progs/btrfs-progs.mk
index 2f9f4127b6..33a6be324f 100644
--- a/package/btrfs-progs/btrfs-progs.mk
+++ b/package/btrfs-progs/btrfs-progs.mk
@@ -7,7 +7,7 @@
 BTRFS_PROGS_VERSION = 4.16.1
 BTRFS_PROGS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/people/kdave/btrfs-progs
 BTRFS_PROGS_SOURCE = btrfs-progs-v$(BTRFS_PROGS_VERSION).tar.xz
-BTRFS_PROGS_DEPENDENCIES = host-pkgconf e2fsprogs lzo util-linux zlib
+BTRFS_PROGS_DEPENDENCIES = host-pkgconf lzo util-linux zlib
 BTRFS_PROGS_CONF_OPTS = --disable-backtrace --disable-zstd --disable-python
 BTRFS_PROGS_LICENSE = GPL-2.0, LGPL-3.0+ (libbtrfsutil)
 BTRFS_PROGS_LICENSE_FILES = COPYING libbtrfsutil/COPYING \
@@ -21,6 +21,16 @@ BTRFS_PROGS_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install-static
 BTRFS_PROGS_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) install-static
 endif
 
+# convert also supports conversion from reiserfs, which needs some
+# reiserfs libraries, but we have no package for them in Buildroot, so
+# we keep things simple and only handle ext2.
+ifeq ($(BR2_PACKAGE_E2FSPROGS),y)
+BTRFS_PROGS_CONF_OPTS += --enable-convert --with-convert=ext2
+BTRFS_PROGS_DEPENDENCIES += e2fsprogs
+else
+BTRFS_PROGS_CONF_OPTS += --disable-convert
+endif
+
 HOST_BTRFS_PROGS_DEPENDENCIES = host-util-linux host-lzo host-zlib
 HOST_BTRFS_PROGS_CONF_OPTS = \
 	--disable-backtrace \
-- 
2.14.4

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

* [Buildroot] [PATCH next 1/4] lzo: build shared library for the host
  2018-08-21 21:59 ` [Buildroot] [PATCH next 1/4] lzo: build shared library for the host Thomas Petazzoni
@ 2018-08-21 22:07   ` Yann E. MORIN
  0 siblings, 0 replies; 12+ messages in thread
From: Yann E. MORIN @ 2018-08-21 22:07 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2018-08-21 23:59 +0200, Thomas Petazzoni spake thusly:
> By default, the lzo package builds and installs only a static
> library. For the target variant, we pass the appropriate
> ENABLE_STATIC/ENABLE_SHARED options, but not for the host package, and
> therefore a static lzo library gets installed.
> 
> However, on the host, our policy is to build shared libraries and not
> static libraries, as visible in the default configure options passed
> to host package in pkg-autotools.mk (--enable-shared
> --disable-static). Let's do the same with lzo.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>

Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

> ---
>  package/lzo/lzo.mk | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/package/lzo/lzo.mk b/package/lzo/lzo.mk
> index 27ca459acf..0ead92725a 100644
> --- a/package/lzo/lzo.mk
> +++ b/package/lzo/lzo.mk
> @@ -23,5 +23,7 @@ else
>  LZO_CONF_OPTS += -DENABLE_STATIC=OFF
>  endif
>  
> +HOST_LZO_CONF_OPTS += -DENABLE_SHARED=ON -DENABLE_STATIC=OFF
> +
>  $(eval $(cmake-package))
>  $(eval $(host-cmake-package))
> -- 
> 2.14.4
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

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

* [Buildroot] [PATCH next 0/4] btrfs-progs related improvements
  2018-08-21 21:59 [Buildroot] [PATCH next 0/4] btrfs-progs related improvements Thomas Petazzoni
                   ` (3 preceding siblings ...)
  2018-08-21 21:59 ` [Buildroot] [PATCH next 4/4] btrfs-progs: make e2fsprogs an optional dependency Thomas Petazzoni
@ 2018-08-21 22:08 ` Yann E. MORIN
  2018-08-22 11:46 ` Thomas Petazzoni
  5 siblings, 0 replies; 12+ messages in thread
From: Yann E. MORIN @ 2018-08-21 22:08 UTC (permalink / raw)
  To: buildroot


Thomas, All,

On 2018-08-21 23:59 +0200, Thomas Petazzoni spake thusly:
> Following the addition of host-btrfs-progs recently by Robert
> J. Heywood, I wondered why e2fsprogs was needed as a
> dependency. Indeed, why would btrfs need the library of a completely
> different filesystem?
> 
> Turns out it's because btrfs-progs can optionally build a tool called
> btrfs-convert, to convert an ext2 or reiserfs filesystem to a btrfs
> one, and this tool needs e2fsprogs as a dependency to support ext2
> filesystem conversion. But this is completely optional.
> 
> For the host variant, I don't think it makes sense to support that at
> all, so we forcibly disable building btrfs-convert.
> 
> For the target variant, e2fsprogs is turned into an automatic optional
> dependency: when available, btrfs-convert is compiled with ext2
> support, otherwise btrfs-convert is not built at all. We don't take
> into account reiserfs support because we don't have the corresponding
> libraries packaged in Buildroot.
> 
> While doing this work on the host variant, I noticed the e2fsprogs and
> lzo host libraries were only available as static libraries. So I went
> ahead and fixed that as well.

There is one thing you forgot to do: enable support for zstd, now that
we have a package for it. ;-p

Regards,
Yann E. MORIN.

> Best regards,
> 
> Thomas
> 
> Thomas Petazzoni (4):
>   lzo: build shared library for the host
>   e2fsprogs: build shared library for the host
>   btrfs-progs: drop dependency on e2fsprogs by not building
>     btrfs-convert
>   btrfs-progs: make e2fsprogs an optional dependency
> 
>  package/btrfs-progs/Config.in      |  1 -
>  package/btrfs-progs/btrfs-progs.mk | 20 +++++++++++++++++---
>  package/e2fsprogs/e2fsprogs.mk     |  3 ++-
>  package/lzo/lzo.mk                 |  2 ++
>  4 files changed, 21 insertions(+), 5 deletions(-)
> 
> -- 
> 2.14.4
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

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

* [Buildroot] [PATCH next 2/4] e2fsprogs: build shared library for the host
  2018-08-21 21:59 ` [Buildroot] [PATCH next 2/4] e2fsprogs: " Thomas Petazzoni
@ 2018-08-21 22:11   ` Yann E. MORIN
  2018-08-22 11:46     ` Thomas Petazzoni
  0 siblings, 1 reply; 12+ messages in thread
From: Yann E. MORIN @ 2018-08-21 22:11 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2018-08-21 23:59 +0200, Thomas Petazzoni spake thusly:
> By default, the e2fsprogs package builds and installs only static
> libraries, unless --enable-elf-shlibs is passed. For the target
> variant, we pass the appropriate
> --enable-elf-shlibs/--disable-elf-shlibs options, but not for the host
> package, and therefore static e2fsprogs libraries get installed.
> 
> However, on the host, our policy is to build shared libraries and not
> static libraries, as visible in the default configure options passed
> to host package in pkg-autotools.mk (--enable-shared
> --disable-static). Let's do the same with e2fsprogs.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> ---
>  package/e2fsprogs/e2fsprogs.mk | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/package/e2fsprogs/e2fsprogs.mk b/package/e2fsprogs/e2fsprogs.mk
> index efc10d0e99..65f9774afb 100644
> --- a/package/e2fsprogs/e2fsprogs.mk
> +++ b/package/e2fsprogs/e2fsprogs.mk
> @@ -27,7 +27,8 @@ HOST_E2FSPROGS_CONF_OPTS = \
>  	--disable-libblkid \
>  	--disable-libuuid \
>  	--enable-symlink-install \
> -	--disable-testio-debug
> +	--disable-testio-debug \
> +	--enable-elf-shlibs

I lknow this is not your fault, but I find it more readable when the
--disable are all grouped together, and the --enable ones as well.

It also helps spot potentialy issues when the ordering is the same btw
host and target variants.

Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

>  # Set the binary directories to "/bin" and "/sbin", as busybox does,
>  # so that we do not end up with two versions of e2fs tools.
> -- 
> 2.14.4
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

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

* [Buildroot] [PATCH next 3/4] btrfs-progs: drop dependency on e2fsprogs by not building btrfs-convert
  2018-08-21 21:59 ` [Buildroot] [PATCH next 3/4] btrfs-progs: drop dependency on e2fsprogs by not building btrfs-convert Thomas Petazzoni
@ 2018-08-21 22:15   ` Yann E. MORIN
  0 siblings, 0 replies; 12+ messages in thread
From: Yann E. MORIN @ 2018-08-21 22:15 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2018-08-21 23:59 +0200, Thomas Petazzoni spake thusly:
> The btrfs-convert tool is used to convert an existing ext2 or reiserfs
> filesystem into a btrfs filesystem. On the host, this is not really
> useful, so let's disable building this tool, which allows to drop the
> host-e2fsprogs dependency.
> 
> The host-util-linux dependency becomes necessary: it was previously
> brought as a second-order dependency of host-e2fsprogs, but since we
> no longer depend on host-e2fsprogs, we now need to explicitly depend
> on host-util-linux.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>

Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

> ---
>  package/btrfs-progs/btrfs-progs.mk | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/package/btrfs-progs/btrfs-progs.mk b/package/btrfs-progs/btrfs-progs.mk
> index 3129ecc714..2f9f4127b6 100644
> --- a/package/btrfs-progs/btrfs-progs.mk
> +++ b/package/btrfs-progs/btrfs-progs.mk
> @@ -21,8 +21,12 @@ BTRFS_PROGS_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install-static
>  BTRFS_PROGS_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) install-static
>  endif
>  
> -HOST_BTRFS_PROGS_DEPENDENCIES = host-e2fsprogs host-lzo host-zlib
> -HOST_BTRFS_PROGS_CONF_OPTS = --disable-backtrace --disable-zstd --disable-python
> +HOST_BTRFS_PROGS_DEPENDENCIES = host-util-linux host-lzo host-zlib
> +HOST_BTRFS_PROGS_CONF_OPTS = \
> +	--disable-backtrace \
> +	--disable-zstd \
> +	--disable-python \
> +	--disable-convert
>  
>  $(eval $(autotools-package))
>  $(eval $(host-autotools-package))
> -- 
> 2.14.4
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

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

* [Buildroot] [PATCH next 4/4] btrfs-progs: make e2fsprogs an optional dependency
  2018-08-21 21:59 ` [Buildroot] [PATCH next 4/4] btrfs-progs: make e2fsprogs an optional dependency Thomas Petazzoni
@ 2018-08-21 22:18   ` Yann E. MORIN
  0 siblings, 0 replies; 12+ messages in thread
From: Yann E. MORIN @ 2018-08-21 22:18 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2018-08-21 23:59 +0200, Thomas Petazzoni spake thusly:
> e2fsprogs is only needed to build the btrfs-convert program, that
> allows to convert an existing ext2 filesystem into a btrfs
> filesystem. Not everybody needs to do that and making this dependency
> optional is nicer, so this is what this patch does.
> 
> Note that btrfs-progs also supports converting from reiserfs, which is
> why the --with-convert option supports a list of filesystems. Since
> Buildroot has no package for the reiserfs library, we for now only
> support the ext2 case, with e2fsprogs as a dependency.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>

Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

> ---
>  package/btrfs-progs/Config.in      |  1 -
>  package/btrfs-progs/btrfs-progs.mk | 12 +++++++++++-
>  2 files changed, 11 insertions(+), 2 deletions(-)
> 
> diff --git a/package/btrfs-progs/Config.in b/package/btrfs-progs/Config.in
> index ad86bab580..35dfc39193 100644
> --- a/package/btrfs-progs/Config.in
> +++ b/package/btrfs-progs/Config.in
> @@ -2,7 +2,6 @@ config BR2_PACKAGE_BTRFS_PROGS
>  	bool "btrfs-progs"
>  	depends on BR2_USE_MMU # util-linux
>  	depends on BR2_TOOLCHAIN_HAS_THREADS
> -	select BR2_PACKAGE_E2FSPROGS
>  	select BR2_PACKAGE_LZO
>  	select BR2_PACKAGE_UTIL_LINUX
>  	select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
> diff --git a/package/btrfs-progs/btrfs-progs.mk b/package/btrfs-progs/btrfs-progs.mk
> index 2f9f4127b6..33a6be324f 100644
> --- a/package/btrfs-progs/btrfs-progs.mk
> +++ b/package/btrfs-progs/btrfs-progs.mk
> @@ -7,7 +7,7 @@
>  BTRFS_PROGS_VERSION = 4.16.1
>  BTRFS_PROGS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/people/kdave/btrfs-progs
>  BTRFS_PROGS_SOURCE = btrfs-progs-v$(BTRFS_PROGS_VERSION).tar.xz
> -BTRFS_PROGS_DEPENDENCIES = host-pkgconf e2fsprogs lzo util-linux zlib
> +BTRFS_PROGS_DEPENDENCIES = host-pkgconf lzo util-linux zlib
>  BTRFS_PROGS_CONF_OPTS = --disable-backtrace --disable-zstd --disable-python
>  BTRFS_PROGS_LICENSE = GPL-2.0, LGPL-3.0+ (libbtrfsutil)
>  BTRFS_PROGS_LICENSE_FILES = COPYING libbtrfsutil/COPYING \
> @@ -21,6 +21,16 @@ BTRFS_PROGS_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install-static
>  BTRFS_PROGS_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) install-static
>  endif
>  
> +# convert also supports conversion from reiserfs, which needs some
> +# reiserfs libraries, but we have no package for them in Buildroot, so
> +# we keep things simple and only handle ext2.
> +ifeq ($(BR2_PACKAGE_E2FSPROGS),y)
> +BTRFS_PROGS_CONF_OPTS += --enable-convert --with-convert=ext2
> +BTRFS_PROGS_DEPENDENCIES += e2fsprogs
> +else
> +BTRFS_PROGS_CONF_OPTS += --disable-convert
> +endif
> +
>  HOST_BTRFS_PROGS_DEPENDENCIES = host-util-linux host-lzo host-zlib
>  HOST_BTRFS_PROGS_CONF_OPTS = \
>  	--disable-backtrace \
> -- 
> 2.14.4
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

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

* [Buildroot] [PATCH next 0/4] btrfs-progs related improvements
  2018-08-21 21:59 [Buildroot] [PATCH next 0/4] btrfs-progs related improvements Thomas Petazzoni
                   ` (4 preceding siblings ...)
  2018-08-21 22:08 ` [Buildroot] [PATCH next 0/4] btrfs-progs related improvements Yann E. MORIN
@ 2018-08-22 11:46 ` Thomas Petazzoni
  5 siblings, 0 replies; 12+ messages in thread
From: Thomas Petazzoni @ 2018-08-22 11:46 UTC (permalink / raw)
  To: buildroot

Hello,

On Tue, 21 Aug 2018 23:59:50 +0200, Thomas Petazzoni wrote:

> Thomas Petazzoni (4):
>   lzo: build shared library for the host
>   e2fsprogs: build shared library for the host
>   btrfs-progs: drop dependency on e2fsprogs by not building
>     btrfs-convert
>   btrfs-progs: make e2fsprogs an optional dependency

All applied to next. Thanks Yann for the review!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

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

* [Buildroot] [PATCH next 2/4] e2fsprogs: build shared library for the host
  2018-08-21 22:11   ` Yann E. MORIN
@ 2018-08-22 11:46     ` Thomas Petazzoni
  0 siblings, 0 replies; 12+ messages in thread
From: Thomas Petazzoni @ 2018-08-22 11:46 UTC (permalink / raw)
  To: buildroot

Hello,

On Wed, 22 Aug 2018 00:11:41 +0200, Yann E. MORIN wrote:

> I lknow this is not your fault, but I find it more readable when the
> --disable are all grouped together, and the --enable ones as well.
> 
> It also helps spot potentialy issues when the ordering is the same btw
> host and target variants.

I have pushed an additional commit fixing this for the host configure
options.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

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

end of thread, other threads:[~2018-08-22 11:46 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-21 21:59 [Buildroot] [PATCH next 0/4] btrfs-progs related improvements Thomas Petazzoni
2018-08-21 21:59 ` [Buildroot] [PATCH next 1/4] lzo: build shared library for the host Thomas Petazzoni
2018-08-21 22:07   ` Yann E. MORIN
2018-08-21 21:59 ` [Buildroot] [PATCH next 2/4] e2fsprogs: " Thomas Petazzoni
2018-08-21 22:11   ` Yann E. MORIN
2018-08-22 11:46     ` Thomas Petazzoni
2018-08-21 21:59 ` [Buildroot] [PATCH next 3/4] btrfs-progs: drop dependency on e2fsprogs by not building btrfs-convert Thomas Petazzoni
2018-08-21 22:15   ` Yann E. MORIN
2018-08-21 21:59 ` [Buildroot] [PATCH next 4/4] btrfs-progs: make e2fsprogs an optional dependency Thomas Petazzoni
2018-08-21 22:18   ` Yann E. MORIN
2018-08-21 22:08 ` [Buildroot] [PATCH next 0/4] btrfs-progs related improvements Yann E. MORIN
2018-08-22 11:46 ` Thomas Petazzoni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.