systemd: use nss-resolve when systemd-resoveld is enable
cover systemd: use nss-resolve when systemd-resoveld is enable
A patch series that enables use of nss-resolve (systemd's NSS service module) if systemd-networkd is enabled via PACKAGECONFIG.
The first patch is a trivial formatting change.
The second patch does the following:
- replace dns with resolve in /etc/nsswitch.conf if systemd-resolved is enabled
- applies a patch fixing the location of libnss_* services provided by systemd (the patch has been submitted upstream for inclusion in v232)
- applies a patch that fixes SERVFAIL handling, this restores the ability to properly resolve names under qemu (backport from v231)
Maciej Borzecki (2):
systemd: fix indentation
systemd: use nss-resolve by default if resolved is enabled
.../0023-nss-install-nss-modules-into-lib.patch | 64 ++++++++++++++++++++++ ...en-processing-auxiliary-DNSSEC-transactio.patch | 49 +++++++++++++++++ meta/recipes-core/systemd/systemd_230.bb | 22 ++++++-- 3 files changed, 131 insertions(+), 4 deletions(-) create mode 100644 meta/recipes-core/systemd/systemd/0023-nss-install-nss-modules-into-lib.patch create mode 100644 meta/recipes-core/systemd/systemd/0024-resolved-when-processing-auxiliary-DNSSEC-transactio.patch
Signature · 1 line
2.5.0
PATCH 1/2 systemd: fix indentation
--- meta/recipes-core/systemd/systemd_230.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
meta/recipes-core/systemd/systemd_230.bb +2 -2
@@ -211,8 +211,8 @@ do_install() { chown root:systemd-journal ${D}/${localstatedir}/log/journal - # Delete journal README, as log can be symlinked inside volatile. - rm -f ${D}/${localstatedir}/log/README + # Delete journal README, as log can be symlinked inside volatile. + rm -f ${D}/${localstatedir}/log/README install -d ${D}${systemd_unitdir}/system/graphical.target.wants install -d ${D}${systemd_unitdir}/system/multi-user.target.wants
Signature · 1 line
2.5.0
PATCH 2/2 systemd: use nss-resolve by default if resolved is enabled
In reply to Maciej BorzeckiAdd nss-resolve to NSS hosts resolution service if systemd-resolved is enabled via PACKAGECONFIG. This enabled routing all DNS requests through systemd-networkd by default.
Apply the following patches:
- 0023-nss-install-nss-modules-into-lib - makes sure that libnss_resolve and other nss modules end up in ${rootlibdir}
- 0024-resolved-when-processing-auxiliary-DNSSEC-transactio - backport v231 patch that fixes SERVFAIL handling, required for name resolution under qemu or in containers.
--- .../0023-nss-install-nss-modules-into-lib.patch | 64 ++++++++++++++++++++++ ...en-processing-auxiliary-DNSSEC-transactio.patch | 49 +++++++++++++++++ meta/recipes-core/systemd/systemd_230.bb | 18 +++++- 3 files changed, 129 insertions(+), 2 deletions(-) create mode 100644 meta/recipes-core/systemd/systemd/0023-nss-install-nss-modules-into-lib.patch create mode 100644 meta/recipes-core/systemd/systemd/0024-resolved-when-processing-auxiliary-DNSSEC-transactio.patch
meta/recipes-core/systemd/systemd/0023-nss-install-nss-modules-into-lib.patch new file +64 -0
@@ -0,0 +1,64 @@ +From eb76a59139c5ca6355cf1ef9594dab8b73b9b1f5 Mon Sep 17 00:00:00 2001 +Message-Id: <eb76a59139c5ca6355cf1ef9594dab8b73b9b1f5.1474443269.git.maciej.borzecki@rndity.com> +In-Reply-To: <[email protected]> +References: <[email protected]> +From: Maciek Borzecki <[email protected]> +Date: Tue, 20 Sep 2016 21:24:45 +0200 +Subject: [PATCH 1/2] nss: install nss modules into /lib + +NSS modules (libnss_*.so.*) need to be installed into +${rootlibdir} (typically /lib) in order to be used. Previously, the +modules were installed into ${libdir} (usually ${prefix}/lib), where in +case of a split /usr, this would typically resolve to /usr/lib. + +Signed-off-by: Maciek Borzecki <[email protected]> +Signed-off-by: Maciej Borzecki <[email protected]> + +--- +Upstream-Status: Pending + + Makefile.am | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index dbd3386..0e2dca5 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -151,6 +151,7 @@ nodist_zshcompletion_DATA = $(nodist_zshcompletion_data) + endif + udevlibexec_PROGRAMS = + gperf_gperf_sources = ++rootlib_LTLIBRARIES = + + in_files = $(filter %.in,$(EXTRA_DIST)) + in_in_files = $(filter %.in.in, $(in_files)) +@@ -4931,7 +4932,7 @@ libnss_myhostname_la_LDFLAGS = \ + libnss_myhostname_la_LIBADD = \ + libsystemd-internal.la + +-lib_LTLIBRARIES += \ ++rootlib_LTLIBRARIES += \ + libnss_myhostname.la + endif + +@@ -5030,7 +5031,7 @@ libnss_mymachines_la_LDFLAGS = \ + libnss_mymachines_la_LIBADD = \ + libsystemd-internal.la + +-lib_LTLIBRARIES += \ ++rootlib_LTLIBRARIES += \ + libnss_mymachines.la + + endif +@@ -5321,7 +5322,7 @@ libnss_resolve_la_LIBADD = \ + libsystemd-internal.la \ + -ldl + +-lib_LTLIBRARIES += \ ++rootlib_LTLIBRARIES += \ + libnss_resolve.la + + systemd_resolve_SOURCES = \ +-- +2.5.0 +
meta/recipes-core/systemd/systemd/0024-resolved-when-processing-auxiliary-DNSSEC-transactio.patch new file +49 -0
49 lines not on this page · raw message
meta/recipes-core/systemd/systemd_230.bb +16 -2
@@ -36,7 +36,9 @@ SRC_URI += " \ file://0021-include-missing.h-for-getting-secure_getenv-definiti.patch \ file://0022-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch \ file://udev-re-enable-mount-propagation-for-udevd.patch \ -" + file://0023-nss-install-nss-modules-into-lib.patch \ + file://0024-resolved-when-processing-auxiliary-DNSSEC-transactio.patch \ + " SRC_URI_append_libc-uclibc = "\ file://0002-units-Prefer-getty-to-agetty-in-console-setup-system.patch \ "
@@ -452,7 +454,7 @@ FILES_${PN} = " ${base_bindir}/* \ ${rootlibexecdir}/systemd/* \ ${systemd_unitdir}/* \ ${base_libdir}/security/*.so \ - ${libdir}/libnss_* \ + ${rootlibdir}/libnss_* \ /cgroup \ ${bindir}/systemd* \ ${bindir}/busctl \
@@ -562,12 +564,24 @@ pkg_postinst_${PN} () { sed -e '/^hosts:/s/\s*\<myhostname\>//' \ -e 's/\(^hosts:.*\)\(\<files\>\)\(.*\)\(\<dns\>\)\(.*\)/\1\2 myhostname \3\4\5/' \ -i $D${sysconfdir}/nsswitch.conf + + if ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'true', 'false', d)}; then + # replace dns with resolve + sed -e 's/^hosts:\(.*\)dns\(.*\)/hosts:\1 resolve \2/' \ + -i $D${sysconfdir}/nsswitch.conf + fi } pkg_prerm_${PN} () { sed -e '/^hosts:/s/\s*\<myhostname\>//' \ -e '/^hosts:/s/\s*myhostname//' \ -i $D${sysconfdir}/nsswitch.conf + + if ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'true', 'false', d)}; then + # restore dns + sed -e 's/^hosts:\(.*\)resolve\(.*\)/hosts:\1 dns \2/' \ + -i $D${sysconfdir}/nsswitch.conf + fi } pkg_postinst_udev-hwdb () {
Signature · 1 line
2.5.0
Quoted 12 lines · Maciej Borzecki
A patch series that enables use of nss-resolve (systemd's NSS service module) if systemd-networkd is enabled via PACKAGECONFIG.
The first patch is a trivial formatting change.
The second patch does the following:
- replace dns with resolve in
/etc/nsswitch.confif systemd-resolved is enabled- applies a patch fixing the location of libnss_* services provided by systemd (the patch has been submitted upstream for inclusion in v232)
Quoted 7 lines
- applies a patch that fixes SERVFAIL handling, this restores the ability to properly resolve names under qemu (backport from v231)
Maciej Borzecki (2):
systemd: fix indentation
systemd: use nss-resolve by default if resolved is enabled
These changes look fine to me.
Quoted 10 lines
.../0023-nss-install-nss-modules-into-lib.patch | 64 ++++++++++++++++++++++ ...en-processing-auxiliary-DNSSEC-transactio.patch | 49 +++++++++++++++++ meta/recipes-core/systemd/systemd_230.bb | 22 ++++++-- 3 files changed, 131 insertions(+), 4 deletions(-) create mode 100644 meta/recipes-core/systemd/systemd/0023-nss-install-nss-modules-into-lib.patch create mode 100644 meta/recipes-core/systemd/systemd/0024-resolved-when-processing-auxiliary-DNSSEC-transactio.patch--
2.5.0