mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Clemens Gruber <clemens.gruber@pqgruber.com>
To: ptxdist@pengutronix.de
Cc: Michael Olbrich <m.olbrich@pengutronix.de>,
	Clemens Gruber <clemens.gruber@pqgruber.com>
Subject: [ptxdist] [PATCH v2] glibc: install ldconfig and create ld.so.cache
Date: Thu,  8 Sep 2016 16:32:48 +0200	[thread overview]
Message-ID: <20160908143248.4285-1-clemens.gruber@pqgruber.com> (raw)

Add an option to install the ldconfig binary from the toolchain and
another one to enable the generation of /etc/ld.so.cache at first boot
with a rc-once.d script.
Use only the new format, which is supported since glibc 2.2 from the
year 2000.

Signed-off-by: Clemens Gruber <clemens.gruber@pqgruber.com>
---

Changes from v1:
- Added ld.so.conf and include .conf files from ld.so.conf.d directory

 projectroot/etc/ld.so.conf         |  1 +
 projectroot/etc/ld.so.conf.d/.keep |  0
 projectroot/etc/rc.once.d/ldconfig |  6 ++++++
 rules/glibc.in                     | 17 +++++++++++++++++
 rules/glibc.make                   | 14 ++++++++++++++
 5 files changed, 38 insertions(+)
 create mode 100644 projectroot/etc/ld.so.conf
 create mode 100644 projectroot/etc/ld.so.conf.d/.keep
 create mode 100644 projectroot/etc/rc.once.d/ldconfig

diff --git a/projectroot/etc/ld.so.conf b/projectroot/etc/ld.so.conf
new file mode 100644
index 0000000..83327c0
--- /dev/null
+++ b/projectroot/etc/ld.so.conf
@@ -0,0 +1 @@
+include /etc/ld.so.conf.d/*.conf
diff --git a/projectroot/etc/ld.so.conf.d/.keep b/projectroot/etc/ld.so.conf.d/.keep
new file mode 100644
index 0000000..e69de29
diff --git a/projectroot/etc/rc.once.d/ldconfig b/projectroot/etc/rc.once.d/ldconfig
new file mode 100644
index 0000000..d5461a7
--- /dev/null
+++ b/projectroot/etc/rc.once.d/ldconfig
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+
+echo "Creating dynamic linker cache..."
+ldconfig --format=new -X
diff --git a/rules/glibc.in b/rules/glibc.in
index 2f2fb09..662f0aa 100644
--- a/rules/glibc.in
+++ b/rules/glibc.in
@@ -172,6 +172,23 @@ config GLIBC_NSL
 	  nis(+)
 
 
+config GLIBC_LDCONFIG
+	bool
+	prompt "Install ldconfig"
+	help
+	  ldconfig creates a shared library cache, which reduces the number
+	  of library locations, the loader needs to check, significantly and
+	  therefore improves launch times for programs.
+
+config GLIBC_LDCONFIG_RC_ONCE
+	bool
+	prompt "Create /etc/ld.so.cache"
+	depends on GLIBC_LDCONFIG
+	help
+	  The ld.so.cache is generated once at first boot. If you update your
+	  libraries later on at runtime, you have to make sure to update the
+	  cache as well. See /etc/rc.once.d/ldconfig
+
 config GLIBC_I18N_BIN_LOCALE
 	bool
 	prompt "Install locale"
diff --git a/rules/glibc.make b/rules/glibc.make
index ab2c4b6..82a8715 100644
--- a/rules/glibc.make
+++ b/rules/glibc.make
@@ -4,6 +4,7 @@
 #               2003      by Auerswald GmbH & Co. KG, Schandelah, Germany
 #               2005-2009 by Marc Kleine-Budde <mkl@pengutronix.de>, Pengutronix e.K., Hildesheim, Germany
 #           (C) 2010 by Michael Olbrich <m.olbrich@pengutronix.de>
+#           (C) 2016 by Clemens Gruber <clemens.gruber@pqgruber.com>
 #
 # See CREDITS for details about who has contributed to this project.
 #
@@ -124,6 +125,19 @@ ifdef PTXCONF_GLIBC_GCONV_ZH
 	@$(call install_copy_toolchain_lib, glibc, gconv/GB18030.so)
 endif
 
+ifdef PTXCONF_GLIBC_LDCONFIG
+	@$(call install_copy, glibc, 0, 0, 0755, \
+	    $(PTXDIST_SYSROOT_TOOLCHAIN)/sbin/ldconfig, /sbin/ldconfig)
+	@$(call install_alternative, glibc, 0, 0, 0644, /etc/ld.so.conf)
+	@$(call install_copy, glibc, 0, 0, 0755, /etc/ld.so.conf.d)
+	@$(call install_alternative_tree, glibc, 0, 0, /etc/ld.so.conf.d)
+endif
+
+ifdef PTXCONF_GLIBC_LDCONFIG_RC_ONCE
+	@$(call install_alternative, glibc, 0, 0, 0755, \
+	    /etc/rc.once.d/ldconfig)
+endif
+
 ifdef PTXCONF_GLIBC_I18N_BIN_LOCALE
 	@$(call install_copy_toolchain_usr, glibc, bin/locale)
 endif
-- 
2.9.3


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

                 reply	other threads:[~2016-09-08 14:32 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=20160908143248.4285-1-clemens.gruber@pqgruber.com \
    --to=clemens.gruber@pqgruber.com \
    --cc=m.olbrich@pengutronix.de \
    --cc=ptxdist@pengutronix.de \
    /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