From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1/3] package/bash: use --bindir instead of exec_prefix=
Date: Fri, 23 Apr 2021 22:23:53 +0200 [thread overview]
Message-ID: <20210423202356.37681-1-thomas.petazzoni@bootlin.com> (raw)
We want bash to be installed as /bin/bash. For ages, Buildroot has
been doing this by overriding exec_prefix at install time. First of
all, it would be preferred to do this at configure time. But also,
overriding exec_prefix not only changes where "bash" goes, but also
where the pkgconfig file goes. Due to this, bash.pc goes into
/lib/pkgconfig/, and doesn't get removed by target-finalize.
Since all we want is to have 'bash' as /bin/bash, simply pass
--bindir=/bin at configure time. This allows to use the default target
installation logic for autotools-package. We keep a post-install
target hook to remove /bin/bashbug.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Nicolas Cavallari <nicolas.cavallari@green-communications.fr>
---
package/bash/bash.mk | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/package/bash/bash.mk b/package/bash/bash.mk
index efe7cbbe59..996c6a6097 100644
--- a/package/bash/bash.mk
+++ b/package/bash/bash.mk
@@ -7,11 +7,16 @@
BASH_VERSION = 5.1
BASH_SITE = $(BR2_GNU_MIRROR)/bash
BASH_DEPENDENCIES = ncurses readline host-bison
-BASH_CONF_OPTS = --with-installed-readline --without-bash-malloc
BASH_LICENSE = GPL-3.0+
BASH_LICENSE_FILES = COPYING
BASH_CPE_ID_VENDOR = gnu
+# We want the bash binary in /bin
+BASH_CONF_OPTS = \
+ --bindir=/bin \
+ --with-installed-readline \
+ --without-bash-malloc
+
BASH_CONF_ENV += \
ac_cv_rl_prefix="$(STAGING_DIR)" \
ac_cv_rl_version="$(READLINE_VERSION)" \
@@ -38,11 +43,10 @@ BASH_CONF_ENV += bash_cv_getenv_redef=yes
endif
endif
-define BASH_INSTALL_TARGET_CMDS
- $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
- DESTDIR=$(TARGET_DIR) exec_prefix=/ install
+define BASH_REMOVE_UNUSED_FILES
rm -f $(TARGET_DIR)/bin/bashbug
endef
+BASH_POST_INSTALL_TARGET_HOOKS += BASH_REMOVE_UNUSED_FILES
# Add /bin/bash to /etc/shells otherwise some login tools like dropbear
# can reject the user connection. See man shells.
--
2.30.2
next reply other threads:[~2021-04-23 20:23 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-23 20:23 Thomas Petazzoni [this message]
2021-04-23 20:23 ` [Buildroot] [PATCH 2/3] package/bash: add option to keep or remove loadable examples Thomas Petazzoni
2021-04-24 7:47 ` Yann E. MORIN
2021-04-24 9:25 ` Thomas Petazzoni
2021-04-23 20:23 ` [Buildroot] [PATCH 3/3] package/bash: drop SHOBJ_STATUS from BASH_CONF_ENV Thomas Petazzoni
2021-04-24 7:46 ` Yann E. MORIN
2021-04-26 19:08 ` Peter Korsgaard
2021-04-24 7:46 ` [Buildroot] [PATCH 1/3] package/bash: use --bindir instead of exec_prefix= Yann E. MORIN
2021-04-26 19:02 ` Peter Korsgaard
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=20210423202356.37681-1-thomas.petazzoni@bootlin.com \
--to=thomas.petazzoni@bootlin.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.