Hello community, here is the log from the commit of package systemd for openSUSE:Factory checked in at 2018-11-13 16:34:40 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/systemd (Old) and /work/SRC/openSUSE:Factory/.systemd.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "systemd" Tue Nov 13 16:34:40 2018 rev:288 rq:647604 version:239 Changes: -------- --- /work/SRC/openSUSE:Factory/systemd/systemd-mini.changes 2018-10-25 08:11:28.624222007 +0200 +++ /work/SRC/openSUSE:Factory/.systemd.new/systemd-mini.changes 2018-11-13 17:50:29.779549088 +0100 @@ -1,0 +2,89 @@ +Fri Nov 9 10:37:21 UTC 2018 - Franck Bui <[email protected]> + +- Make systemd-mini-sysvinit provides systemd-sysvinit + + Some packages (such as shepherd-bins) want to conflicts with + systemd-sysvinit: they should also conflict with + systemd-mini-sysvinit. + +------------------------------------------------------------------- +Wed Nov 7 08:45:08 UTC 2018 - Franck Bui <[email protected]> + +- Add 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch + + We have to keep support for UserTasksMax= for a while before + dropping it. This patch is supposed to do that and also to make + users aware of this change. It also hints how to configure that + differently. + +------------------------------------------------------------------- +Wed Nov 7 07:05:31 UTC 2018 - Franck Bui <[email protected]> + +- Import commit f39674d6d114d999c50672c7bea8cad21e1eaed9 + + 7d1e04e85 units: use =yes rather than =true everywhere + 185ce0d34 units: assign [email protected] to user-%i.slice + a051f5e41 units: make sure [email protected] is Type=oneshot + 30c6842c3 units: set StopWhenUnneeded= for the user slice units too + e74de046e login: fix typo in log message + +------------------------------------------------------------------- +Mon Nov 5 13:10:54 UTC 2018 - Franck Bui <[email protected]> + +- Own %{_libexecdir}/modules-load.d (again) + + This was incorrectly dropped during the split of the SUSE specific + configurations. + +------------------------------------------------------------------- +Fri Nov 2 14:17:34 UTC 2018 - Franck Bui <[email protected]> + +- Drop a Conflicts: in systemd-coredump + + It not needed anymore since the mini variant of systemd-coredump is + not built anymore. + +------------------------------------------------------------------- +Fri Nov 2 13:54:36 UTC 2018 - Franck Bui <[email protected]> + +- Import commit b54f5d7a8b41898ce98f43cd1a6cc92c0071806d + + 5def29d24 coredump: only install coredump.conf when ENABLED_COREDUMP=true + 9133e2d6e dhcp6: make sure we have enough space for the DHCP6 option header (bsc#1113632 CVE-2018-15688) + ebc3fa418 dhcp6: split assert_return() to be more debuggable when hit + 51eefb6ac chown-recursive: let's rework the recursive logic to use O_PATH (bsc#1113666 CVE-2018-15687) + e1e1aa237 core: skip unit deserialization and move to the next one when unit_deserialize() fails + 1c726c87d core: when deserializing state always use read_line(…, LONG_LINE_MAX, …) (bsc#1113665 CVE-2018-15686) + 4cd7d11ac core: don't create Requires for workdir if "missing ok" (bsc#1113083) + +------------------------------------------------------------------- +Fri Nov 2 13:51:46 UTC 2018 - Franck Bui <[email protected]> + +- Make systemd-coredump sub-package optional + + and don't build the mini variant. + +------------------------------------------------------------------- +Fri Nov 2 12:02:18 UTC 2018 - Franck Bui <[email protected]> + +- Drop duplicated %{?mini} suffix for systemd-{container,coredump} subpackages + + "-mini" is already part of the name of the main package so there's + no need to append it again for those sub packages. It's only needed + when the name of a subpackage is completely redefined, IOW when '-n' + option is used with the %package directive. + +------------------------------------------------------------------- +Fri Nov 2 11:08:27 UTC 2018 - Franck Bui <[email protected]> + +- Dont ship /usr/sbin/resolvconf symlink for now + + It conflicts with the bin shipped by openresolv and provides + limited compat only. + +------------------------------------------------------------------- +Wed Oct 24 10:07:36 UTC 2018 - Franck Bui <[email protected]> + +- Upgrade to v239 (commit 6d8584e7e8e5d13d2bab49b9e6f6d2ec39759978) + +------------------------------------------------------------------- @@ -36,0 +126,11 @@ + +------------------------------------------------------------------- +Fri Sep 28 06:05:03 UTC 2018 - [email protected] + +- split off SUSE specific configuration from systemd package (fate#325478) + * remove 60-io-scheduler.rules + * remove 80-hotplug-cpu-mem.rules + * remove 99-wakeup-from-idle.rules + * remove /usr/lib/modules-load.d/sg.conf + + these are now maintained in the new package system-tuning-common-SUSE systemd.changes: same change Old: ---- 60-io-scheduler.rules 80-hotplug-cpu-mem.rules 99-wakeup-from-idle.rules systemd-v237+suse.100.g19b3868d3.tar.xz New: ---- 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch systemd-v239+suse.87.gf39674d6d.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ systemd-mini.spec ++++++ --- /var/tmp/diff_new_pack.2k2t0y/_old 2018-11-13 17:50:35.155541591 +0100 +++ /var/tmp/diff_new_pack.2k2t0y/_new 2018-11-13 17:50:35.159541586 +0100 @@ -26,10 +26,11 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.100.g19b3868d3 +%define suse_version +suse.87.gf39674d6d %bcond_with gnuefi %if 0%{?bootstrap} +%bcond_with coredump %bcond_with sysvcompat %bcond_with machined %bcond_with importd @@ -37,6 +38,7 @@ %bcond_with resolved %bcond_with journal_remote %else +%bcond_without coredump %bcond_without sysvcompat %bcond_without machined %bcond_without importd @@ -51,7 +53,7 @@ Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 237 +Version: 239 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -156,10 +158,6 @@ Source102: scripts-systemd-migrate-sysconfig-i18n.sh Source200: scripts-udev-convert-lib-udev-path.sh -Source1000: 60-io-scheduler.rules -Source1001: 80-hotplug-cpu-mem.rules -Source1002: 99-wakeup-from-idle.rules - # Patches listed in here are put in quarantine. Normally all # changes must go to upstream first and then are cherry-picked in the # SUSE git repository. But in very few cases, some stuff might be @@ -167,6 +165,7 @@ # patches are temporary and should be removed as soon as a fix is # merged by upstream. Patch1: 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch +Patch2: 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -198,6 +197,7 @@ Requires: %{name} = %{version}-%{release} Provides: sbin_init Conflicts: otherproviders(sbin_init) +Provides: systemd-sysvinit = %{version}-%{release} Provides: sysvinit:/sbin/init %description sysvinit @@ -297,23 +297,22 @@ This package contains the development files for the library libudev, a dynamic library, which provides access to udev device information. -%package coredump%{mini} +%if %{with coredump} +%package coredump Summary: Systemd tools for coredump management License: LGPL-2.1-or-later Group: System/Base Requires: %{name} = %{version}-%{release} %systemd_requires Provides: systemd:%{_bindir}/coredumpctl -%if 0%{?bootstrap} -Conflicts: systemd-coredump -%endif -%description coredump%{mini} +%description coredump Systemd tools to store and manage coredumps. This package contains systemd-coredump, coredumpctl. +%endif -%package container%{?mini} +%package container Summary: Systemd tools for container management License: LGPL-2.1-or-later Group: System/Base @@ -324,7 +323,7 @@ Conflicts: systemd-container %endif -%description container%{?mini} +%description container Systemd tools to spawn and manage containers and virtual machines. This package contains systemd-nspawn, machinectl, systemd-machined, @@ -438,6 +437,7 @@ -Ddocdir=%{_docdir}/systemd \ -Drootprefix=/usr \ -Dsplit-usr=true \ + -Dsplit-bin=true \ -Dpamlibdir=/%{_lib}/security \ -Drpmmacrosdir=%{_prefix}/lib/rpm/macros.d \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ @@ -447,6 +447,7 @@ -Drc-local=/etc/init.d/boot.local \ -Dhalt-local=/etc/init.d/halt.local \ -Ddebug-shell=/bin/bash \ + -Dportabled=false \ -Dseccomp=auto \ -Dselinux=auto \ -Dapparmor=auto \ @@ -457,6 +458,9 @@ -Dhtml=false \ -Dmyhostname=false \ %endif +%if %{without coredump} + -Dcoredump=false \ +%endif %if %{without networkd} -Dnetworkd=false \ %endif @@ -487,6 +491,14 @@ rm %{buildroot}%{_libdir}/libnss_systemd.so* %endif +# Don't ship resolvconf symlink for now as it conflicts with the +# binary shipped by openresolv and provides limited compatibility +# only +%if %{with resolved} +rm %{buildroot}%{_sbindir}/resolvconf +rm %{buildroot}%{_mandir}/man1/resolvconf.1* +%endif + # FIXME: these symlinks should die. mkdir -p %{buildroot}/{sbin,lib,bin} ln -sf %{_bindir}/udevadm %{buildroot}/sbin/udevadm @@ -502,11 +514,6 @@ install -m0755 -D %{S:4} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install %endif -# The rules that we shouldn't maintain -install -m0644 -D %{S:1000} %{buildroot}%{_udevrulesdir}/60-io-scheduler.rules -install -m0644 -D %{S:1001} %{buildroot}%{_udevrulesdir}/80-hotplug-cpu-mem.rules -install -m0644 -D %{S:1002} %{buildroot}%{_udevrulesdir}/99-wakeup-from-idle.rules - # Package the scripts used to fix all packaging issues. Also drop the # "scripts-{systemd/udev}" prefix which is used because osc doesn't # allow directory structure... @@ -541,13 +548,6 @@ # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path -# create %%{_libexecdir}/modules-load.d -mkdir -p %{buildroot}%{_libexecdir}/modules-load.d -cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf -# load sg module at boot time -sg -EOF - # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) rm -f %{buildroot}%{_sysctldir}/50-default.conf @@ -808,7 +808,7 @@ %postun -n libudev%{?mini}1 -p /sbin/ldconfig %postun -n libsystemd0%{?mini} -p /sbin/ldconfig -%post container%{?mini} +%post container %tmpfiles_create systemd-nspawn.conf if [ $1 -gt 1 ]; then # Convert /var/lib/machines subvolume to make it suitable for @@ -885,14 +885,17 @@ /bin/systemd /bin/systemd-ask-password /bin/systemctl -%if %{with networkd} -%{_bindir}/networkctl -%endif %{_bindir}/busctl %{_bindir}/bootctl -%{_bindir}/kernel-install %{_bindir}/hostnamectl +%{_bindir}/kernel-install %{_bindir}/localectl +%if %{with networkd} +%{_bindir}/networkctl +%endif +%if %{with resolved} +%{_bindir}/resolvectl +%endif %{_bindir}/systemctl %{_bindir}/systemd-analyze %{_bindir}/systemd-delta @@ -929,8 +932,13 @@ %{_prefix}/lib/kernel/install.d/50-depmod.install %{_prefix}/lib/kernel/install.d/90-loaderentry.install %dir %{_prefix}/lib/systemd -%dir %{_prefix}/lib/systemd/user -%dir %{_prefix}/lib/systemd/system +%dir %{_unitdir} +%{_userunitdir} +%if %{with coredump} +%exclude %{_prefix}/lib/systemd/systemd-coredump +%exclude %{_unitdir}/systemd-coredump* +%exclude %{_unitdir}/sockets.target.wants/systemd-coredump.socket +%endif %if %{with journal_remote} %exclude %{_unitdir}/systemd-journal-gatewayd.* %exclude %{_unitdir}/systemd-journal-remote.* @@ -939,14 +947,11 @@ %exclude %{_prefix}/lib/systemd/systemd-journal-remote %exclude %{_prefix}/lib/systemd/systemd-journal-upload %endif -%exclude %{_prefix}/lib/systemd/systemd-coredump %exclude %{_prefix}/lib/systemd/systemd-udevd %exclude %{_unitdir}/systemd-udev*.* %exclude %{_unitdir}/*.target.wants/systemd-udev*.* %exclude %{_unitdir}/initrd-udevadm-cleanup-db.service %exclude %{_unitdir}/[email protected] -%exclude %{_unitdir}/systemd-coredump* -%exclude %{_unitdir}/sockets.target.wants/systemd-coredump.socket %if %{with machined} %exclude %{_prefix}/lib/systemd/systemd-machined %exclude %{_unitdir}/systemd-machined.service @@ -973,7 +978,9 @@ %{_unitdir}/*.socket %{_unitdir}/*.wants %{_unitdir}/*.path -%{_userunitdir}/ + +%{_unitdir}/user-.slice.d/ + %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %{_prefix}/lib/systemd/libsystemd-shared-*.so @@ -1007,9 +1014,8 @@ %{_prefix}/lib/systemd/boot/efi/*.stub %endif -%dir %{_libexecdir}/modules-load.d %dir %{_sysconfdir}/modules-load.d -%{_libexecdir}/modules-load.d/sg.conf +%{_libexecdir}/modules-load.d %{_sysusersdir}/ %dir %{_sysconfdir}/tmpfiles.d @@ -1064,6 +1070,7 @@ %{_datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf %if %{with networkd} %{_sysconfdir}/systemd/system/dbus-org.freedesktop.network1.service %{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf @@ -1073,7 +1080,7 @@ %{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf %endif -# FIXME: why should we have to own this dir ? +# FIXME: why do we have to own this dir ? %dir %{_prefix}/lib/modprobe.d %{_prefix}/lib/modprobe.d/systemd.conf @@ -1101,6 +1108,7 @@ %{_datadir}/dbus-1/system-services/org.freedesktop.login1.service %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service %{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.timesync1.service %if %{with networkd} %{_datadir}/dbus-1/system-services/org.freedesktop.network1.service %endif @@ -1136,9 +1144,11 @@ %{_mandir}/man8/systemd-journald* %{_mandir}/man8/systemd-u[ps]* %{_mandir}/man8/30-systemd-environment-d-generator.* +%if %{with coredump} %exclude %{_mandir}/man1/coredumpctl* %exclude %{_mandir}/man5/coredump.conf* %exclude %{_mandir}/man8/systemd-coredump* +%endif %exclude %{_mandir}/man*/*nspawn* %if %{with machined} %exclude %{_mandir}/man*/machinectl* @@ -1192,6 +1202,13 @@ /sbin/poweroff /sbin/telinit /sbin/runlevel +%{_sbindir}/init +%{_sbindir}/reboot +%{_sbindir}/halt +%{_sbindir}/shutdown +%{_sbindir}/poweroff +%{_sbindir}/telinit +%{_sbindir}/runlevel %if ! 0%{?bootstrap} %{_mandir}/man1/init.1* %{_mandir}/man8/halt.8* @@ -1269,7 +1286,8 @@ %{_mandir}/man3/*udev*.3* %endif -%files coredump%{?mini} +%if %{with coredump} +%files coredump %defattr(-,root,root) %{_bindir}/coredumpctl %{_prefix}/lib/systemd/systemd-coredump @@ -1283,12 +1301,12 @@ %{_mandir}/man5/coredump.conf* %{_mandir}/man8/systemd-coredump* %endif +%endif -%files container%{?mini} +%files container %defattr(-,root,root) %{_bindir}/systemd-nspawn %{_unitdir}/[email protected] -%{_tmpfilesdir}/systemd-nspawn.conf %if %{with networkd} %{_prefix}/lib/systemd/network/80-container-ve.network %{_prefix}/lib/systemd/network/80-container-vz.network @@ -1306,6 +1324,7 @@ %{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf %{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service %{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy +%{_tmpfilesdir}/systemd-nspawn.conf %endif %if %{with importd} %{_prefix}/lib/systemd/systemd-import* ++++++ systemd.spec ++++++ --- /var/tmp/diff_new_pack.2k2t0y/_old 2018-11-13 17:50:35.171541569 +0100 +++ /var/tmp/diff_new_pack.2k2t0y/_new 2018-11-13 17:50:35.175541563 +0100 @@ -24,10 +24,11 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.100.g19b3868d3 +%define suse_version +suse.87.gf39674d6d %bcond_with gnuefi %if 0%{?bootstrap} +%bcond_with coredump %bcond_with sysvcompat %bcond_with machined %bcond_with importd @@ -35,6 +36,7 @@ %bcond_with resolved %bcond_with journal_remote %else +%bcond_without coredump %bcond_without sysvcompat %bcond_without machined %bcond_without importd @@ -49,7 +51,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 237 +Version: 239 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -154,10 +156,6 @@ Source102: scripts-systemd-migrate-sysconfig-i18n.sh Source200: scripts-udev-convert-lib-udev-path.sh -Source1000: 60-io-scheduler.rules -Source1001: 80-hotplug-cpu-mem.rules -Source1002: 99-wakeup-from-idle.rules - # Patches listed in here are put in quarantine. Normally all # changes must go to upstream first and then are cherry-picked in the # SUSE git repository. But in very few cases, some stuff might be @@ -165,6 +163,7 @@ # patches are temporary and should be removed as soon as a fix is # merged by upstream. Patch1: 0001-resolved-create-etc-resolv.conf-symlink-at-runtime.patch +Patch2: 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -196,6 +195,7 @@ Requires: %{name} = %{version}-%{release} Provides: sbin_init Conflicts: otherproviders(sbin_init) +Provides: systemd-sysvinit = %{version}-%{release} Provides: sysvinit:/sbin/init %description sysvinit @@ -295,23 +295,22 @@ This package contains the development files for the library libudev, a dynamic library, which provides access to udev device information. -%package coredump%{mini} +%if %{with coredump} +%package coredump Summary: Systemd tools for coredump management License: LGPL-2.1-or-later Group: System/Base Requires: %{name} = %{version}-%{release} %systemd_requires Provides: systemd:%{_bindir}/coredumpctl -%if 0%{?bootstrap} -Conflicts: systemd-coredump -%endif -%description coredump%{mini} +%description coredump Systemd tools to store and manage coredumps. This package contains systemd-coredump, coredumpctl. +%endif -%package container%{?mini} +%package container Summary: Systemd tools for container management License: LGPL-2.1-or-later Group: System/Base @@ -322,7 +321,7 @@ Conflicts: systemd-container %endif -%description container%{?mini} +%description container Systemd tools to spawn and manage containers and virtual machines. This package contains systemd-nspawn, machinectl, systemd-machined, @@ -436,6 +435,7 @@ -Ddocdir=%{_docdir}/systemd \ -Drootprefix=/usr \ -Dsplit-usr=true \ + -Dsplit-bin=true \ -Dpamlibdir=/%{_lib}/security \ -Drpmmacrosdir=%{_prefix}/lib/rpm/macros.d \ -Dcertificate-root=%{_sysconfdir}/pki/systemd \ @@ -445,6 +445,7 @@ -Drc-local=/etc/init.d/boot.local \ -Dhalt-local=/etc/init.d/halt.local \ -Ddebug-shell=/bin/bash \ + -Dportabled=false \ -Dseccomp=auto \ -Dselinux=auto \ -Dapparmor=auto \ @@ -455,6 +456,9 @@ -Dhtml=false \ -Dmyhostname=false \ %endif +%if %{without coredump} + -Dcoredump=false \ +%endif %if %{without networkd} -Dnetworkd=false \ %endif @@ -485,6 +489,14 @@ rm %{buildroot}%{_libdir}/libnss_systemd.so* %endif +# Don't ship resolvconf symlink for now as it conflicts with the +# binary shipped by openresolv and provides limited compatibility +# only +%if %{with resolved} +rm %{buildroot}%{_sbindir}/resolvconf +rm %{buildroot}%{_mandir}/man1/resolvconf.1* +%endif + # FIXME: these symlinks should die. mkdir -p %{buildroot}/{sbin,lib,bin} ln -sf %{_bindir}/udevadm %{buildroot}/sbin/udevadm @@ -500,11 +512,6 @@ install -m0755 -D %{S:4} %{buildroot}/%{_prefix}/lib/systemd/systemd-sysv-install %endif -# The rules that we shouldn't maintain -install -m0644 -D %{S:1000} %{buildroot}%{_udevrulesdir}/60-io-scheduler.rules -install -m0644 -D %{S:1001} %{buildroot}%{_udevrulesdir}/80-hotplug-cpu-mem.rules -install -m0644 -D %{S:1002} %{buildroot}%{_udevrulesdir}/99-wakeup-from-idle.rules - # Package the scripts used to fix all packaging issues. Also drop the # "scripts-{systemd/udev}" prefix which is used because osc doesn't # allow directory structure... @@ -539,13 +546,6 @@ # don't enable wall ask password service, it spams every console (bnc#747783) rm %{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path -# create %%{_libexecdir}/modules-load.d -mkdir -p %{buildroot}%{_libexecdir}/modules-load.d -cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf -# load sg module at boot time -sg -EOF - # do not ship sysctl defaults in systemd package, will be part of # aaa_base (in procps for now) rm -f %{buildroot}%{_sysctldir}/50-default.conf @@ -806,7 +806,7 @@ %postun -n libudev%{?mini}1 -p /sbin/ldconfig %postun -n libsystemd0%{?mini} -p /sbin/ldconfig -%post container%{?mini} +%post container %tmpfiles_create systemd-nspawn.conf if [ $1 -gt 1 ]; then # Convert /var/lib/machines subvolume to make it suitable for @@ -883,14 +883,17 @@ /bin/systemd /bin/systemd-ask-password /bin/systemctl -%if %{with networkd} -%{_bindir}/networkctl -%endif %{_bindir}/busctl %{_bindir}/bootctl -%{_bindir}/kernel-install %{_bindir}/hostnamectl +%{_bindir}/kernel-install %{_bindir}/localectl +%if %{with networkd} +%{_bindir}/networkctl +%endif +%if %{with resolved} +%{_bindir}/resolvectl +%endif %{_bindir}/systemctl %{_bindir}/systemd-analyze %{_bindir}/systemd-delta @@ -927,8 +930,13 @@ %{_prefix}/lib/kernel/install.d/50-depmod.install %{_prefix}/lib/kernel/install.d/90-loaderentry.install %dir %{_prefix}/lib/systemd -%dir %{_prefix}/lib/systemd/user -%dir %{_prefix}/lib/systemd/system +%dir %{_unitdir} +%{_userunitdir} +%if %{with coredump} +%exclude %{_prefix}/lib/systemd/systemd-coredump +%exclude %{_unitdir}/systemd-coredump* +%exclude %{_unitdir}/sockets.target.wants/systemd-coredump.socket +%endif %if %{with journal_remote} %exclude %{_unitdir}/systemd-journal-gatewayd.* %exclude %{_unitdir}/systemd-journal-remote.* @@ -937,14 +945,11 @@ %exclude %{_prefix}/lib/systemd/systemd-journal-remote %exclude %{_prefix}/lib/systemd/systemd-journal-upload %endif -%exclude %{_prefix}/lib/systemd/systemd-coredump %exclude %{_prefix}/lib/systemd/systemd-udevd %exclude %{_unitdir}/systemd-udev*.* %exclude %{_unitdir}/*.target.wants/systemd-udev*.* %exclude %{_unitdir}/initrd-udevadm-cleanup-db.service %exclude %{_unitdir}/[email protected] -%exclude %{_unitdir}/systemd-coredump* -%exclude %{_unitdir}/sockets.target.wants/systemd-coredump.socket %if %{with machined} %exclude %{_prefix}/lib/systemd/systemd-machined %exclude %{_unitdir}/systemd-machined.service @@ -971,7 +976,9 @@ %{_unitdir}/*.socket %{_unitdir}/*.wants %{_unitdir}/*.path -%{_userunitdir}/ + +%{_unitdir}/user-.slice.d/ + %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %{_prefix}/lib/systemd/libsystemd-shared-*.so @@ -1005,9 +1012,8 @@ %{_prefix}/lib/systemd/boot/efi/*.stub %endif -%dir %{_libexecdir}/modules-load.d %dir %{_sysconfdir}/modules-load.d -%{_libexecdir}/modules-load.d/sg.conf +%{_libexecdir}/modules-load.d %{_sysusersdir}/ %dir %{_sysconfdir}/tmpfiles.d @@ -1062,6 +1068,7 @@ %{_datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf %{_datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf %if %{with networkd} %{_sysconfdir}/systemd/system/dbus-org.freedesktop.network1.service %{_datadir}/dbus-1/system.d/org.freedesktop.network1.conf @@ -1071,7 +1078,7 @@ %{_datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf %endif -# FIXME: why should we have to own this dir ? +# FIXME: why do we have to own this dir ? %dir %{_prefix}/lib/modprobe.d %{_prefix}/lib/modprobe.d/systemd.conf @@ -1099,6 +1106,7 @@ %{_datadir}/dbus-1/system-services/org.freedesktop.login1.service %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service %{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.timesync1.service %if %{with networkd} %{_datadir}/dbus-1/system-services/org.freedesktop.network1.service %endif @@ -1134,9 +1142,11 @@ %{_mandir}/man8/systemd-journald* %{_mandir}/man8/systemd-u[ps]* %{_mandir}/man8/30-systemd-environment-d-generator.* +%if %{with coredump} %exclude %{_mandir}/man1/coredumpctl* %exclude %{_mandir}/man5/coredump.conf* %exclude %{_mandir}/man8/systemd-coredump* +%endif %exclude %{_mandir}/man*/*nspawn* %if %{with machined} %exclude %{_mandir}/man*/machinectl* @@ -1190,6 +1200,13 @@ /sbin/poweroff /sbin/telinit /sbin/runlevel +%{_sbindir}/init +%{_sbindir}/reboot +%{_sbindir}/halt +%{_sbindir}/shutdown +%{_sbindir}/poweroff +%{_sbindir}/telinit +%{_sbindir}/runlevel %if ! 0%{?bootstrap} %{_mandir}/man1/init.1* %{_mandir}/man8/halt.8* @@ -1267,7 +1284,8 @@ %{_mandir}/man3/*udev*.3* %endif -%files coredump%{?mini} +%if %{with coredump} +%files coredump %defattr(-,root,root) %{_bindir}/coredumpctl %{_prefix}/lib/systemd/systemd-coredump @@ -1281,12 +1299,12 @@ %{_mandir}/man5/coredump.conf* %{_mandir}/man8/systemd-coredump* %endif +%endif -%files container%{?mini} +%files container %defattr(-,root,root) %{_bindir}/systemd-nspawn %{_unitdir}/[email protected] -%{_tmpfilesdir}/systemd-nspawn.conf %if %{with networkd} %{_prefix}/lib/systemd/network/80-container-ve.network %{_prefix}/lib/systemd/network/80-container-vz.network @@ -1304,6 +1322,7 @@ %{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf %{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service %{_datadir}/polkit-1/actions/org.freedesktop.machine1.policy +%{_tmpfilesdir}/systemd-nspawn.conf %endif %if %{with importd} %{_prefix}/lib/systemd/systemd-import* ++++++ 0001-logind-keep-backward-compatibility-with-UserTasksMax.patch ++++++ >From d3acd5b49a6a321dc3b1512416132b8724b2fd20 Mon Sep 17 00:00:00 2001 From: Franck Bui <[email protected]> Date: Tue, 6 Nov 2018 11:51:26 +0100 Subject: [PATCH] logind: keep backward compatibility with UserTasksMax= in logind.conf Since commit 284149392755f086d0a71, UserTasksMax= support has been simply dropped. A generator is used to automatically create an appropriate dropin that has the same effect. However since the snippet is generated in /run, sysadmin is encouraged to copy it in /etc to make it persistent. The main advantages to use a generator are: - sysadmin is aware of this backward incompatible change - he will be the one who will fix logind.conf manually (to remove the use of UserTasksMax=) - he will decide how to name the snippet and possibly merge it with an existing one Expect this generator to be dropped in the future. --- meson.build | 8 ++++ src/login/compat-tasks-max-generator.c | 66 ++++++++++++++++++++++++++ src/login/logind-user.c | 43 +++++++++++++++-- 3 files changed, 112 insertions(+), 5 deletions(-) create mode 100644 src/login/compat-tasks-max-generator.c diff --git a/meson.build b/meson.build index 5c7c165ba..7e3e8ca16 100644 --- a/meson.build +++ b/meson.build @@ -1701,6 +1701,14 @@ if conf.get('ENABLE_LOGIND') == 1 endif endif +executable('logind-compat-tasks-max-generator', + 'src/login/compat-tasks-max-generator.c', + include_directories : includes, + link_with : [libshared, liblogind_core], + install_rpath : rootlibexecdir, + install : true, + install_dir : systemgeneratordir) + executable('systemd-user-runtime-dir', user_runtime_dir_sources, include_directories : includes, diff --git a/src/login/compat-tasks-max-generator.c b/src/login/compat-tasks-max-generator.c new file mode 100644 index 000000000..404ca5f23 --- /dev/null +++ b/src/login/compat-tasks-max-generator.c @@ -0,0 +1,66 @@ +#include <stdint.h> + +#include "alloc-util.h" +#include "dropin.h" +#include "logind.h" +#include "path-util.h" + +static const char *arg_dest = "/tmp"; + +static int read_manager_configuration(uint64_t *user_tasks_max) { + Manager m = {}; + int r; + + manager_reset_config(&m); + m.user_tasks_max = 0; + + r = manager_parse_config_file(&m); + if (r < 0) + return log_warning_errno(r, "Failed to parse logind.conf: %m"); + + if (m.user_tasks_max == 0) + return 0; + + *user_tasks_max = m.user_tasks_max; + return 1; +} + +int main(int argc, char *argv[]) { + _cleanup_free_ char *p = NULL; + uint64_t user_tasks_max; + int r = 0; + + if (argc > 1 && argc != 4) { + log_error("This program takes three or no arguments."); + return EXIT_FAILURE; + } + + if (argc > 1) + arg_dest = argv[1]; + + log_set_prohibit_ipc(true); + log_set_target(LOG_TARGET_AUTO); + log_parse_environment(); + log_open(); + + umask(0022); + + r = read_manager_configuration(&user_tasks_max); + if (r == 0) + return EXIT_SUCCESS; + if (r < 0) + return EXIT_FAILURE; + + p = path_join(arg_dest, "user-.slice.d", "50-limits.conf"); + if (!p) + return EXIT_FAILURE; + + log_warning("Creating %s to keep compability\n" + "Consider copying the snippet in /etc/systemd/system/user-.slice.d/\n", p); + + r = write_drop_in_format(arg_dest, "user-.slice", 50, "limits", + "# Automatically generated by logind-compat-tasks-max-generator\n\n" + "[Slice]\nTasksMax=%" PRIu64, user_tasks_max); + + return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; +} diff --git a/src/login/logind-user.c b/src/login/logind-user.c index 66f5c896d..fe58b0398 100644 --- a/src/login/logind-user.c +++ b/src/login/logind-user.c @@ -743,17 +743,50 @@ int config_parse_compat_user_tasks_max( void *data, void *userdata) { + uint64_t *m = data; + uint64_t k; + int r; + assert(filename); assert(lvalue); assert(rvalue); assert(data); - log_syntax(unit, LOG_NOTICE, filename, line, 0, + log_syntax(unit, LOG_WARNING, filename, line, 0, "Support for option %s= has been removed.", lvalue); - log_info("Hint: try creating /etc/systemd/system/user-.slice.d/50-limits.conf with:\n" - " [Slice]\n" - " TasksMax=%s", - rvalue); + + if (isempty(rvalue)) { + *m = system_tasks_max_scale(DEFAULT_USER_TASKS_MAX_PERCENTAGE, 100U); + return 0; + } + + if (streq(rvalue, "infinity")) { + *m = CGROUP_LIMIT_MAX; + return 0; + } + + /* Try to parse as percentage */ + r = parse_percent(rvalue); + if (r >= 0) + k = system_tasks_max_scale(r, 100U); + else { + + /* If the passed argument was not a percentage, or out of range, parse as byte size */ + + r = safe_atou64(rvalue, &k); + if (r < 0) { + log_syntax(unit, LOG_ERR, filename, line, r, "Failed to parse tasks maximum, ignoring: %s", rvalue); + return 0; + } + } + + if (k <= 0 || k >= UINT64_MAX) { + log_syntax(unit, LOG_ERR, filename, line, 0, "Tasks maximum out of range, ignoring: %s", rvalue); + return 0; + } + + *m = k; + return 0; } -- 2.19.0 ++++++ systemd-v237+suse.100.g19b3868d3.tar.xz -> systemd-v239+suse.87.gf39674d6d.tar.xz ++++++ ++++ 225115 lines of diff (skipped)
