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
Petr Lautrbach 4d7dee28f4 libsepol/utils: Fix build without system sepol.h
fcb5d5c removed ../include from CFLAGS from libsepol/utils/Makefile so
that a build tool can't find sepol/sepol.h when only libsepol is built
and a system is without sepol.h in standard paths. It should use its own
sepol.h file during build. `oveeride` needs to be used in order not to
be overridden by values provided on a command line. Same problem applies
to LDFLAGS.

Fixes:
$ make CFLAGS="" LDFLAGS=""
make[1]: Entering directory '/root/selinux/libsepol/utils'
cc     chkcon.c  -lsepol -o chkcon
chkcon.c:1:25: fatal error: sepol/sepol.h: No such file or directory
 #include <sepol/sepol.h>

$ make CFLAGS="" LDFLAGS=""
...
make -C utils
make[1]: Entering directory '/root/selinux/libsepol/utils'
cc  -I../include    chkcon.c  -lsepol -o chkcon
/usr/bin/ld: cannot find -lsepol
collect2: error: ld returned 1 exit status

Signed-off-by: Petr Lautrbach <plautrba@redhat.com>
2017-05-05 15:48:22 -04:00
checkpolicy Makefiles: drop -L/-I to system paths 2017-04-25 08:27:05 -04:00
dbus dbus: Use text streams in selinux_server.py 2017-05-05 11:52:19 -04:00
gui sepolicy: Adapt to new the semodule list output 2017-05-05 11:52:19 -04:00
libselinux libselinux/utils: add noreturn attribute to selinux_check_access's usage 2017-05-05 13:07:04 -04:00
libsemanage Makefiles: drop -L/-I to system paths 2017-04-25 08:27:05 -04:00
libsepol libsepol/utils: Fix build without system sepol.h 2017-05-05 15:48:22 -04:00
mcstrans Makefiles: drop -L/-I to system paths 2017-04-25 08:27:05 -04:00
policycoreutils policycoreutils: fixfiles: deprecate -l option 2017-05-05 13:27:18 -04:00
python sepolicy/gui: Update text strings to use better gettext templates 2017-05-05 11:52:19 -04:00
restorecond restorecond: get pcre cflags/libs from pkg-config 2017-04-25 08:27:44 -04:00
sandbox Makefiles: drop -L/-I to system paths 2017-04-25 08:27:05 -04:00
scripts Fix release script 2016-11-16 11:19:51 -05:00
secilc Makefiles: drop -L/-I to system paths 2017-04-25 08:27:05 -04:00
semodule-utils Makefiles: drop -L/-I to system paths 2017-04-25 08:27:05 -04:00
.gitignore restorecond: Add gitignore 2016-11-16 11:20:05 -05:00
.travis.yml libsemanage/tests: include libsepol headers from $DESTDIR 2017-03-01 10:42:34 -05:00
CleanSpec.mk Add empty top level Android.mk / CleanSpec.mk files 2015-04-16 07:54:09 -04:00
Makefile Add includes for DESTDIR only in root Makefile 2017-04-25 08:31:10 -04:00
README libsepol compilation fixes for macOS. 2017-01-20 13:19:57 -05: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 DESTDIR=/usr/local PREFIX=/usr/local install

This requires GNU coreutils (brew install coreutils).