|
@@ -0,0 +1,137 @@
|
|
|
+libselinux: build: follow standard semantics for DESTDIR and PREFIX
|
|
|
+
|
|
|
+This patch solves the following issues:
|
|
|
+- The pkg-config files generates odd paths when using DESTDIR without PREFIX
|
|
|
+- DESTDIR is needed during compile time to compute library and header paths which it should not.
|
|
|
+- Installing with both DESTDIR and PREFIX set gives us odd paths
|
|
|
+- Make usage of DESTDIR and PREFIX more standard
|
|
|
+
|
|
|
+Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
|
|
|
+
|
|
|
+diff -durN libselinux.orig/include/Makefile libselinux/include/Makefile
|
|
|
+--- libselinux.orig/include/Makefile 2018-01-12 12:42:30.898709792 +0100
|
|
|
++++ libselinux/include/Makefile 2018-01-12 10:02:57.745478435 +0100
|
|
|
+@@ -1,6 +1,6 @@
|
|
|
+ # Installation directories.
|
|
|
+-PREFIX ?= $(DESTDIR)/usr
|
|
|
+-INCDIR ?= $(PREFIX)/include/selinux
|
|
|
++PREFIX ?= /usr
|
|
|
++INCDIR = $(DESTDIR)$(PREFIX)/include/selinux
|
|
|
+
|
|
|
+ all:
|
|
|
+
|
|
|
+diff -durN libselinux.orig/man/Makefile libselinux/man/Makefile
|
|
|
+--- libselinux.orig/man/Makefile 2018-01-12 12:42:30.898709792 +0100
|
|
|
++++ libselinux/man/Makefile 2018-01-12 10:02:57.745478435 +0100
|
|
|
+@@ -1,7 +1,8 @@
|
|
|
+ # Installation directories.
|
|
|
+-MAN8DIR ?= $(DESTDIR)/usr/share/man/man8
|
|
|
+-MAN5DIR ?= $(DESTDIR)/usr/share/man/man5
|
|
|
+-MAN3DIR ?= $(DESTDIR)/usr/share/man/man3
|
|
|
++PREFIX ?= /usr
|
|
|
++MAN8DIR ?= $(DESTDIR)$(PREFIX)/share/man/man8
|
|
|
++MAN5DIR ?= $(DESTDIR)$(PREFIX)/share/man/man5
|
|
|
++MAN3DIR ?= $(DESTDIR)$(PREFIX)/share/man/man3
|
|
|
+
|
|
|
+ all:
|
|
|
+
|
|
|
+diff -durN libselinux.orig/src/libselinux.pc.in libselinux/src/libselinux.pc.in
|
|
|
+--- libselinux.orig/src/libselinux.pc.in 2018-01-12 12:42:30.905376458 +0100
|
|
|
++++ libselinux/src/libselinux.pc.in 2018-01-12 10:02:57.745478435 +0100
|
|
|
+@@ -1,6 +1,6 @@
|
|
|
+ prefix=@prefix@
|
|
|
+ exec_prefix=${prefix}
|
|
|
+-libdir=${exec_prefix}/@libdir@
|
|
|
++libdir=@libdir@
|
|
|
+ includedir=@includedir@
|
|
|
+
|
|
|
+ Name: libselinux
|
|
|
+diff -durN libselinux.orig/src/Makefile libselinux/src/Makefile
|
|
|
+--- libselinux.orig/src/Makefile 2018-01-12 12:42:30.902043126 +0100
|
|
|
++++ libselinux/src/Makefile 2018-01-12 10:02:57.745478435 +0100
|
|
|
+@@ -8,10 +8,10 @@
|
|
|
+ PKG_CONFIG ?= pkg-config
|
|
|
+
|
|
|
+ # Installation directories.
|
|
|
+-PREFIX ?= $(DESTDIR)/usr
|
|
|
++PREFIX ?= /usr
|
|
|
+ LIBDIR ?= $(PREFIX)/lib
|
|
|
+-SHLIBDIR ?= $(DESTDIR)/lib
|
|
|
+ INCLUDEDIR ?= $(PREFIX)/include
|
|
|
++LIBINSTALL = $(DESTDIR)$(LIBDIR)
|
|
|
+ PYINC ?= $(shell $(PKG_CONFIG) --cflags $(PYPREFIX))
|
|
|
+ PYLIBS ?= $(shell $(PKG_CONFIG) --libs $(PYPREFIX))
|
|
|
+ PYSITEDIR ?= $(DESTDIR)$(shell $(PYTHON) -c 'import site; print(site.getsitepackages()[0])')
|
|
|
+@@ -19,8 +19,6 @@
|
|
|
+ RUBYINC ?= $(shell $(RUBY) -e 'puts "-I" + RbConfig::CONFIG["rubyarchhdrdir"] + " -I" + RbConfig::CONFIG["rubyhdrdir"]')
|
|
|
+ RUBYLIBS ?= $(shell $(RUBY) -e 'puts "-L" + RbConfig::CONFIG["libdir"] + " -L" + RbConfig::CONFIG["archlibdir"] + " " + RbConfig::CONFIG["LIBRUBYARG_SHARED"]')
|
|
|
+ RUBYINSTALL ?= $(DESTDIR)$(shell $(RUBY) -e 'puts RbConfig::CONFIG["vendorarchdir"]')
|
|
|
+-LIBBASE ?= $(shell basename $(LIBDIR))
|
|
|
+-LIBSEPOLA ?= $(LIBDIR)/libsepol.a
|
|
|
+
|
|
|
+ VERSION = $(shell cat ../VERSION)
|
|
|
+ LIBVERSION = 1
|
|
|
+@@ -148,7 +146,7 @@
|
|
|
+ ln -sf $@ $(TARGET)
|
|
|
+
|
|
|
+ $(LIBPC): $(LIBPC).in ../VERSION
|
|
|
+- sed -e 's/@VERSION@/$(VERSION)/; s:@prefix@:$(PREFIX):; s:@libdir@:$(LIBBASE):; s:@includedir@:$(INCLUDEDIR):' < $< > $@
|
|
|
++ sed -e 's/@VERSION@/$(VERSION)/; s:@prefix@:$(PREFIX):; s:@libdir@:$(LIBDIR):; s:@includedir@:$(INCLUDEDIR):' < $< > $@
|
|
|
+
|
|
|
+ selinuxswig_python_exception.i: ../include/selinux/selinux.h
|
|
|
+ bash -e exception.sh > $@ || (rm -f $@ ; false)
|
|
|
+@@ -156,8 +154,8 @@
|
|
|
+ $(AUDIT2WHYLOBJ): audit2why.c
|
|
|
+ $(CC) $(filter-out -Werror, $(CFLAGS)) $(PYINC) -fPIC -DSHARED -c -o $@ $<
|
|
|
+
|
|
|
+-$(AUDIT2WHYSO): $(AUDIT2WHYLOBJ) $(LIBSEPOLA)
|
|
|
+- $(CC) $(CFLAGS) $(LDFLAGS) -L. -shared -o $@ $^ -lselinux $(PYLIBS)
|
|
|
++$(AUDIT2WHYSO): $(AUDIT2WHYLOBJ)
|
|
|
++ $(CC) $(CFLAGS) $(LDFLAGS) -L. -shared -o $@ $^ -lselinux $(PYLIBS) -l:libsepol.a
|
|
|
+
|
|
|
+ %.o: %.c policy.h
|
|
|
+ $(CC) $(CFLAGS) $(TLSFLAGS) -c -o $@ $<
|
|
|
+@@ -177,13 +175,13 @@
|
|
|
+ $(SWIG) $<
|
|
|
+
|
|
|
+ install: all
|
|
|
+- test -d $(LIBDIR) || install -m 755 -d $(LIBDIR)
|
|
|
+- install -m 644 $(LIBA) $(LIBDIR)
|
|
|
+- test -d $(SHLIBDIR) || install -m 755 -d $(SHLIBDIR)
|
|
|
+- 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)
|
|
|
++ test -d $(LIBINSTALL) || install -m 755 -d $(LIBINSTALL)
|
|
|
++ install -m 644 $(LIBA) $(LIBINSTALL)
|
|
|
++ test -d $(LIBINSTALL) || install -m 755 -d $(LIBINSTALL)
|
|
|
++ install -m 755 $(LIBSO) $(LIBINSTALL)
|
|
|
++ test -d $(LIBINSTALL)/pkgconfig || install -m 755 -d $(LIBINSTALL)/pkgconfig
|
|
|
++ install -m 644 $(LIBPC) $(LIBINSTALL)/pkgconfig
|
|
|
++ ln -sf --relative $(LIBINSTALL)/$(LIBSO) $(LIBINSTALL)/$(TARGET)
|
|
|
+
|
|
|
+ install-pywrap: pywrap
|
|
|
+ test -d $(PYSITEDIR)/selinux || install -m 755 -d $(PYSITEDIR)/selinux
|
|
|
+@@ -196,7 +194,7 @@
|
|
|
+ install -m 755 $(SWIGRUBYSO) $(RUBYINSTALL)/selinux.so
|
|
|
+
|
|
|
+ relabel:
|
|
|
+- /sbin/restorecon $(SHLIBDIR)/$(LIBSO)
|
|
|
++ /sbin/restorecon $(LIBINSTALL)/$(LIBSO)
|
|
|
+
|
|
|
+ clean-pywrap:
|
|
|
+ -rm -f $(SWIGLOBJ) $(SWIGSO) $(AUDIT2WHYLOBJ) $(AUDIT2WHYSO)
|
|
|
+diff -durN libselinux.orig/utils/Makefile libselinux/utils/Makefile
|
|
|
+--- libselinux.orig/utils/Makefile 2018-01-12 12:42:30.905376458 +0100
|
|
|
++++ libselinux/utils/Makefile 2018-01-12 10:02:57.745478435 +0100
|
|
|
+@@ -1,8 +1,6 @@
|
|
|
+ # Installation directories.
|
|
|
+-PREFIX ?= $(DESTDIR)/usr
|
|
|
+-LIBDIR ?= $(PREFIX)/lib
|
|
|
+-SBINDIR ?= $(PREFIX)/sbin
|
|
|
+-INCLUDEDIR ?= $(PREFIX)/include
|
|
|
++PREFIX ?= /usr
|
|
|
++SBINDIR ?= $(DESTDIR)$(PREFIX)/sbin
|
|
|
+
|
|
|
+ OS ?= $(shell uname)
|
|
|
+
|