From 4a05e95f196604495642978993bbc90766ec42f6 Mon Sep 17 00:00:00 2001 From: Karl MacMillan Date: Fri, 20 Jan 2017 12:15:59 -0500 Subject: [PATCH] libsepol compilation fixes for macOS. ln on macOS doesn't support --relative, so use the gnu version by default. Also document how to build on macOS. Signed-off-by: Karl MacMillan --- README | 5 +++++ libsepol/src/Makefile | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/README b/README index e6f72764..7fc7b17b 100644 --- a/README +++ b/README @@ -17,3 +17,8 @@ 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). diff --git a/libsepol/src/Makefile b/libsepol/src/Makefile index 497cd567..819d261b 100644 --- a/libsepol/src/Makefile +++ b/libsepol/src/Makefile @@ -32,10 +32,12 @@ endif LD_SONAME_FLAGS=-soname,$(LIBSO),--version-script=$(LIBMAP),-z,defs +LN=ln OS := $(shell uname) ifeq ($(OS), Darwin) LD_SONAME_FLAGS=-install_name,$(LIBSO) LDFLAGS += -undefined dynamic_lookup +LN=gln endif all: $(LIBA) $(LIBSO) $(LIBPC) @@ -84,7 +86,7 @@ install: all install -m 755 $(LIBSO) $(SHLIBDIR) test -d $(LIBDIR)/pkgconfig || install -m 755 -d $(LIBDIR)/pkgconfig install -m 644 $(LIBPC) $(LIBDIR)/pkgconfig - ln -sf --relative $(SHLIBDIR)/$(LIBSO) $(LIBDIR)/$(TARGET) + $(LN) -sf --relative $(SHLIBDIR)/$(LIBSO) $(LIBDIR)/$(TARGET) relabel: /sbin/restorecon $(SHLIBDIR)/$(LIBSO)