mirror of
https://github.com/SELinuxProject/selinux
synced 2025-01-21 21:02:53 +00:00
libsemanage: build: follow standard semantics for DESTDIR and PREFIX
This patch solves the following issues: - 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>
This commit is contained in:
parent
b24980ec07
commit
e15f61e5d2
@ -1,12 +1,12 @@
|
||||
# Installation directories.
|
||||
PREFIX ?= $(DESTDIR)/usr
|
||||
PREFIX ?= /usr
|
||||
INCDIR ?= $(PREFIX)/include/semanage
|
||||
|
||||
all:
|
||||
|
||||
install: all
|
||||
test -d $(INCDIR) || install -m 755 -d $(INCDIR)
|
||||
install -m 644 $(wildcard semanage/*.h) $(INCDIR)
|
||||
test -d $(DESTDIR)$(INCDIR) || install -m 755 -d $(DESTDIR)$(INCDIR)
|
||||
install -m 644 $(wildcard semanage/*.h) $(DESTDIR)$(INCDIR)
|
||||
|
||||
indent:
|
||||
../../scripts/Lindent $(wildcard semanage/*.h)
|
||||
|
@ -1,12 +1,13 @@
|
||||
# Installation directories.
|
||||
MAN3DIR ?= $(DESTDIR)/usr/share/man/man3
|
||||
MAN5DIR ?= $(DESTDIR)/usr/share/man/man5
|
||||
PREFIX ?= /usr
|
||||
MAN3DIR ?= $(PREFIX)/share/man/man3
|
||||
MAN5DIR ?= $(PREFIX)/share/man/man5
|
||||
|
||||
all:
|
||||
|
||||
install: all
|
||||
mkdir -p $(MAN3DIR)
|
||||
mkdir -p $(MAN5DIR)
|
||||
install -m 644 man3/*.3 $(MAN3DIR)
|
||||
install -m 644 man5/*.5 $(MAN5DIR)
|
||||
mkdir -p $(DESTDIR)$(MAN3DIR)
|
||||
mkdir -p $(DESTDIR)$(MAN5DIR)
|
||||
install -m 644 man3/*.3 $(DESTDIR)$(MAN3DIR)
|
||||
install -m 644 man5/*.5 $(DESTDIR)$(MAN5DIR)
|
||||
|
||||
|
@ -8,21 +8,18 @@ RUBYPREFIX ?= $(notdir $(RUBY))
|
||||
PKG_CONFIG ?= pkg-config
|
||||
|
||||
# Installation directories.
|
||||
PREFIX ?= $(DESTDIR)/usr
|
||||
PREFIX ?= /usr
|
||||
LIBDIR ?= $(PREFIX)/lib
|
||||
SHLIBDIR ?= $(DESTDIR)/lib
|
||||
INCLUDEDIR ?= $(PREFIX)/include
|
||||
PYINC ?= $(shell $(PKG_CONFIG) --cflags $(PYPREFIX))
|
||||
PYLIBS ?= $(shell $(PKG_CONFIG) --libs $(PYPREFIX))
|
||||
PYSITEDIR ?= $(DESTDIR)$(shell $(PYTHON) -c 'import site; print(site.getsitepackages()[0])')
|
||||
PYSITEDIR ?= $(shell $(PYTHON) -c 'import site; print(site.getsitepackages()[0])')
|
||||
PYCEXT ?= $(shell $(PYTHON) -c 'import imp;print([s for s,m,t in imp.get_suffixes() if t == imp.C_EXTENSION][0])')
|
||||
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"]')
|
||||
RUBYINSTALL ?= $(shell $(RUBY) -e 'puts RbConfig::CONFIG["vendorarchdir"]')
|
||||
|
||||
LIBBASE=$(shell basename $(LIBDIR))
|
||||
|
||||
DEFAULT_SEMANAGE_CONF_LOCATION=$(DESTDIR)/etc/selinux/semanage.conf
|
||||
DEFAULT_SEMANAGE_CONF_LOCATION=/etc/selinux/semanage.conf
|
||||
|
||||
ifeq ($(DEBUG),1)
|
||||
export CFLAGS = -g3 -O0 -gdwarf-2 -fno-strict-aliasing -Wall -Wshadow -Werror
|
||||
@ -95,7 +92,7 @@ $(LIBSO): $(LOBJS)
|
||||
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):' < $< > $@
|
||||
|
||||
semanageswig_python_exception.i: ../include/semanage/semanage.h
|
||||
bash -e exception.sh > $@ || (rm -f $@ ; false)
|
||||
@ -136,26 +133,26 @@ swigify: $(SWIGIF)
|
||||
$(SWIG) $<
|
||||
|
||||
install: all
|
||||
test -d $(LIBDIR) || install -m 755 -d $(LIBDIR)
|
||||
install -m 644 $(LIBA) $(LIBDIR)
|
||||
install -m 755 $(LIBSO) $(LIBDIR)
|
||||
test -d $(LIBDIR)/pkgconfig || install -m 755 -d $(LIBDIR)/pkgconfig
|
||||
install -m 644 $(LIBPC) $(LIBDIR)/pkgconfig
|
||||
test -f $(DEFAULT_SEMANAGE_CONF_LOCATION) || install -m 644 -D semanage.conf $(DEFAULT_SEMANAGE_CONF_LOCATION)
|
||||
cd $(LIBDIR) && ln -sf $(LIBSO) $(TARGET)
|
||||
test -d $(DESTDIR)$(LIBDIR) || install -m 755 -d $(DESTDIR)$(LIBDIR)
|
||||
install -m 644 $(LIBA) $(DESTDIR)$(LIBDIR)
|
||||
install -m 755 $(LIBSO) $(DESTDIR)$(LIBDIR)
|
||||
test -d $(DESTDIR)$(LIBDIR)/pkgconfig || install -m 755 -d $(DESTDIR)$(LIBDIR)/pkgconfig
|
||||
install -m 644 $(LIBPC) $(DESTDIR)$(LIBDIR)/pkgconfig
|
||||
test -f $(DESTDIR)$(DEFAULT_SEMANAGE_CONF_LOCATION) || install -m 644 -D semanage.conf $(DESTDIR)$(DEFAULT_SEMANAGE_CONF_LOCATION)
|
||||
cd $(DESTDIR)$(LIBDIR) && ln -sf $(LIBSO) $(TARGET)
|
||||
|
||||
install-pywrap: pywrap
|
||||
test -d $(PYSITEDIR) || install -m 755 -d $(PYSITEDIR)
|
||||
install -m 755 $(SWIGSO) $(PYSITEDIR)/_semanage$(PYCEXT)
|
||||
install -m 644 semanage.py $(PYSITEDIR)
|
||||
test -d $(DESTDIR)$(PYSITEDIR) || install -m 755 -d $(DESTDIR)$(PYSITEDIR)
|
||||
install -m 755 $(SWIGSO) $(DESTDIR)$(PYSITEDIR)/_semanage$(PYCEXT)
|
||||
install -m 644 semanage.py $(DESTDIR)$(PYSITEDIR)
|
||||
|
||||
|
||||
install-rubywrap: rubywrap
|
||||
test -d $(RUBYINSTALL) || install -m 755 -d $(RUBYINSTALL)
|
||||
install -m 755 $(SWIGRUBYSO) $(RUBYINSTALL)/semanage.so
|
||||
test -d $(DESTDIR)$(RUBYINSTALL) || install -m 755 -d $(DESTDIR)$(RUBYINSTALL)
|
||||
install -m 755 $(SWIGRUBYSO) $(DESTDIR)$(RUBYINSTALL)/semanage.so
|
||||
|
||||
relabel:
|
||||
/sbin/restorecon $(LIBDIR)/$(LIBSO)
|
||||
/sbin/restorecon $(DESTDIR)$(LIBDIR)/$(LIBSO)
|
||||
|
||||
clean:
|
||||
-rm -f $(LIBPC) $(OBJS) $(LOBJS) $(LIBA) $(LIBSO) $(SWIGLOBJ) $(SWIGSO) $(SWIGRUBYSO) $(TARGET) conf-parse.c conf-parse.h conf-scan.c *.o *.lo *~
|
||||
|
@ -1,6 +1,6 @@
|
||||
prefix=@prefix@
|
||||
exec_prefix=${prefix}
|
||||
libdir=${exec_prefix}/@libdir@
|
||||
libdir=@libdir@
|
||||
includedir=@includedir@
|
||||
|
||||
Name: libsemanage
|
||||
|
@ -1,6 +1,3 @@
|
||||
PREFIX ?= $(DESTDIR)/usr
|
||||
LIBDIR ?= $(PREFIX)/lib
|
||||
|
||||
# Add your test source files here:
|
||||
SOURCES = $(sort $(wildcard *.c))
|
||||
|
||||
|
@ -1,13 +1,13 @@
|
||||
# Installation directories.
|
||||
PREFIX ?= $(DESTDIR)/usr
|
||||
PREFIX ?= /usr
|
||||
LIBEXECDIR ?= $(PREFIX)/libexec
|
||||
SELINUXEXECDIR ?= $(LIBEXECDIR)/selinux/
|
||||
|
||||
all:
|
||||
|
||||
install: all
|
||||
-mkdir -p $(SELINUXEXECDIR)
|
||||
install -m 755 semanage_migrate_store $(SELINUXEXECDIR)
|
||||
-mkdir -p $(DESTDIR)$(SELINUXEXECDIR)
|
||||
install -m 755 semanage_migrate_store $(DESTDIR)$(SELINUXEXECDIR)
|
||||
|
||||
clean:
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user