diff --git a/baselibs.conf b/baselibs.conf index 04045353..4e056067 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -9,4 +9,3 @@ systemd libsystemd0 libudev1 nss-myhostname -nss-mymachines diff --git a/files.container b/files.container index 3f2baa79..f7b3d670 100644 --- a/files.container +++ b/files.container @@ -6,8 +6,11 @@ %if ! 0%{?bootstrap} %{_datadir}/bash-completion/completions/systemd-nspawn %{_datadir}/zsh/site-functions/_systemd-nspawn +%{_libdir}/libnss_mymachines.so.2 %{_mandir}/man1/systemd-nspawn.1.gz %{_mandir}/man5/systemd.nspawn.5.gz +%{_mandir}/man8/libnss_mymachines.so.2.8.gz +%{_mandir}/man8/nss-mymachines.8.gz %endif %{_unitdir}/systemd-nspawn@.service diff --git a/files.network b/files.network index fa5a0bde..1a2f71d9 100644 --- a/files.network +++ b/files.network @@ -44,10 +44,13 @@ %{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf %{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy %{_datadir}/zsh/site-functions/_resolvectl +%{_libdir}/libnss_resolve.so.2 %{_mandir}/man1/resolvectl.1.gz %{_mandir}/man5/org.freedesktop.resolve1.5.gz %{_mandir}/man5/resolved.conf.5.gz %{_mandir}/man5/resolved.conf.d.5.gz +%{_mandir}/man8/libnss_resolve.so.2.8.gz +%{_mandir}/man8/nss-resolve.8.gz %{_mandir}/man8/systemd-resolved.8.gz %{_mandir}/man8/systemd-resolved.service.8.gz %{_systemd_util_dir}/resolv.conf diff --git a/systemd.changes b/systemd.changes index deb1a238..20b5991f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Fri Jan 28 16:04:36 UTC 2022 - Franck Bui + +- Merge nss-resolved and nss-mymachines NSS plug-in modules into systemd-network + and systemd-container respectively. + + These modules are plug-in modules hence the shared library packaging policy + doesn't apply for them. Moreover they're pretty useless alone without their + respective systemd services, Hence let's reduce the number of sub-packages as + the list keeps increasing. + ------------------------------------------------------------------- Thu Jan 27 10:50:50 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 3f5c461e..a3d21fff 100644 --- a/systemd.spec +++ b/systemd.spec @@ -251,8 +251,8 @@ Conflicts: libudev-devel %endif %description devel -Development headers and files for libsystemd and libudev libraries. These files -are useful for developing applications linking to these libraries. +Development headers and files for libsystemd and libudev libraries for +developing and building applications linking to these libraries. %package sysvinit Summary: System V init tools @@ -301,6 +301,7 @@ License: GPL-2.0-only URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html Requires: %{name} = %{version}-%{release} %systemd_requires +Requires: filesystem Requires: kmod Requires: system-group-hardware Requires: group(kvm) @@ -313,10 +314,8 @@ Conflicts: dracut < 044.1 Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 Conflicts: util-linux < 2.16 -Requires: filesystem %if 0%{?bootstrap} Provides: udev = %{version}-%{release} -Conflicts: libudev1 Conflicts: udev # avoid kiwi picking it for bootstrap Requires: this-is-only-for-build-envs @@ -362,20 +361,29 @@ Summary: Systemd tools for container management License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} %systemd_requires +Obsoletes: nss-mymachines < %{version}-%{release} +Provides: nss-mymachines = %{version}-%{release} +Provides: systemd-container = %{version}-%{release} Provides: systemd:%{_bindir}/systemd-nspawn %if 0%{?bootstrap} Conflicts: systemd-container +Provides: systemd-container = %{version}-%{release} %endif %description container Systemd tools to spawn and manage containers and virtual machines. -This package contains systemd-nspawn, machinectl, systemd-machined, -and systemd-importd. +In addition, it also contains a plugin for the Name Service Switch (NSS), +providing host name resolution for all local containers and virtual machines +using network namespacing and registered with systemd-machined. It also maps +UID/GIDs ranges used by containers to useful names. + +To activate this NSS module, you will need to include it in /etc/nsswitch.conf, +see nss-mymachines(8) manpage for more details. %if %{with networkd} || %{with resolved} %package network -Summary: Systemd tools for networkd and resolved +Summary: sytemd network manager and Network Name Resolution manager License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} %systemd_requires @@ -383,13 +391,31 @@ Requires: %{name} = %{version}-%{release} Recommends: pkgconfig(libidn2) BuildRequires: pkgconfig(libidn2) BuildRequires: pkgconfig(openssl) +Obsoletes: nss-resolve < %{version}-%{release} +Provides: nss-resolve = %{version}-%{release} Provides: systemd:/usr/lib/systemd/systemd-networkd Provides: systemd:/usr/lib/systemd/systemd-resolved %description network -Systemd tools to manage network settings using networkd and -resolver tools for resolved +systemd-networkd is a system service that manages networks. It detects and +configures network devices as they appear, as well as manages network addresses +and routes for any link for which it finds a .network file, see +systemd.network(5). It can also create virtual network devices based on their +description given by systemd.netdev(5) files. It may be controlle by +networkctl(1). +systemd-resolved is a system service that provides network name resolution to +local applications. It implements a caching and validating DNS/DNSSEC stub +resolver, as well as an LLMNR and MulticastDNS resolver and responder. It may be +controlled by resolvectl(1). + +Addtionally, this package also contains a plug-in module for the Name Service +Switch (NSS), which enables hostname resolutions by contacting +systemd-resolved(8). It replaces the nss-dns plug-in module that traditionally +resolves hostnames via DNS. + +To activate this NSS module, you will need to include it in /etc/nsswitch.conf, +see nss-resolve(8) manpage for more details. %endif %if %{with portabled} @@ -438,38 +464,6 @@ To activate this NSS module, you will need to include it in /etc/nsswitch.conf, see nss-hostname(8) manpage for more details. %endif -%if %{with resolved} -%package -n nss-resolve -Summary: Plugin for local hostname resolution via systemd-resolved -License: LGPL-2.1-or-later -Requires: %{name}-network = %{version}-%{release} - -%description -n nss-resolve -This package contains a plug-in module for the Name Service Switch -(NSS), which enables host name resolutions via the systemd-resolved(8) -local network name resolution service. It replaces the nss-dns plug-in -module that traditionally resolves hostnames via DNS. - -To activate this NSS module, you will need to include it in -/etc/nsswitch.conf, see nss-resolve(8) manpage for more details. -%endif - -%if %{with machined} -%package -n nss-mymachines -Summary: Plugin for local virtual host name resolution -License: LGPL-2.1-or-later - -%description -n nss-mymachines -This package contains a plugin for the Name Service Switch (NSS), -providing host name resolution for all local containers and virtual -machines registered with systemd-machined to their respective IP -addresses. It also maps UID/GIDs ranges used by containers to useful -names. - -To activate this NSS module, you will need to include it in -/etc/nsswitch.conf, see nss-mymachines(8) manpage for more details. -%endif - %if %{with journal_remote} %package journal-remote Summary: Gateway for serving journal events over the network using HTTP @@ -617,7 +611,6 @@ Have fun with these services at your own risk. %autosetup -p1 -n systemd-v%{version}%{suse_version} %build -# keep split-usr until all packages have moved their systemd rules to /usr %meson \ -Dmode=release \ -Dversion-tag=%{version}%{suse_version} \ @@ -1143,16 +1136,6 @@ fi %postun -n nss-systemd -p /sbin/ldconfig %endif -%if %{with resolved} -%post -n nss-resolve -p /sbin/ldconfig -%postun -n nss-resolve -p /sbin/ldconfig -%endif - -%if %{with machined} -%post -n nss-mymachines -p /sbin/ldconfig -%postun -n nss-mymachines -p /sbin/ldconfig -%endif - %if %{with journal_remote} %pre journal-remote %service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service @@ -1193,6 +1176,7 @@ fi %service_add_post systemd-networkd-wait-online.service %endif %if %{with resolved} +%ldconfig %service_add_post systemd-resolved.service %endif @@ -1211,6 +1195,7 @@ fi %service_del_postun systemd-networkd-wait-online.service %endif %if %{with resolved} +%ldconfig %service_del_postun systemd-resolved.service %endif %endif @@ -1357,22 +1342,6 @@ fi %{_mandir}/man8/nss-systemd.* %endif -%if %{with resolved} -%files -n nss-resolve -%defattr(-, root, root) -%{_libdir}/libnss_resolve.so.2 -%{_mandir}/man8/libnss_resolve.* -%{_mandir}/man8/nss-resolve.* -%endif - -%if %{with machined} -%files -n nss-mymachines -%defattr(-,root,root) -%{_libdir}/libnss_mymachines.so* -%{_mandir}/man8/libnss_mymachines.* -%{_mandir}/man8/nss-mymachines.* -%endif - %if %{with journal_remote} %files journal-remote %defattr(-, root, root)