diff options
| author | Arnout Vandecappelle <arnout@mind.be> | 2017-07-03 14:44:56 +0200 |
|---|---|---|
| committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2017-07-04 08:45:17 +0200 |
| commit | 12a9fb947c7b642b418c2615530207883a246ac3 (patch) | |
| tree | d3a225d2e2578ac818ff04b1b78ebca1837d9989 /package/libsepol | |
| parent | 417ade5f2bbd6941d717d40af309f638abc108d5 (diff) | |
| download | buildroot-12a9fb947c7b642b418c2615530207883a246ac3.tar.gz buildroot-12a9fb947c7b642b418c2615530207883a246ac3.zip | |
libsepol: rework host installation
libsepol has a pretty peculiar interpretation of DESTDIR and PREFIX.
PREFIX is not consistently used: some installation paths are forced to
$(DESTDIR)/usr/... . Also, the shared lib symlink is forced to ../../lib
(i.e. assumes it's installed under /usr). For these reasons, the host
build and install commands are a bit unusual: they use DESTDIR instead
of PREFIX, DESTDIR points to $(HOST_DIR) without /usr, and some
additional fixup is needed to correct the installation directory of
libsepol.so.1 and the symlink to it.
This can be simplified quite a lot by passing both DESTDIR and PREFIX,
and including the /usr part in both. The symlink still has to be fixed,
but that's much simpler.
Note that a side effect is that the man pages are now installed under
$(HOST_DIR)/usr/usr/man. While not very nice, we don't really care
about man pages. In addition, this will resolve itself when we later
move $(HOST_DIR)/usr to $(HOST_DIR).
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/libsepol')
| -rw-r--r-- | package/libsepol/libsepol.mk | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/package/libsepol/libsepol.mk b/package/libsepol/libsepol.mk index 9bdac1e0da..d360bfbcb1 100644 --- a/package/libsepol/libsepol.mk +++ b/package/libsepol/libsepol.mk @@ -33,15 +33,18 @@ define LIBSEPOL_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install $(LIBSEPOL_MAKE_FLAGS) DESTDIR=$(TARGET_DIR) endef +HOST_LIBSEPOL_MAKE_ENV = \ + $(HOST_MAKE_ENV) \ + DESTDIR=$(HOST_DIR)/usr \ + PREFIX=$(HOST_DIR)/usr + define HOST_LIBSEPOL_BUILD_CMDS - $(HOST_MAKE_ENV) $(MAKE) -C $(@D) $(HOST_CONFIGURE_OPTS) DESTDIR=$(HOST_DIR) + $(HOST_LIBSEPOL_MAKE_ENV) $(MAKE) -C $(@D) $(HOST_CONFIGURE_OPTS) endef define HOST_LIBSEPOL_INSTALL_CMDS - $(HOST_MAKE_ENV) $(MAKE) -C $(@D) install $(HOST_CONFIGURE_OPTS) DESTDIR=$(HOST_DIR) - mv $(HOST_DIR)/lib/libsepol.so.1 $(HOST_DIR)/usr/lib - (cd $(HOST_DIR)/usr/lib; rm -f libsepol.so; ln -s libsepol.so.1 libsepol.so) - -rmdir $(HOST_DIR)/lib + $(HOST_LIBSEPOL_MAKE_ENV) $(MAKE) -C $(@D) install $(HOST_CONFIGURE_OPTS) + ln -sf libsepol.so.1 $(HOST_DIR)/usr/lib/libsepol.so endef $(eval $(generic-package)) |

