0003-libselinux-build-follow-standard-semantics-for-DESTD.patch 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. libselinux: build: follow standard semantics for DESTDIR and PREFIX
  2. This patch solves the following issues:
  3. - The pkg-config files generates odd paths when using DESTDIR without PREFIX
  4. - DESTDIR is needed during compile time to compute library and header paths which it should not.
  5. - Installing with both DESTDIR and PREFIX set gives us odd paths
  6. - Make usage of DESTDIR and PREFIX more standard
  7. Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
  8. diff -durN libselinux.orig/include/Makefile libselinux/include/Makefile
  9. --- libselinux.orig/include/Makefile 2018-01-12 12:42:30.898709792 +0100
  10. +++ libselinux/include/Makefile 2018-01-12 10:02:57.745478435 +0100
  11. @@ -1,6 +1,6 @@
  12. # Installation directories.
  13. -PREFIX ?= $(DESTDIR)/usr
  14. -INCDIR ?= $(PREFIX)/include/selinux
  15. +PREFIX ?= /usr
  16. +INCDIR = $(DESTDIR)$(PREFIX)/include/selinux
  17. all:
  18. diff -durN libselinux.orig/man/Makefile libselinux/man/Makefile
  19. --- libselinux.orig/man/Makefile 2018-01-12 12:42:30.898709792 +0100
  20. +++ libselinux/man/Makefile 2018-01-12 10:02:57.745478435 +0100
  21. @@ -1,7 +1,8 @@
  22. # Installation directories.
  23. -MAN8DIR ?= $(DESTDIR)/usr/share/man/man8
  24. -MAN5DIR ?= $(DESTDIR)/usr/share/man/man5
  25. -MAN3DIR ?= $(DESTDIR)/usr/share/man/man3
  26. +PREFIX ?= /usr
  27. +MAN8DIR ?= $(DESTDIR)$(PREFIX)/share/man/man8
  28. +MAN5DIR ?= $(DESTDIR)$(PREFIX)/share/man/man5
  29. +MAN3DIR ?= $(DESTDIR)$(PREFIX)/share/man/man3
  30. all:
  31. diff -durN libselinux.orig/src/libselinux.pc.in libselinux/src/libselinux.pc.in
  32. --- libselinux.orig/src/libselinux.pc.in 2018-01-12 12:42:30.905376458 +0100
  33. +++ libselinux/src/libselinux.pc.in 2018-01-12 10:02:57.745478435 +0100
  34. @@ -1,6 +1,6 @@
  35. prefix=@prefix@
  36. exec_prefix=${prefix}
  37. -libdir=${exec_prefix}/@libdir@
  38. +libdir=@libdir@
  39. includedir=@includedir@
  40. Name: libselinux
  41. diff -durN libselinux.orig/src/Makefile libselinux/src/Makefile
  42. --- libselinux.orig/src/Makefile 2018-01-12 12:42:30.902043126 +0100
  43. +++ libselinux/src/Makefile 2018-01-12 10:02:57.745478435 +0100
  44. @@ -8,10 +8,10 @@
  45. PKG_CONFIG ?= pkg-config
  46. # Installation directories.
  47. -PREFIX ?= $(DESTDIR)/usr
  48. +PREFIX ?= /usr
  49. LIBDIR ?= $(PREFIX)/lib
  50. -SHLIBDIR ?= $(DESTDIR)/lib
  51. INCLUDEDIR ?= $(PREFIX)/include
  52. +LIBINSTALL = $(DESTDIR)$(LIBDIR)
  53. PYINC ?= $(shell $(PKG_CONFIG) --cflags $(PYPREFIX))
  54. PYLIBS ?= $(shell $(PKG_CONFIG) --libs $(PYPREFIX))
  55. PYSITEDIR ?= $(DESTDIR)$(shell $(PYTHON) -c 'import site; print(site.getsitepackages()[0])')
  56. @@ -19,8 +19,6 @@
  57. RUBYINC ?= $(shell $(RUBY) -e 'puts "-I" + RbConfig::CONFIG["rubyarchhdrdir"] + " -I" + RbConfig::CONFIG["rubyhdrdir"]')
  58. RUBYLIBS ?= $(shell $(RUBY) -e 'puts "-L" + RbConfig::CONFIG["libdir"] + " -L" + RbConfig::CONFIG["archlibdir"] + " " + RbConfig::CONFIG["LIBRUBYARG_SHARED"]')
  59. RUBYINSTALL ?= $(DESTDIR)$(shell $(RUBY) -e 'puts RbConfig::CONFIG["vendorarchdir"]')
  60. -LIBBASE ?= $(shell basename $(LIBDIR))
  61. -LIBSEPOLA ?= $(LIBDIR)/libsepol.a
  62. VERSION = $(shell cat ../VERSION)
  63. LIBVERSION = 1
  64. @@ -148,7 +146,7 @@
  65. ln -sf $@ $(TARGET)
  66. $(LIBPC): $(LIBPC).in ../VERSION
  67. - sed -e 's/@VERSION@/$(VERSION)/; s:@prefix@:$(PREFIX):; s:@libdir@:$(LIBBASE):; s:@includedir@:$(INCLUDEDIR):' < $< > $@
  68. + sed -e 's/@VERSION@/$(VERSION)/; s:@prefix@:$(PREFIX):; s:@libdir@:$(LIBDIR):; s:@includedir@:$(INCLUDEDIR):' < $< > $@
  69. selinuxswig_python_exception.i: ../include/selinux/selinux.h
  70. bash -e exception.sh > $@ || (rm -f $@ ; false)
  71. @@ -156,8 +154,8 @@
  72. $(AUDIT2WHYLOBJ): audit2why.c
  73. $(CC) $(filter-out -Werror, $(CFLAGS)) $(PYINC) -fPIC -DSHARED -c -o $@ $<
  74. -$(AUDIT2WHYSO): $(AUDIT2WHYLOBJ) $(LIBSEPOLA)
  75. - $(CC) $(CFLAGS) $(LDFLAGS) -L. -shared -o $@ $^ -lselinux $(PYLIBS)
  76. +$(AUDIT2WHYSO): $(AUDIT2WHYLOBJ)
  77. + $(CC) $(CFLAGS) $(LDFLAGS) -L. -shared -o $@ $^ -lselinux $(PYLIBS) -l:libsepol.a
  78. %.o: %.c policy.h
  79. $(CC) $(CFLAGS) $(TLSFLAGS) -c -o $@ $<
  80. @@ -177,13 +175,13 @@
  81. $(SWIG) $<
  82. install: all
  83. - test -d $(LIBDIR) || install -m 755 -d $(LIBDIR)
  84. - install -m 644 $(LIBA) $(LIBDIR)
  85. - test -d $(SHLIBDIR) || install -m 755 -d $(SHLIBDIR)
  86. - install -m 755 $(LIBSO) $(SHLIBDIR)
  87. - test -d $(LIBDIR)/pkgconfig || install -m 755 -d $(LIBDIR)/pkgconfig
  88. - install -m 644 $(LIBPC) $(LIBDIR)/pkgconfig
  89. - ln -sf --relative $(SHLIBDIR)/$(LIBSO) $(LIBDIR)/$(TARGET)
  90. + test -d $(LIBINSTALL) || install -m 755 -d $(LIBINSTALL)
  91. + install -m 644 $(LIBA) $(LIBINSTALL)
  92. + test -d $(LIBINSTALL) || install -m 755 -d $(LIBINSTALL)
  93. + install -m 755 $(LIBSO) $(LIBINSTALL)
  94. + test -d $(LIBINSTALL)/pkgconfig || install -m 755 -d $(LIBINSTALL)/pkgconfig
  95. + install -m 644 $(LIBPC) $(LIBINSTALL)/pkgconfig
  96. + ln -sf --relative $(LIBINSTALL)/$(LIBSO) $(LIBINSTALL)/$(TARGET)
  97. install-pywrap: pywrap
  98. test -d $(PYSITEDIR)/selinux || install -m 755 -d $(PYSITEDIR)/selinux
  99. @@ -196,7 +194,7 @@
  100. install -m 755 $(SWIGRUBYSO) $(RUBYINSTALL)/selinux.so
  101. relabel:
  102. - /sbin/restorecon $(SHLIBDIR)/$(LIBSO)
  103. + /sbin/restorecon $(LIBINSTALL)/$(LIBSO)
  104. clean-pywrap:
  105. -rm -f $(SWIGLOBJ) $(SWIGSO) $(AUDIT2WHYLOBJ) $(AUDIT2WHYSO)
  106. diff -durN libselinux.orig/utils/Makefile libselinux/utils/Makefile
  107. --- libselinux.orig/utils/Makefile 2018-01-12 12:42:30.905376458 +0100
  108. +++ libselinux/utils/Makefile 2018-01-12 10:02:57.745478435 +0100
  109. @@ -1,8 +1,6 @@
  110. # Installation directories.
  111. -PREFIX ?= $(DESTDIR)/usr
  112. -LIBDIR ?= $(PREFIX)/lib
  113. -SBINDIR ?= $(PREFIX)/sbin
  114. -INCLUDEDIR ?= $(PREFIX)/include
  115. +PREFIX ?= /usr
  116. +SBINDIR ?= $(DESTDIR)$(PREFIX)/sbin
  117. OS ?= $(shell uname)