package/libcap: needs headers >= 3.0
authorYann E. MORIN <yann.morin.1998@free.fr>
Sun, 16 Nov 2014 11:04:47 +0000 (12:04 +0100)
committerPeter Korsgaard <peter@korsgaard.com>
Sun, 16 Nov 2014 22:10:53 +0000 (23:10 +0100)
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/
    ...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Cc: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/cdrkit/Config.in
package/libcap/Config.in
package/lxc/Config.in
package/squid/Config.in

index 9ba5dbf22f5cebf89f07aa3ad74b501cec58953a..81c5c019649a6405968b079c51909ffa98d8f8c3 100644 (file)
@@ -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
index 5b0c827191f930ee3b11cc8fbf2c81dd983d2580..2e3c8d97950ebc77482c0fc7d1cb6d9a5e8aecd9 100644 (file)
@@ -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
index 3eae64ac3467801e89ddf12f67614822e9b830b7..cf85712a5a7846671386b9785c1034d0d6d86653 100644 (file)
@@ -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
index ad9fab5931326fadc370a5654660a3a8635d4547..ce383717500591cad5712b43befd53754089fc6e 100644 (file)
@@ -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.