From: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 2/8] libsepol: rework host installation
Date: Mon, 3 Jul 2017 14:44:56 +0200 [thread overview]
Message-ID: <20170703124502.26113-3-arnout@mind.be> (raw)
In-Reply-To: <20170703124502.26113-1-arnout@mind.be>
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>
---
It's a bit counter-intuitive to have a patch that adds /usr in a series
that is meant to remove it, but this is the simplest way to have a
bisectable series...
---
package/libsepol/libsepol.mk | 13 ++++++++-----
1 file 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))
--
2.13.2
next prev parent reply other threads:[~2017-07-03 12:44 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-03 12:44 [Buildroot] [PATCH 0/8] Remove /usr component from HOST_DIR Arnout Vandecappelle
2017-07-03 12:44 ` [Buildroot] [PATCH 1/8] pkg-rebar: remove redundant / in front of $($(PKG)_ERLANG_LIBDIR) Arnout Vandecappelle
2017-07-04 6:38 ` Thomas Petazzoni
2017-07-03 12:44 ` Arnout Vandecappelle [this message]
2017-07-04 6:45 ` [Buildroot] [PATCH 2/8] libsepol: rework host installation Thomas Petazzoni
2017-07-03 12:44 ` [Buildroot] [PATCH 3/8] Move $(HOST_DIR)/usr/$(GNU_TARGET_NAME) one level up Arnout Vandecappelle
2017-07-03 12:44 ` [Buildroot] [PATCH 4/8] Move $(HOST_DIR)/usr/lib to $(HOST_DIR)/lib Arnout Vandecappelle
2017-07-03 12:44 ` [Buildroot] [PATCH 5/8] Eliminate $(HOST_DIR)/usr Arnout Vandecappelle
2017-07-03 12:45 ` [Buildroot] [PATCH 6/8] check-host-rpath: no longer check $(HOST_DIR)/usr/{bin, sbin} Arnout Vandecappelle
2017-07-03 12:45 ` [Buildroot] [PATCH 7/8] Makefile: remove $(HOST_DIR)/usr from BR_PATH Arnout Vandecappelle
2017-07-03 12:45 ` [Buildroot] [PATCH 8/8] package/Makefile.in: remove $(HOST_DIR)/usr part from HOST_LDFLAGS Arnout Vandecappelle
2017-07-03 19:01 ` [Buildroot] [PATCH 0/8] Remove /usr component from HOST_DIR Samuel Martin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170703124502.26113-3-arnout@mind.be \
--to=arnout@mind.be \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox