diff options
Diffstat (limited to 'package/libselinux/0003-libselinux-build-follow-standard-semantics-for-DESTD.patch')
-rw-r--r-- | package/libselinux/0003-libselinux-build-follow-standard-semantics-for-DESTD.patch | 137 |
1 files changed, 137 insertions, 0 deletions
diff --git a/package/libselinux/0003-libselinux-build-follow-standard-semantics-for-DESTD.patch b/package/libselinux/0003-libselinux-build-follow-standard-semantics-for-DESTD.patch new file mode 100644 index 0000000000..089eef414e --- /dev/null +++ b/package/libselinux/0003-libselinux-build-follow-standard-semantics-for-DESTD.patch @@ -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) + |