diff --git a/0001-logind-keep-backward-compatibility-with-UserTasksMax.patch b/0001-logind-keep-backward-compatibility-with-UserTasksMax.patch new file mode 100644 index 00000000..a8e39cfd --- /dev/null +++ b/0001-logind-keep-backward-compatibility-with-UserTasksMax.patch @@ -0,0 +1,185 @@ +From d3acd5b49a6a321dc3b1512416132b8724b2fd20 Mon Sep 17 00:00:00 2001 +From: Franck Bui +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 ++ ++#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 + diff --git a/60-io-scheduler.rules b/60-io-scheduler.rules deleted file mode 100644 index 7c285aef..00000000 --- a/60-io-scheduler.rules +++ /dev/null @@ -1,24 +0,0 @@ -# Set optimal IO schedulers for HDD and SSD - -ACTION!="add", GOTO="scheduler_end" -SUBSYSTEM!="block", GOTO="scheduler_end" - -# Do not change scheduler if `elevator` cmdline parameter is set -IMPORT{cmdline}="elevator" -ENV{elevator}=="?*", GOTO="scheduler_end" - -# Determine if BLK-MQ is enabled -TEST=="%S%p/mq", ENV{.IS_MQ}="1" - -# MQ: BFQ scheduler for HDD -ENV{.IS_MQ}=="1", ATTR{queue/rotational}!="0", ATTR{queue/scheduler}="bfq" -# MQ: deadline scheduler for SSD -ENV{.IS_MQ}=="1", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="mq-deadline" - -# Non-MQ: CFQ scheduler for HDD -ENV{.IS_MQ}!="1", ATTR{queue/rotational}!="0", ATTR{queue/scheduler}="cfq" -# Non-MQ: deadline scheduler for SSD -ENV{.IS_MQ}!="1", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline" - -LABEL="scheduler_end" - diff --git a/80-hotplug-cpu-mem.rules b/80-hotplug-cpu-mem.rules deleted file mode 100644 index 86a6c272..00000000 --- a/80-hotplug-cpu-mem.rules +++ /dev/null @@ -1,24 +0,0 @@ -# do not edit this file, it will be overwritten on update - -# -# Hotplug physical CPU -# -SUBSYSTEM=="cpu", ACTION=="add", TEST=="online", ATTR{online}=="0", ATTR{online}="1" - -# -# Hotplug physical memory. Instances of tmpfs are remounted so their -# size are recalculated. This might be needed if some sizes were -# specified relative to the total amount of memory (boo#869603). For -# now make it simple and remount all tmpfs regardless of how their -# size are specified. It should be handled by the kernel as it has a -# lot of shortcomings anyways (tmpfs mounted by other processes, mount -# namespaces, ...) -# -SUBSYSTEM=="memory", ACTION=="add", PROGRAM=="/usr/bin/systemd-detect-virt", RESULT!="zvm", ATTR{state}=="offline", \ - ATTR{state}="online", \ - RUN+="/bin/sh -c ' \ - while read src dst fs opts unused; do \ - case $fs in \ - tmpfs) mount -o remount \"$dst\" ;; \ - esac \ - done + +- 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 + +- 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 + +- Import commit f39674d6d114d999c50672c7bea8cad21e1eaed9 + + 7d1e04e85 units: use =yes rather than =true everywhere + 185ce0d34 units: assign user-runtime-dir@.service to user-%i.slice + a051f5e41 units: make sure user-runtime-dir@.service 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 + +- 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 + +- 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 + +- 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 + +- Make systemd-coredump sub-package optional + + and don't build the mini variant. + +------------------------------------------------------------------- +Fri Nov 2 12:02:18 UTC 2018 - Franck Bui + +- 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 + +- 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 + +- Upgrade to v239 (commit 6d8584e7e8e5d13d2bab49b9e6f6d2ec39759978) + ------------------------------------------------------------------- Mon Oct 15 16:23:05 UTC 2018 - Franck Bui @@ -35,6 +124,17 @@ Fri Sep 28 06:16:06 UTC 2018 - fbui@suse.com d464f06934 journal: fix syslog_parse_identifier() e70422883a socket-util: attempt SO_RCVBUFFORCE/SO_SNDBUFFORCE only if SO_RCVBUF/SO_SNDBUF fails (bsc#991901) +------------------------------------------------------------------- +Fri Sep 28 06:05:03 UTC 2018 - Thomas.Blume@suse.com + +- 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 + ------------------------------------------------------------------- Fri Sep 14 12:55:49 UTC 2018 - fbui@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index 55537c48..3d23ede6 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -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 @@ Source101: scripts-systemd-upgrade-from-pre-210.sh 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 @@ Source1002: 99-wakeup-from-idle.rules # 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 @@ Group: System/Base 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 @@ Conflicts: libudev-devel 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 @@ Provides: systemd:%{_bindir}/systemd-nspawn 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 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -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 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -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 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Dhtml=false \ -Dmyhostname=false \ %endif +%if %{without coredump} + -Dcoredump=false \ +%endif %if %{without networkd} -Dnetworkd=false \ %endif @@ -487,6 +491,14 @@ mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} 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:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert 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 @@ mv %{buildroot}/%{_unitdir}/tmp.mount %{buildroot}/%{_datadir}/systemd/ # 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 @@ systemctl daemon-reload || : %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 @@ fi /bin/systemd /bin/systemd-ask-password /bin/systemctl +%{_bindir}/busctl +%{_bindir}/bootctl +%{_bindir}/hostnamectl +%{_bindir}/kernel-install +%{_bindir}/localectl %if %{with networkd} %{_bindir}/networkctl %endif -%{_bindir}/busctl -%{_bindir}/bootctl -%{_bindir}/kernel-install -%{_bindir}/hostnamectl -%{_bindir}/localectl +%if %{with resolved} +%{_bindir}/resolvectl +%endif %{_bindir}/systemctl %{_bindir}/systemd-analyze %{_bindir}/systemd-delta @@ -929,8 +932,13 @@ fi %{_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 @@ fi %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}/systemd-nspawn@.service -%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 @@ fi %{_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 @@ fi %{_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 @@ fi %{_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 @@ fi %{_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 @@ fi %{_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 @@ fi %{_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 @@ fi /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 @@ fi %{_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 @@ fi %{_mandir}/man5/coredump.conf* %{_mandir}/man8/systemd-coredump* %endif +%endif -%files container%{?mini} +%files container %defattr(-,root,root) %{_bindir}/systemd-nspawn %{_unitdir}/systemd-nspawn@.service -%{_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 @@ fi %{_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* diff --git a/systemd-v237+suse.100.g19b3868d3.tar.xz b/systemd-v237+suse.100.g19b3868d3.tar.xz deleted file mode 100644 index 5e7c3bb1..00000000 --- a/systemd-v237+suse.100.g19b3868d3.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1a821019ddd446a6a4d25c5152b0cdd42b197c8657c69dadc393dd36b189784f -size 4629044 diff --git a/systemd-v239+suse.87.gf39674d6d.tar.xz b/systemd-v239+suse.87.gf39674d6d.tar.xz new file mode 100644 index 00000000..f0de2fe3 --- /dev/null +++ b/systemd-v239+suse.87.gf39674d6d.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f62d64a099b2cb1fec5146914220d6396777b06c6d5075a479b1dfc22838c2c5 +size 4854560 diff --git a/systemd.changes b/systemd.changes index 64a87a55..e0afa6ec 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,92 @@ +------------------------------------------------------------------- +Fri Nov 9 10:37:21 UTC 2018 - Franck Bui + +- 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 + +- 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 + +- Import commit f39674d6d114d999c50672c7bea8cad21e1eaed9 + + 7d1e04e85 units: use =yes rather than =true everywhere + 185ce0d34 units: assign user-runtime-dir@.service to user-%i.slice + a051f5e41 units: make sure user-runtime-dir@.service 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 + +- 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 + +- 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 + +- 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 + +- Make systemd-coredump sub-package optional + + and don't build the mini variant. + +------------------------------------------------------------------- +Fri Nov 2 12:02:18 UTC 2018 - Franck Bui + +- 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 + +- 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 + +- Upgrade to v239 (commit 6d8584e7e8e5d13d2bab49b9e6f6d2ec39759978) + ------------------------------------------------------------------- Mon Oct 15 16:23:05 UTC 2018 - Franck Bui @@ -35,6 +124,17 @@ Fri Sep 28 06:16:06 UTC 2018 - fbui@suse.com d464f06934 journal: fix syslog_parse_identifier() e70422883a socket-util: attempt SO_RCVBUFFORCE/SO_SNDBUFFORCE only if SO_RCVBUF/SO_SNDBUF fails (bsc#991901) +------------------------------------------------------------------- +Fri Sep 28 06:05:03 UTC 2018 - Thomas.Blume@suse.com + +- 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 + ------------------------------------------------------------------- Fri Sep 14 12:55:49 UTC 2018 - fbui@suse.com diff --git a/systemd.spec b/systemd.spec index 15a79547..9beae4f4 100644 --- a/systemd.spec +++ b/systemd.spec @@ -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 @@ Source101: scripts-systemd-upgrade-from-pre-210.sh 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 @@ Source1002: 99-wakeup-from-idle.rules # 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 @@ Group: System/Base 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 @@ Conflicts: libudev-devel 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 @@ Provides: systemd:%{_bindir}/systemd-nspawn 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 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -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 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -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 @@ opensuse_ntp_servers=({0..3}.opensuse.pool.ntp.org) -Dhtml=false \ -Dmyhostname=false \ %endif +%if %{without coredump} + -Dcoredump=false \ +%endif %if %{without networkd} -Dnetworkd=false \ %endif @@ -485,6 +489,14 @@ mv %{buildroot}%{_libdir}/libnss_myhostname.so.2 %{buildroot}/%{_lib} 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:3} %{buildroot}/%{_sbindir}/systemd-sysv-convert 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 @@ mv %{buildroot}/%{_unitdir}/tmp.mount %{buildroot}/%{_datadir}/systemd/ # 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 @@ systemctl daemon-reload || : %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 @@ fi /bin/systemd /bin/systemd-ask-password /bin/systemctl +%{_bindir}/busctl +%{_bindir}/bootctl +%{_bindir}/hostnamectl +%{_bindir}/kernel-install +%{_bindir}/localectl %if %{with networkd} %{_bindir}/networkctl %endif -%{_bindir}/busctl -%{_bindir}/bootctl -%{_bindir}/kernel-install -%{_bindir}/hostnamectl -%{_bindir}/localectl +%if %{with resolved} +%{_bindir}/resolvectl +%endif %{_bindir}/systemctl %{_bindir}/systemd-analyze %{_bindir}/systemd-delta @@ -927,8 +930,13 @@ fi %{_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 @@ fi %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}/systemd-nspawn@.service -%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 @@ fi %{_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 @@ fi %{_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 @@ fi %{_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 @@ fi %{_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 @@ fi %{_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 @@ fi %{_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 @@ fi /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 @@ fi %{_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 @@ fi %{_mandir}/man5/coredump.conf* %{_mandir}/man8/systemd-coredump* %endif +%endif -%files container%{?mini} +%files container %defattr(-,root,root) %{_bindir}/systemd-nspawn %{_unitdir}/systemd-nspawn@.service -%{_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 @@ fi %{_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*