package/libcap: needs headers >= 3.0
PATCH 1/1 package/libcap: needs headers >= 3.0
libcap requires XATTR_NAME_CAPS, which was introduced in Linux 2.6.24.
However, we have some toolchains, liek the CodeSourcery PowerPC 2011.03, that is missing those defines, even though it uses headers from Linux 2.6.38.
Since there is no perfect way to avoid the situation, just require headers >= 3.0 to build libcap.
Propagate the new dependency to packages that select libcap.
Fixes a lot of build failures, of which:
http://autobuild.buildroot.net/results/e90/e909ca48ad2d1c85b19258f65e0c89a2813ac45e/ http://autobuild.buildroot.net/results/23a/23aac9bb1cc48e5974bcf50256a16c67318f9ba2/ http://autobuild.buildroot.net/results/597/597da58cb2fccb92d7883802c60b31264cacad08/ http://autobuild.buildroot.net/results/538/538b23417c68f6c8c0c8c92dfc0e8ed314bac01b/ ...
--- package/cdrkit/Config.in | 5 +++-- package/libcap/Config.in | 4 ++++ package/lxc/Config.in | 6 ++++-- package/squid/Config.in | 6 ++++-- 4 files changed, 15 insertions(+), 6 deletions(-)
package/cdrkit/Config.in +3 -2
@@ -4,6 +4,7 @@ config BR2_PACKAGE_CDRKIT select BR2_PACKAGE_LIBCAP depends on BR2_LARGEFILE depends on BR2_USE_MMU # fork + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # libcap bool "cdrkit" help cdrkit is a suite of programs for recording CDs and DVDs,
@@ -12,6 +13,6 @@ config BR2_PACKAGE_CDRKIT http://www.cdrkit.org/ -comment "cdrkit needs a toolchain w/ largefile" +comment "cdrkit needs a toolchain w/ largefile, headers >= 3.0" depends on BR2_USE_MMU - depends on !BR2_LARGEFILE + depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
package/libcap/Config.in +4 -0
@@ -1,5 +1,6 @@ config BR2_PACKAGE_LIBCAP bool "libcap" + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # XATTR_NAME_CAPS help This library implements the user-space interfaces to the POSIX 1003.1e capabilities available in Linux kernels. These
@@ -22,3 +23,6 @@ config BR2_PACKAGE_LIBCAP_TOOLS CONFIG_EXT2_FS_XATTR and CONFIG_EXT2_FS_SECURITY for ext2). endif + +comment "libcap needs a toolchain w/ headers >= 3.0" + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
package/lxc/Config.in +4 -2
@@ -7,6 +7,7 @@ config BR2_PACKAGE_LXC depends on BR2_USE_MMU # fork() depends on !BR2_avr32 # no timerfd depends on !BR2_nios2 # the toolchain doesn't support setns syscall + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # libcap help Linux Containers (LXC), provides the ability to group and isolate of a set of processes in a jail by virtualizing and accounting the
@@ -14,8 +15,9 @@ config BR2_PACKAGE_LXC https://linuxcontainers.org/ -comment "lxc needs a toolchain w/ IPv6, threads, largefile" +comment "lxc needs a toolchain w/ IPv6, threads, largefile, headers >= 3.0" depends on BR2_USE_MMU depends on !BR2_avr32 # no timerfd depends on !BR2_nios2 # the toolchain doesn't support setns syscall - depends on !BR2_INET_IPV6 || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_LARGEFILE + depends on !BR2_INET_IPV6 || !BR2_TOOLCHAIN_HAS_THREADS \ + || !BR2_LARGEFILE || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
package/squid/Config.in +4 -2
@@ -1,7 +1,8 @@ -comment "squid needs a toolchain w/ C++, IPv6" +comment "squid needs a toolchain w/ C++, IPv6, headers >= 3.0" depends on BR2_USE_MMU depends on !BR2_avr32 # toolchain too old - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_INET_IPV6 + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_INET_IPV6 \ + || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 config BR2_PACKAGE_SQUID bool "squid"
@@ -9,6 +10,7 @@ config BR2_PACKAGE_SQUID depends on BR2_INET_IPV6 # needs fork() depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # libcap select BR2_PACKAGE_LIBCAP help Caching proxy for the Web supporting HTTP, HTTPS, FTP, and more.
Signature · 1 line
1.9.1
PATCH 1/1 package/libcap: needs headers >= 3.0
Quoted 19 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Yann" == Yann E MORIN <[email protected]> writes:
libcap requires
XATTR_NAME_CAPS, which was introduced in Linux 2.6.24. However, we have some toolchains, liek the CodeSourcery PowerPC 2011.03, that is missing those defines, even though it uses headers from Linux 2.6.38.Since there is no perfect way to avoid the situation, just require headers >= 3.0 to build libcap.
Propagate the new dependency to packages that select libcap.
Fixes a lot of build failures, of which:
http://autobuild.buildroot.net/results/e90/e909ca48ad2d1c85b19258f65e0c89a2813ac45e/ http://autobuild.buildroot.net/results/23a/23aac9bb1cc48e5974bcf50256a16c67318f9ba2/ http://autobuild.buildroot.net/results/597/597da58cb2fccb92d7883802c60b31264cacad08/ http://autobuild.buildroot.net/results/538/538b23417c68f6c8c0c8c92dfc0e8ed314bac01b/ ...
Quoted 4 lines
Signed-off-by "Yann E. MORIN" <[email protected]>Cc Thomas Petazzoni <[email protected]>Cc Gustavo Zacarias <[email protected]>Cc Bernd Kuhls <[email protected]>
Committed, thanks.
Signature · 1 line
Bye, Peter Korsgaard