diff mbox series

[1/6] package/libsepol: bump to version 3.3

Message ID 20220104220245.3706221-1-fontaine.fabrice@gmail.com
State Accepted
Headers show
Series [1/6] package/libsepol: bump to version 3.3 | expand

Commit Message

Fabrice Fontaine Jan. 4, 2022, 10:02 p.m. UTC
Add gcc >= 5 dependency because __builtin_add_overflow is
unconditionally used since
https://github.com/SELinuxProject/selinux/commit/0744fa4f533c765d0a704fe8aa7174a0f93eb7bc

https://github.com/SELinuxProject/selinux/releases/tag/3.3

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 package/checkpolicy/Config.in    | 6 ++++--
 package/libselinux/Config.in     | 6 ++++--
 package/libsepol/Config.in       | 6 ++++--
 package/libsepol/libsepol.hash   | 2 +-
 package/libsepol/libsepol.mk     | 2 +-
 package/refpolicy/Config.in      | 6 ++++--
 package/restorecond/Config.in    | 5 +++--
 package/selinux-python/Config.in | 8 ++++++++
 package/semodule-utils/Config.in | 6 ++++--
 package/setools/Config.in        | 5 +++--
 10 files changed, 36 insertions(+), 16 deletions(-)

Comments

Yann E. MORIN Jan. 5, 2022, 9:33 a.m. UTC | #1
Fabrice, All,

On 2022-01-04 23:02 +0100, Fabrice Fontaine spake thusly:
> Add gcc >= 5 dependency because __builtin_add_overflow is
> unconditionally used since
> https://github.com/SELinuxProject/selinux/commit/0744fa4f533c765d0a704fe8aa7174a0f93eb7bc
> 
> https://github.com/SELinuxProject/selinux/releases/tag/3.3
> 
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>

Series of 6 patches applied to master, thanks.

Regards,
Yann E. MORIN.

> ---
>  package/checkpolicy/Config.in    | 6 ++++--
>  package/libselinux/Config.in     | 6 ++++--
>  package/libsepol/Config.in       | 6 ++++--
>  package/libsepol/libsepol.hash   | 2 +-
>  package/libsepol/libsepol.mk     | 2 +-
>  package/refpolicy/Config.in      | 6 ++++--
>  package/restorecond/Config.in    | 5 +++--
>  package/selinux-python/Config.in | 8 ++++++++
>  package/semodule-utils/Config.in | 6 ++++--
>  package/setools/Config.in        | 5 +++--
>  10 files changed, 36 insertions(+), 16 deletions(-)
> 
> diff --git a/package/checkpolicy/Config.in b/package/checkpolicy/Config.in
> index ad769d22b7..6a1f22991d 100644
> --- a/package/checkpolicy/Config.in
> +++ b/package/checkpolicy/Config.in
> @@ -2,6 +2,7 @@ config BR2_PACKAGE_CHECKPOLICY
>  	bool "checkpolicy"
>  	depends on BR2_TOOLCHAIN_HAS_THREADS # libselinux
>  	depends on !BR2_STATIC_LIBS # libselinux
> +	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # libselinux -> libsepol
>  	select BR2_PACKAGE_LIBSELINUX
>  	select BR2_PACKAGE_FLEX
>  	help
> @@ -13,5 +14,6 @@ config BR2_PACKAGE_CHECKPOLICY
>  
>  	  http://selinuxproject.org/page/Main_Page
>  
> -comment "checkpolicy needs a toolchain w/ threads, dynamic library"
> -	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
> +comment "checkpolicy needs a toolchain w/ threads, dynamic library, gcc >= 5"
> +	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \
> +		!BR2_TOOLCHAIN_GCC_AT_LEAST_5
> diff --git a/package/libselinux/Config.in b/package/libselinux/Config.in
> index 62070c8d59..348757abce 100644
> --- a/package/libselinux/Config.in
> +++ b/package/libselinux/Config.in
> @@ -2,6 +2,7 @@ config BR2_PACKAGE_LIBSELINUX
>  	bool "libselinux"
>  	depends on BR2_TOOLCHAIN_HAS_THREADS
>  	depends on !BR2_STATIC_LIBS
> +	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # libsepol
>  	select BR2_PACKAGE_LIBSEPOL
>  	select BR2_PACKAGE_PCRE
>  	select BR2_PACKAGE_MUSL_FTS if !BR2_TOOLCHAIN_USES_GLIBC
> @@ -16,5 +17,6 @@ config BR2_PACKAGE_LIBSELINUX
>  
>  	  http://selinuxproject.org/page/Main_Page
>  
> -comment "libselinux needs a toolchain w/ threads, dynamic library"
> -	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
> +comment "libselinux needs a toolchain w/ threads, dynamic library, gcc >= 5"
> +	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \
> +		!BR2_TOOLCHAIN_GCC_AT_LEAST_5
> diff --git a/package/libsepol/Config.in b/package/libsepol/Config.in
> index 04af880e67..7516076cd5 100644
> --- a/package/libsepol/Config.in
> +++ b/package/libsepol/Config.in
> @@ -1,6 +1,7 @@
>  config BR2_PACKAGE_LIBSEPOL
>  	bool "libsepol"
>  	depends on BR2_TOOLCHAIN_HAS_THREADS # pthread
> +	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5
>  	help
>  	  Libsepol is the binary policy manipulation library. It doesn't
>  	  depend upon or use any of the other SELinux components.
> @@ -35,5 +36,6 @@ config BR2_PACKAGE_LIBSEPOL_POLICY_VERSION
>  
>  endif
>  
> -comment "libsepol needs a toolchain w/ threads"
> -	depends on !BR2_TOOLCHAIN_HAS_THREADS
> +comment "libsepol needs a toolchain w/ threads, gcc >= 5"
> +	depends on !BR2_TOOLCHAIN_HAS_THREADS || \
> +		!BR2_TOOLCHAIN_GCC_AT_LEAST_5
> diff --git a/package/libsepol/libsepol.hash b/package/libsepol/libsepol.hash
> index b273f982b6..039e4e3c7e 100644
> --- a/package/libsepol/libsepol.hash
> +++ b/package/libsepol/libsepol.hash
> @@ -1,5 +1,5 @@
>  # From: https://github.com/SELinuxProject/selinux/wiki/Releases
> -sha256  dfc7f662af8000116e56a01de6a0394ed79be1b34b999e551346233c5dd19508  libsepol-3.2.tar.gz
> +sha256  2d97df3eb8466169b389c3660acbb90c54200ac96e452eca9f41a9639f4f238b  libsepol-3.3.tar.gz
>  
>  # Hash for license file
>  sha256  6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3  COPYING
> diff --git a/package/libsepol/libsepol.mk b/package/libsepol/libsepol.mk
> index 55125f2203..8551a5de79 100644
> --- a/package/libsepol/libsepol.mk
> +++ b/package/libsepol/libsepol.mk
> @@ -4,7 +4,7 @@
>  #
>  ################################################################################
>  
> -LIBSEPOL_VERSION = 3.2
> +LIBSEPOL_VERSION = 3.3
>  LIBSEPOL_SITE = https://github.com/SELinuxProject/selinux/releases/download/$(LIBSEPOL_VERSION)
>  LIBSEPOL_LICENSE = LGPL-2.1+
>  LIBSEPOL_LICENSE_FILES = COPYING
> diff --git a/package/refpolicy/Config.in b/package/refpolicy/Config.in
> index c529b85e1d..043cc40a72 100644
> --- a/package/refpolicy/Config.in
> +++ b/package/refpolicy/Config.in
> @@ -1,6 +1,7 @@
>  config BR2_PACKAGE_REFPOLICY
>  	bool "refpolicy"
>  	depends on BR2_TOOLCHAIN_HAS_THREADS # libsepol
> +	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # libsepol
>  	# Even though libsepol is not necessary for building, we get
>  	# the policy version from libsepol, so we select it, and treat
>  	# it like a runtime dependency.
> @@ -113,5 +114,6 @@ endif
>  
>  endif
>  
> -comment "refpolicy needs a toolchain w/ threads"
> -	depends on !BR2_TOOLCHAIN_HAS_THREADS
> +comment "refpolicy needs a toolchain w/ threads, gcc >= 5"
> +	depends on !BR2_TOOLCHAIN_HAS_THREADS || \
> +		!BR2_TOOLCHAIN_GCC_AT_LEAST_5
> diff --git a/package/restorecond/Config.in b/package/restorecond/Config.in
> index 31f85f2882..5e5567b213 100644
> --- a/package/restorecond/Config.in
> +++ b/package/restorecond/Config.in
> @@ -4,6 +4,7 @@ config BR2_PACKAGE_RESTORECOND
>  	depends on BR2_USE_WCHAR # libglib2
>  	depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
>  	depends on !BR2_STATIC_LIBS # libselinux
> +	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # libsepol
>  	select BR2_PACKAGE_DBUS
>  	select BR2_PACKAGE_DBUS_GLIB
>  	select BR2_PACKAGE_LIBGLIB2
> @@ -15,7 +16,7 @@ config BR2_PACKAGE_RESTORECOND
>  
>  	  https://github.com/SELinuxProject/selinux/wiki/Releases
>  
> -comment "restorecond needs a toolchain w/ wchar, threads, dynamic library"
> +comment "restorecond needs a toolchain w/ wchar, threads, dynamic library, gcc >= 5"
>  	depends on BR2_USE_MMU
>  	depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \
> -		BR2_STATIC_LIBS
> +		BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_5
> diff --git a/package/selinux-python/Config.in b/package/selinux-python/Config.in
> index 0f1c281777..6a518f97d4 100644
> --- a/package/selinux-python/Config.in
> +++ b/package/selinux-python/Config.in
> @@ -17,6 +17,7 @@ if BR2_PACKAGE_SELINUX_PYTHON
>  
>  config BR2_PACKAGE_SELINUX_PYTHON_AUDIT2ALLOW
>  	bool "audit2allow"
> +	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # semodule-utils -> libsepol
>  	select BR2_PACKAGE_CHECKPOLICY
>  	select BR2_PACKAGE_SELINUX_PYTHON_SEPOLGEN
>  	select BR2_PACKAGE_SEMODULE_UTILS
> @@ -29,13 +30,20 @@ config BR2_PACKAGE_SELINUX_PYTHON_AUDIT2ALLOW
>  	  audit2why - translates SELinux audit messages into a
>  	  description of why the access was denied (audit2allow -w)
>  
> +comment "audit2allow needs a toolchain w/ gcc 5"
> +	depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5
> +
>  config BR2_PACKAGE_SELINUX_PYTHON_SEPOLGEN
>  	bool "sepolgen"
> +	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # semodule-utils -> libsepol
>  	select BR2_PACKAGE_SEMODULE_UTILS
>  	help
>  	  This package contains a Python module that allows you to
>  	  generate an initial SELinux policy module template.
>  
> +comment "sepolgen needs a toolchain w/ gcc 5"
> +	depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5
> +
>  endif
>  
>  comment "selinux-python needs python3"
> diff --git a/package/semodule-utils/Config.in b/package/semodule-utils/Config.in
> index 38e043dc2c..5d98dc615f 100644
> --- a/package/semodule-utils/Config.in
> +++ b/package/semodule-utils/Config.in
> @@ -1,6 +1,7 @@
>  config BR2_PACKAGE_SEMODULE_UTILS
>  	bool "semodule-utils"
>  	depends on BR2_TOOLCHAIN_HAS_THREADS # libsepol
> +	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # libsepol
>  	select BR2_PACKAGE_LIBSEPOL
>  	help
>  	  semodule-utils is a package that contains tools for handling
> @@ -15,5 +16,6 @@ config BR2_PACKAGE_SEMODULE_UTILS
>  
>  	  https://github.com/SELinuxProject/selinux/wiki/Releases
>  
> -comment "semodule-utils needs a toolchain w/ threads"
> -	depends on !BR2_TOOLCHAIN_HAS_THREADS
> +comment "semodule-utils needs a toolchain w/ threads, gcc >= 5"
> +	depends on !BR2_TOOLCHAIN_HAS_THREADS || \
> +		!BR2_TOOLCHAIN_GCC_AT_LEAST_5
> diff --git a/package/setools/Config.in b/package/setools/Config.in
> index 3ab7f55948..5a71672bdf 100644
> --- a/package/setools/Config.in
> +++ b/package/setools/Config.in
> @@ -5,6 +5,7 @@ config BR2_PACKAGE_SETOOLS
>  	depends on BR2_USE_WCHAR
>  	depends on BR2_USE_MMU
>  	depends on BR2_PACKAGE_PYTHON3
> +	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # libselinux -> libsepol
>  	select BR2_PACKAGE_PYTHON_NETWORKX # runtime
>  	select BR2_PACKAGE_PYTHON_SETUPTOOLS
>  	select BR2_PACKAGE_LIBSELINUX
> @@ -19,10 +20,10 @@ config BR2_PACKAGE_SETOOLS
>  
>  	  https://github.com/SELinuxProject/setools/
>  
> -comment "setools needs a toolchain w/ threads, wchar, dynamic library"
> +comment "setools needs a toolchain w/ threads, wchar, dynamic library, gcc >= 5"
>  	depends on BR2_USE_MMU
>  	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \
> -		!BR2_USE_WCHAR
> +		!BR2_USE_WCHAR || !BR2_TOOLCHAIN_GCC_AT_LEAST_5
>  
>  comment "setools needs python3"
>  	depends on BR2_USE_MMU
> -- 
> 2.34.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
diff mbox series

Patch

diff --git a/package/checkpolicy/Config.in b/package/checkpolicy/Config.in
index ad769d22b7..6a1f22991d 100644
--- a/package/checkpolicy/Config.in
+++ b/package/checkpolicy/Config.in
@@ -2,6 +2,7 @@  config BR2_PACKAGE_CHECKPOLICY
 	bool "checkpolicy"
 	depends on BR2_TOOLCHAIN_HAS_THREADS # libselinux
 	depends on !BR2_STATIC_LIBS # libselinux
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # libselinux -> libsepol
 	select BR2_PACKAGE_LIBSELINUX
 	select BR2_PACKAGE_FLEX
 	help
@@ -13,5 +14,6 @@  config BR2_PACKAGE_CHECKPOLICY
 
 	  http://selinuxproject.org/page/Main_Page
 
-comment "checkpolicy needs a toolchain w/ threads, dynamic library"
-	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
+comment "checkpolicy needs a toolchain w/ threads, dynamic library, gcc >= 5"
+	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_5
diff --git a/package/libselinux/Config.in b/package/libselinux/Config.in
index 62070c8d59..348757abce 100644
--- a/package/libselinux/Config.in
+++ b/package/libselinux/Config.in
@@ -2,6 +2,7 @@  config BR2_PACKAGE_LIBSELINUX
 	bool "libselinux"
 	depends on BR2_TOOLCHAIN_HAS_THREADS
 	depends on !BR2_STATIC_LIBS
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # libsepol
 	select BR2_PACKAGE_LIBSEPOL
 	select BR2_PACKAGE_PCRE
 	select BR2_PACKAGE_MUSL_FTS if !BR2_TOOLCHAIN_USES_GLIBC
@@ -16,5 +17,6 @@  config BR2_PACKAGE_LIBSELINUX
 
 	  http://selinuxproject.org/page/Main_Page
 
-comment "libselinux needs a toolchain w/ threads, dynamic library"
-	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
+comment "libselinux needs a toolchain w/ threads, dynamic library, gcc >= 5"
+	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_5
diff --git a/package/libsepol/Config.in b/package/libsepol/Config.in
index 04af880e67..7516076cd5 100644
--- a/package/libsepol/Config.in
+++ b/package/libsepol/Config.in
@@ -1,6 +1,7 @@ 
 config BR2_PACKAGE_LIBSEPOL
 	bool "libsepol"
 	depends on BR2_TOOLCHAIN_HAS_THREADS # pthread
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5
 	help
 	  Libsepol is the binary policy manipulation library. It doesn't
 	  depend upon or use any of the other SELinux components.
@@ -35,5 +36,6 @@  config BR2_PACKAGE_LIBSEPOL_POLICY_VERSION
 
 endif
 
-comment "libsepol needs a toolchain w/ threads"
-	depends on !BR2_TOOLCHAIN_HAS_THREADS
+comment "libsepol needs a toolchain w/ threads, gcc >= 5"
+	depends on !BR2_TOOLCHAIN_HAS_THREADS || \
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_5
diff --git a/package/libsepol/libsepol.hash b/package/libsepol/libsepol.hash
index b273f982b6..039e4e3c7e 100644
--- a/package/libsepol/libsepol.hash
+++ b/package/libsepol/libsepol.hash
@@ -1,5 +1,5 @@ 
 # From: https://github.com/SELinuxProject/selinux/wiki/Releases
-sha256  dfc7f662af8000116e56a01de6a0394ed79be1b34b999e551346233c5dd19508  libsepol-3.2.tar.gz
+sha256  2d97df3eb8466169b389c3660acbb90c54200ac96e452eca9f41a9639f4f238b  libsepol-3.3.tar.gz
 
 # Hash for license file
 sha256  6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3  COPYING
diff --git a/package/libsepol/libsepol.mk b/package/libsepol/libsepol.mk
index 55125f2203..8551a5de79 100644
--- a/package/libsepol/libsepol.mk
+++ b/package/libsepol/libsepol.mk
@@ -4,7 +4,7 @@ 
 #
 ################################################################################
 
-LIBSEPOL_VERSION = 3.2
+LIBSEPOL_VERSION = 3.3
 LIBSEPOL_SITE = https://github.com/SELinuxProject/selinux/releases/download/$(LIBSEPOL_VERSION)
 LIBSEPOL_LICENSE = LGPL-2.1+
 LIBSEPOL_LICENSE_FILES = COPYING
diff --git a/package/refpolicy/Config.in b/package/refpolicy/Config.in
index c529b85e1d..043cc40a72 100644
--- a/package/refpolicy/Config.in
+++ b/package/refpolicy/Config.in
@@ -1,6 +1,7 @@ 
 config BR2_PACKAGE_REFPOLICY
 	bool "refpolicy"
 	depends on BR2_TOOLCHAIN_HAS_THREADS # libsepol
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # libsepol
 	# Even though libsepol is not necessary for building, we get
 	# the policy version from libsepol, so we select it, and treat
 	# it like a runtime dependency.
@@ -113,5 +114,6 @@  endif
 
 endif
 
-comment "refpolicy needs a toolchain w/ threads"
-	depends on !BR2_TOOLCHAIN_HAS_THREADS
+comment "refpolicy needs a toolchain w/ threads, gcc >= 5"
+	depends on !BR2_TOOLCHAIN_HAS_THREADS || \
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_5
diff --git a/package/restorecond/Config.in b/package/restorecond/Config.in
index 31f85f2882..5e5567b213 100644
--- a/package/restorecond/Config.in
+++ b/package/restorecond/Config.in
@@ -4,6 +4,7 @@  config BR2_PACKAGE_RESTORECOND
 	depends on BR2_USE_WCHAR # libglib2
 	depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
 	depends on !BR2_STATIC_LIBS # libselinux
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # libsepol
 	select BR2_PACKAGE_DBUS
 	select BR2_PACKAGE_DBUS_GLIB
 	select BR2_PACKAGE_LIBGLIB2
@@ -15,7 +16,7 @@  config BR2_PACKAGE_RESTORECOND
 
 	  https://github.com/SELinuxProject/selinux/wiki/Releases
 
-comment "restorecond needs a toolchain w/ wchar, threads, dynamic library"
+comment "restorecond needs a toolchain w/ wchar, threads, dynamic library, gcc >= 5"
 	depends on BR2_USE_MMU
 	depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \
-		BR2_STATIC_LIBS
+		BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_5
diff --git a/package/selinux-python/Config.in b/package/selinux-python/Config.in
index 0f1c281777..6a518f97d4 100644
--- a/package/selinux-python/Config.in
+++ b/package/selinux-python/Config.in
@@ -17,6 +17,7 @@  if BR2_PACKAGE_SELINUX_PYTHON
 
 config BR2_PACKAGE_SELINUX_PYTHON_AUDIT2ALLOW
 	bool "audit2allow"
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # semodule-utils -> libsepol
 	select BR2_PACKAGE_CHECKPOLICY
 	select BR2_PACKAGE_SELINUX_PYTHON_SEPOLGEN
 	select BR2_PACKAGE_SEMODULE_UTILS
@@ -29,13 +30,20 @@  config BR2_PACKAGE_SELINUX_PYTHON_AUDIT2ALLOW
 	  audit2why - translates SELinux audit messages into a
 	  description of why the access was denied (audit2allow -w)
 
+comment "audit2allow needs a toolchain w/ gcc 5"
+	depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5
+
 config BR2_PACKAGE_SELINUX_PYTHON_SEPOLGEN
 	bool "sepolgen"
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # semodule-utils -> libsepol
 	select BR2_PACKAGE_SEMODULE_UTILS
 	help
 	  This package contains a Python module that allows you to
 	  generate an initial SELinux policy module template.
 
+comment "sepolgen needs a toolchain w/ gcc 5"
+	depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5
+
 endif
 
 comment "selinux-python needs python3"
diff --git a/package/semodule-utils/Config.in b/package/semodule-utils/Config.in
index 38e043dc2c..5d98dc615f 100644
--- a/package/semodule-utils/Config.in
+++ b/package/semodule-utils/Config.in
@@ -1,6 +1,7 @@ 
 config BR2_PACKAGE_SEMODULE_UTILS
 	bool "semodule-utils"
 	depends on BR2_TOOLCHAIN_HAS_THREADS # libsepol
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # libsepol
 	select BR2_PACKAGE_LIBSEPOL
 	help
 	  semodule-utils is a package that contains tools for handling
@@ -15,5 +16,6 @@  config BR2_PACKAGE_SEMODULE_UTILS
 
 	  https://github.com/SELinuxProject/selinux/wiki/Releases
 
-comment "semodule-utils needs a toolchain w/ threads"
-	depends on !BR2_TOOLCHAIN_HAS_THREADS
+comment "semodule-utils needs a toolchain w/ threads, gcc >= 5"
+	depends on !BR2_TOOLCHAIN_HAS_THREADS || \
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_5
diff --git a/package/setools/Config.in b/package/setools/Config.in
index 3ab7f55948..5a71672bdf 100644
--- a/package/setools/Config.in
+++ b/package/setools/Config.in
@@ -5,6 +5,7 @@  config BR2_PACKAGE_SETOOLS
 	depends on BR2_USE_WCHAR
 	depends on BR2_USE_MMU
 	depends on BR2_PACKAGE_PYTHON3
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # libselinux -> libsepol
 	select BR2_PACKAGE_PYTHON_NETWORKX # runtime
 	select BR2_PACKAGE_PYTHON_SETUPTOOLS
 	select BR2_PACKAGE_LIBSELINUX
@@ -19,10 +20,10 @@  config BR2_PACKAGE_SETOOLS
 
 	  https://github.com/SELinuxProject/setools/
 
-comment "setools needs a toolchain w/ threads, wchar, dynamic library"
+comment "setools needs a toolchain w/ threads, wchar, dynamic library, gcc >= 5"
 	depends on BR2_USE_MMU
 	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \
-		!BR2_USE_WCHAR
+		!BR2_USE_WCHAR || !BR2_TOOLCHAIN_GCC_AT_LEAST_5
 
 comment "setools needs python3"
 	depends on BR2_USE_MMU