lvm2: make basic package available under musl

The basic lvm2 package (libdevmapper / dmsetup) does build under musl, only the
standard (full) installation doesn't.

Many setups only need the basic package, so move the !musl dependencies down
to the sub options and adjust the reverse dependencies (cryptsetup/dmraid)
to match.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
[Thomas: adjust Config.in comments and dependencies.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Peter Korsgaard 2017-10-27 13:47:16 +02:00 committed by Thomas Petazzoni
parent 063b2a8121
commit f71507d41b
3 changed files with 16 additions and 12 deletions

View File

@ -3,7 +3,6 @@ config BR2_PACKAGE_CRYPTSETUP
depends on BR2_TOOLCHAIN_HAS_THREADS # lvm2 depends on BR2_TOOLCHAIN_HAS_THREADS # lvm2
depends on BR2_USE_MMU # lvm2 depends on BR2_USE_MMU # lvm2
depends on !BR2_STATIC_LIBS # lvm2 depends on !BR2_STATIC_LIBS # lvm2
depends on !BR2_TOOLCHAIN_USES_MUSL # lvm2
select BR2_PACKAGE_POPT select BR2_PACKAGE_POPT
select BR2_PACKAGE_LVM2 select BR2_PACKAGE_LVM2
select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX
@ -14,7 +13,6 @@ config BR2_PACKAGE_CRYPTSETUP
https://gitlab.com/cryptsetup/cryptsetup https://gitlab.com/cryptsetup/cryptsetup
comment "cryptsetup needs a glibc or uClibc toolchain w/ threads, dynamic library" comment "cryptsetup needs a toolchain w/ threads, dynamic library"
depends on BR2_USE_MMU depends on BR2_USE_MMU
depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS \ depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS
|| BR2_TOOLCHAIN_USES_MUSL

View File

@ -3,7 +3,6 @@ config BR2_PACKAGE_DMRAID
depends on BR2_TOOLCHAIN_HAS_THREADS # lvm2 depends on BR2_TOOLCHAIN_HAS_THREADS # lvm2
depends on BR2_USE_MMU # lvm2 depends on BR2_USE_MMU # lvm2
depends on !BR2_STATIC_LIBS # lvm2 depends on !BR2_STATIC_LIBS # lvm2
depends on !BR2_TOOLCHAIN_USES_MUSL # lvm2
select BR2_PACKAGE_LVM2 select BR2_PACKAGE_LVM2
help help
dmraid discovers, activates, deactivates and displays dmraid discovers, activates, deactivates and displays
@ -13,7 +12,6 @@ config BR2_PACKAGE_DMRAID
dmraid uses the Linux device-mapper to create devices with dmraid uses the Linux device-mapper to create devices with
respective mappings for the ATARAID sets discovered. respective mappings for the ATARAID sets discovered.
comment "dmraid needs a glibc or uClibc toolchain w/ threads, dynamic library" comment "dmraid needs a toolchain w/ threads, dynamic library"
depends on BR2_USE_MMU depends on BR2_USE_MMU
depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS \ depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS
|| BR2_TOOLCHAIN_USES_MUSL

View File

@ -3,8 +3,6 @@ config BR2_PACKAGE_LVM2
depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_USE_MMU # needs fork() depends on BR2_USE_MMU # needs fork()
depends on !BR2_STATIC_LIBS # It fails to build statically depends on !BR2_STATIC_LIBS # It fails to build statically
# http://lists.busybox.net/pipermail/buildroot/2016-August/170592.html
depends on !BR2_TOOLCHAIN_USES_MUSL
help help
This is LVM2, the rewrite of The Linux Logical Volume Manager. This is LVM2, the rewrite of The Linux Logical Volume Manager.
LVM supports enterprise level volume management of disk and LVM supports enterprise level volume management of disk and
@ -27,19 +25,29 @@ if BR2_PACKAGE_LVM2
config BR2_PACKAGE_LVM2_STANDARD_INSTALL config BR2_PACKAGE_LVM2_STANDARD_INSTALL
bool "standard install instead of only dmsetup" bool "standard install instead of only dmsetup"
# http://lists.busybox.net/pipermail/buildroot/2016-August/170592.html
depends on !BR2_TOOLCHAIN_USES_MUSL
default y if !BR2_PACKAGE_LVM2_DMSETUP_ONLY # legacy 2013.11 default y if !BR2_PACKAGE_LVM2_DMSETUP_ONLY # legacy 2013.11
help help
Install the standard suite of lvm2 programs. When this option Install the standard suite of lvm2 programs. When this option
is not set, only dmsetup is installed. is not set, only dmsetup is installed.
comment "lvm2 standard install needs a glibc or uClibc toolchain"
depends on BR2_TOOLCHAIN_USES_MUSL
config BR2_PACKAGE_LVM2_APP_LIBRARY config BR2_PACKAGE_LVM2_APP_LIBRARY
bool "install application library" bool "install application library"
# http://lists.busybox.net/pipermail/buildroot/2016-August/170592.html
depends on !BR2_TOOLCHAIN_USES_MUSL
select BR2_PACKAGE_LVM2_STANDARD_INSTALL select BR2_PACKAGE_LVM2_STANDARD_INSTALL
help help
Install application library (liblvm2app). Install application library (liblvm2app).
comment "lvm2 application library needs a glibc or uClibc toolchain"
depends on BR2_TOOLCHAIN_USES_MUSL
endif endif
comment "lvm2 needs a glibc or uClibc toolchain w/ threads, dynamic library" comment "lvm2 needs a toolchain w/ threads, dynamic library"
depends on BR2_USE_MMU depends on BR2_USE_MMU
depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_MUSL depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS