This is the upstream repository for the Security Enhanced Linux (SELinux) userland libraries and tools. The software provided by this project complements the SELinux features integrated into the Linux kernel and is used by Linux distributions. All bugs an
Go to file
Hollis Blanchard 70b9658d8c
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.

Fixes https://github.com/SELinuxProject/selinux/issues/97

(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"...)
2018-08-22 22:56:08 +02:00
checkpolicy checkpolicy: destroy the class datum if it fails to initialize 2018-05-30 22:00:13 +02:00
dbus Update VERSIONs to 2.8 for release. 2018-05-24 14:21:09 -04:00
gui Fix minor typos 2018-06-30 20:28:25 +02:00
libselinux Fix build break around __atomic_*() with GCC<4.7 2018-08-22 22:56:08 +02:00
libsemanage libsemanage: reset umask before creating directories 2018-08-22 07:46:12 +02:00
libsepol Fix minor typos 2018-06-30 20:28:25 +02:00
mcstrans mcstrans: fix memory leaks reported by clang's static analyzer 2018-07-04 22:09:06 +02:00
policycoreutils policycoreutils/hll/pp: remove unused variable 2018-06-06 15:56:45 -04:00
python python: remove semicolon from end of lines 2018-08-19 17:55:19 +02:00
restorecond restorecond: close the PID file if writing to it failed 2018-07-04 22:08:27 +02:00
sandbox Fix minor typos 2018-06-30 20:28:25 +02:00
scripts python: remove semicolon from end of lines 2018-08-19 17:55:19 +02:00
secilc secilc: Make the clean target call the clean target of docs/ 2018-05-30 22:06:43 +02:00
semodule-utils Update VERSIONs to 2.8 for release. 2018-05-24 14:21:09 -04:00
.gitignore restorecond: Add gitignore 2016-11-16 11:20:05 -05:00
.travis.yml Travis-CI: upgrade to Ubuntu 16.04 LTS Xenial Xerus 2018-08-19 17:55:17 +02:00
CleanSpec.mk Add empty top level Android.mk / CleanSpec.mk files 2015-04-16 07:54:09 -04:00
Makefile build: setup buildpaths if DESTDIR is specified 2018-02-14 20:02:03 +01:00
README libsepol: build: follow standard semantics for DESTDIR and PREFIX 2018-02-14 15:59:36 +01:00

Please submit all bug reports and patches to selinux@tycho.nsa.gov.
Subscribe via selinux-join@tycho.nsa.gov.

Build dependencies on Fedora:
yum install audit-libs-devel bison bzip2-devel dbus-devel dbus-glib-devel flex flex-devel flex-static glib2-devel libcap-devel libcap-ng-devel pam-devel pcre-devel python-devel setools-devel swig xmlto redhat-rpm-config

To build and install everything under a private directory, run:
make DESTDIR=~/obj install install-pywrap

To install as the default system libraries and binaries
(overwriting any previously installed ones - dangerous!),
on x86_64, run:
make LIBDIR=/usr/lib64 SHLIBDIR=/lib64 install install-pywrap relabel
or on x86 (32-bit), run:
make install install-pywrap relabel

This may render your system unusable if the upstream SELinux userspace
lacks library functions or other dependencies relied upon by your
distribution.  If it breaks, you get to keep both pieces.

To install libsepol on macOS (mainly for policy analysis):
cd libsepol; make PREFIX=/usr/local install

This requires GNU coreutils (brew install coreutils).