package/libselinux: bump version to 2.9
Other changes: - Remove upstream patch - Add PYTHON=$(LIBSELINUX_PYLIBVER) to LIBSELINUX_MAKE_OPTS - Add PYTHON=$(HOST_LIBSELINUX_PYLIBVER) to HOST_LIBSELINUX_MAKE_OPTS The python changes are necessary because libselinux python tools now defaults to python3. Signed-off-by: Adam Duskett <Aduskett@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
parent
ecec1a9ea9
commit
91289e8adc
@ -1,70 +0,0 @@
|
||||
From abe76789f8e7ce61b357f693eaed5b28feab5ce2 Mon Sep 17 00:00:00 2001
|
||||
From: Hollis Blanchard <hollis_blanchard@mentor.com>
|
||||
Date: Mon, 13 Aug 2018 12:11:33 -0700
|
||||
Subject: [PATCH] Fix build break around __atomic_*() with GCC<4.7
|
||||
|
||||
The __atomic_* GCC primitives were introduced in GCC 4.7, but Red Hat
|
||||
Enterprise Linux 6.x (for example) provides GCC 4.4. Tweak the current code to
|
||||
use the (most conservative) __sync_synchronize() primitive provided by those
|
||||
older GCC versions.
|
||||
|
||||
(Really, no __atomic or __sync operations are needed here at all, since POSIX
|
||||
4.12 "Memory Synchronization" says pthread_mutex_lock() and
|
||||
pthread_mutex_unlock() "synchronize memory with respect to other threads"...)
|
||||
|
||||
Signed-off-by: Hollis Blanchard <hollis_blanchard@mentor.com>
|
||||
---
|
||||
src/label_file.h | 18 ++++++++++++++++++
|
||||
1 file changed, 18 insertions(+)
|
||||
|
||||
diff --git a/src/label_file.h b/src/label_file.h
|
||||
index 2fa85474..47859baf 100644
|
||||
--- a/src/label_file.h
|
||||
+++ b/src/label_file.h
|
||||
@@ -351,8 +351,14 @@ static inline int compile_regex(struct saved_data *data, struct spec *spec,
|
||||
* init_routine does not take a parameter, it's not possible
|
||||
* to use, so we generate the same effect with atomics and a
|
||||
* mutex */
|
||||
+#ifdef __ATOMIC_RELAXED
|
||||
regex_compiled =
|
||||
__atomic_load_n(&spec->regex_compiled, __ATOMIC_ACQUIRE);
|
||||
+#else
|
||||
+ /* GCC <4.7 */
|
||||
+ __sync_synchronize();
|
||||
+ regex_compiled = spec->regex_compiled;
|
||||
+#endif
|
||||
if (regex_compiled) {
|
||||
return 0; /* already done */
|
||||
}
|
||||
@@ -360,8 +366,14 @@ static inline int compile_regex(struct saved_data *data, struct spec *spec,
|
||||
__pthread_mutex_lock(&spec->regex_lock);
|
||||
/* Check if another thread compiled the regex while we waited
|
||||
* on the mutex */
|
||||
+#ifdef __ATOMIC_RELAXED
|
||||
regex_compiled =
|
||||
__atomic_load_n(&spec->regex_compiled, __ATOMIC_ACQUIRE);
|
||||
+#else
|
||||
+ /* GCC <4.7 */
|
||||
+ __sync_synchronize();
|
||||
+ regex_compiled = spec->regex_compiled;
|
||||
+#endif
|
||||
if (regex_compiled) {
|
||||
__pthread_mutex_unlock(&spec->regex_lock);
|
||||
return 0;
|
||||
@@ -404,7 +416,13 @@ static inline int compile_regex(struct saved_data *data, struct spec *spec,
|
||||
}
|
||||
|
||||
/* Done. */
|
||||
+#ifdef __ATOMIC_RELAXED
|
||||
__atomic_store_n(&spec->regex_compiled, true, __ATOMIC_RELEASE);
|
||||
+#else
|
||||
+ /* GCC <4.7 */
|
||||
+ spec->regex_compiled = true;
|
||||
+ __sync_synchronize();
|
||||
+#endif
|
||||
__pthread_mutex_unlock(&spec->regex_lock);
|
||||
return 0;
|
||||
}
|
||||
--
|
||||
2.13.0
|
||||
|
@ -1,5 +1,5 @@
|
||||
# From: https://github.com/SELinuxProject/selinux/wiki/Releases
|
||||
sha256 31db96ec7643ce10912b3c3f98506a08a9116dcfe151855fd349c3fda96187e1 libselinux-2.8.tar.gz
|
||||
sha256 1bccc8873e449587d9a2b2cf253de9b89a8291b9fbc7c59393ca9e5f5f4d2693 libselinux-2.9.tar.gz
|
||||
|
||||
# Hash for license file
|
||||
sha256 86657b4c0fe868d7cbd977cb04c63b6c667e08fa51595a7bc846ad4bed8fc364 LICENSE
|
||||
|
@ -4,8 +4,8 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
LIBSELINUX_VERSION = 2.8
|
||||
LIBSELINUX_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20180524
|
||||
LIBSELINUX_VERSION = 2.9
|
||||
LIBSELINUX_SITE = https://github.com/SELinuxProject/selinux/releases/download/20190315
|
||||
LIBSELINUX_LICENSE = Public Domain
|
||||
LIBSELINUX_LICENSE_FILES = LICENSE
|
||||
|
||||
@ -37,6 +37,7 @@ LIBSELINUX_PYLIBVER = python$(PYTHON_VERSION_MAJOR)
|
||||
endif
|
||||
|
||||
LIBSELINUX_MAKE_OPTS += \
|
||||
PYTHON=$(LIBSELINUX_PYLIBVER) \
|
||||
PYINC="$(LIBSELINUX_PYINC)" \
|
||||
PYSITEDIR=$(TARGET_DIR)/usr/lib/$(LIBSELINUX_PYLIBVER)/site-packages \
|
||||
SWIG_LIB="$(HOST_DIR)/share/swig/$(SWIG_VERSION)/"
|
||||
@ -88,6 +89,7 @@ endif
|
||||
|
||||
HOST_LIBSELINUX_MAKE_OPTS = \
|
||||
$(HOST_CONFIGURE_OPTS) \
|
||||
PYTHON=$(HOST_LIBSELINUX_PYLIBVER) \
|
||||
PREFIX=$(HOST_DIR) \
|
||||
SHLIBDIR=$(HOST_DIR)/lib \
|
||||
LDFLAGS="$(HOST_LDFLAGS) -lpcre -lpthread" \
|
||||
|
Loading…
Reference in New Issue
Block a user