All of lore.kernel.org
 help / color / mirror / Atom feed
From: Norbert Lange <nolange79@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v2 01/14] package/systemd: configure nss plugins in nsswitch.conf
Date: Mon, 15 Jun 2020 09:20:41 +0200	[thread overview]
Message-ID: <20200615072055.2083-2-nolange79@gmail.com> (raw)
In-Reply-To: <20200615072055.2083-1-nolange79@gmail.com>

This adds configuration of the nsswitch.conf file,
it does so by pathing the template provided by systemd.

The template is fully populated, the services that are
not available are removed.

If the plugin nss-compat is not available, the entries
will be replaced with nss-files.

nss-systemd is used for the DynamicUser features,
which is a defacto necessity for systemd.
It handles transient users/groups without
touching the /etc/{passwd,group} files on disk.

nss-myhostname allows resolving the hostname,
again without touching files in /etc.
Enabling this feature requires configuring the plugin.

nss-resolve is part of resolved, and required for
consistent dns lookups.

nss-mymachines adds name resolution from
containers.

Signed-off-by: Norbert Lange <nolange79@gmail.com>
---
 package/systemd/systemd.mk | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
index e61cec80f0..cf6c0f9576 100644
--- a/package/systemd/systemd.mk
+++ b/package/systemd/systemd.mk
@@ -472,7 +472,23 @@ define SYSTEMD_INSTALL_MACHINEID_HOOK
 	touch $(TARGET_DIR)/etc/machine-id
 endef
 
+define SYSTEMD_NSSCONFIG_HOOK
+	[ -r "$$(find $(TARGET_DIR)/usr/lib -name libnss_compat.so.*)" ] || \
+		sed 's,\bcompat\b,files,g' -i $(TARGET_DIR)/usr/share/factory/etc/nsswitch.conf
+	[ "$(BR2_PACKAGE_SYSTEMD_RESOLVED)" = "y" ] || \
+		sed -e 's,\bresolve[[:space:]][[:space:]]*\[[^]]*\][[:space:]]*,,g' \
+		-e 's,\bresolve\b[[:space:]]*,,g' -i $(TARGET_DIR)/usr/share/factory/etc/nsswitch.conf
+	[ "$(BR2_PACKAGE_SYSTEMD_MYHOSTNAME)" = "y" ] || \
+		sed -e 's,\bmyhostname[[:space:]][[:space:]]*\[[^]]*\][[:space:]]*,,g' \
+		-e 's,\bmyhostname\b[[:space:]]*,,g' -i $(TARGET_DIR)/usr/share/factory/etc/nsswitch.conf
+	[ "$(BR2_PACKAGE_SYSTEMD_MACHINED)" = "y" ] || \
+		sed -e 's,\bmymachines[[:space:]][[:space:]]*\[[^]]*\][[:space:]]*,,g' \
+		-e 's,\bmymachines\b[[:space:]]*,,g' -i $(TARGET_DIR)/usr/share/factory/etc/nsswitch.conf
+	install -m644 $(TARGET_DIR)/usr/share/factory/etc/nsswitch.conf $(TARGET_DIR)/etc/nsswitch.conf
+endef
+
 SYSTEMD_POST_INSTALL_TARGET_HOOKS += \
+	SYSTEMD_NSSCONFIG_HOOK \
 	SYSTEMD_INSTALL_INIT_HOOK \
 	SYSTEMD_INSTALL_MACHINEID_HOOK \
 	SYSTEMD_INSTALL_RESOLVCONF_HOOK
-- 
2.27.0

  reply	other threads:[~2020-06-15  7:20 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-15  7:20 [Buildroot] systemd improvements V2 Norbert Lange
2020-06-15  7:20 ` Norbert Lange [this message]
2020-06-15 11:48   ` [Buildroot] [PATCH v2 01/14] package/systemd: configure nss plugins in nsswitch.conf Yann E. MORIN
2020-06-15 12:14     ` Norbert Lange
2020-06-15 16:54       ` Yann E. MORIN
2020-06-16  6:17         ` Jérémy ROSEN
     [not found]         ` <CADYdroPsOpAcuBAmNe1H=N2of1PAZSBjq4=TyO+6hdFniNorTA@mail.gmail.com>
2020-06-25 22:27           ` [Buildroot] Fwd: " Norbert Lange
2020-06-27 12:14             ` Yann E. MORIN
2020-06-15 12:28     ` [Buildroot] " Norbert Lange
2020-06-17 21:13       ` Yann E. MORIN
2020-06-15  7:20 ` [Buildroot] [PATCH v2 02/14] package/systemd: remove unused user accounts Norbert Lange
2020-06-15  9:42   ` Yann E. MORIN
2020-06-15 10:38     ` Norbert Lange
2020-06-15  7:20 ` [Buildroot] [PATCH v2 03/14] package/systemd: create "remote" user if the feature is enabled Norbert Lange
2020-06-15  9:46   ` Yann E. MORIN
2020-06-15  7:20 ` [Buildroot] [PATCH v2 04/14] package/systemd: cosmetic rearrange list of users Norbert Lange
2020-07-18 11:46   ` Yann E. MORIN
2020-06-15  7:20 ` [Buildroot] [PATCH v2 05/14] package/systemd: sync user comments to upstream Norbert Lange
2020-06-15  9:47   ` Yann E. MORIN
2020-06-15  7:20 ` [Buildroot] [PATCH v2 06/14] Makefile: Handle systemd catalogs in PURGE_LOCALES Norbert Lange
2020-06-15  7:20 ` [Buildroot] [PATCH v2 07/14] package/systemd: fixup RPATH for more systemd host binaries Norbert Lange
2020-06-15  9:53   ` Yann E. MORIN
2020-06-15 10:29     ` Norbert Lange
2020-06-15  7:20 ` [Buildroot] [PATCH v2 08/14] package/systemd: add hook to update journalctl catalogs Norbert Lange
2020-06-15  7:20 ` [Buildroot] [PATCH v2 09/14] package/systemd: option to delete all catalog files Norbert Lange
2020-06-15 14:27   ` Jérémy ROSEN
2020-06-15  7:20 ` [Buildroot] [PATCH v2 10/14] package/systemd: invoke systemd-tmpfilesd on final image Norbert Lange
2020-06-15 14:32   ` Jérémy ROSEN
2020-06-15 14:58     ` Norbert Lange
2020-09-28 18:42       ` Adam Duskett
2020-09-28 19:00         ` Norbert Lange
2020-09-28 20:27           ` Adam Duskett
2020-09-29  8:40             ` Jérémy ROSEN
2020-06-15  7:20 ` [Buildroot] [PATCH v2 11/14] package/systemd: use an upstream patch for tmpfiles Norbert Lange
2020-06-15  7:20 ` [Buildroot] [PATCH v2 12/14] package/systemd: pre-create directory for timesync user Norbert Lange
2020-06-15  7:20 ` [Buildroot] [PATCH v2 13/14] systemd: remove hard dependency on dbus Norbert Lange
2020-06-15  7:20 ` [Buildroot] [PATCH v2 14/14] systemd: remove util-linux dependencies Norbert Lange

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=20200615072055.2083-2-nolange79@gmail.com \
    --to=nolange79@gmail.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.