From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH] libselinux: set PREFIX to generate proper .pc file
Date: Sun, 7 Jan 2018 17:34:27 +0100 [thread overview]
Message-ID: <20180107173427.1dc604d7@windsurf> (raw)
In-Reply-To: <20180107162434.GA27635@gmail.com>
Hello,
On Sun, 7 Jan 2018 17:24:34 +0100, Marcus Folkesson wrote:
> > How can this work without passing PREFIX=/usr also at install time ?
> > (Same question for libsemanage and libsepol).
>
> If not PREFIX is passed, it get the value of $(DESTDIR)/usr, which I
> think is correct?
No, in the standard semantic of DESTDIR and PREFIX:
- PREFIX should be /usr, and DESTDIR $(TARGET_DIR) or $(STAGING_DIR)
for target installation
- PREFIX should be $(HOST_DIR) for host installation, DESTDIR is not
used
PREFIX is where the software is going to be executed from. So the
software is going to be executed from /usr for target software, from
$(HOST_DIR) for host software. PREFIX potentially has an effect on the
stuff being built: PREFIX might end up being hardcoded into the
binaries being compiled.
DESTDIR is used to divert the installation. It is only meaningful
during installation. It has no effect on the stuff being built: DESTDIR
is never going to be hardcoded in a binary.
> If PREFIX=/usr at install time, it tries to install on the host
> system.
That's bogus.
> I guess autotools would have done a better job with DESTDIR and PREFIX.
Yes.
> What I can tell, the libselinux.pc is the only target that make use of
> PREFIX during compile time.
>
> But maybe I should set PREFIX explicitly to $(XXXXX_DIR)/usr during
> installation just for clarity?
In the standard (autotools) semantic of PREFIX,
PREFIX=$(TARGET_DIR)/usr is wrong, see above.
> From libselinux/src/Makefile:
> PREFIX ?= $(DESTDIR)/usr
Yes that's just plain wrong.
So, two options:
- We fix libselinux Makefile to have a more standard DESTDIR/PREFIX
usage.
- We keep libselinux Makefile as-is, but we had some comments in
libselinux.mk that explain the weird PREFIX/DESTDIR usage.
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
next prev parent reply other threads:[~2018-01-07 16:34 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-06 14:52 [Buildroot] [PATCH] libselinux: set PREFIX to generate proper .pc file Marcus Folkesson
2018-01-07 4:34 ` Matthew Weber
2018-01-07 14:16 ` Thomas Petazzoni
2018-01-07 16:24 ` Marcus Folkesson
2018-01-07 16:34 ` Thomas Petazzoni [this message]
2018-01-07 16:51 ` Marcus Folkesson
2018-01-07 19:40 ` Thomas Petazzoni
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=20180107173427.1dc604d7@windsurf \
--to=thomas.petazzoni@free-electrons.com \
--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