%bcond_without fido2 # FIDO2 support
%bcond_without tpm2 # TPM2 support
%bcond_with tests # "make check" (requires systemd already installed)
+%bcond_with xen # Xen kexec support
%ifnarch %{ix86} %{x8664} aarch64
# x32 disabled - maybe it's possible to build x64 EFI, but it requires some hacking (add -m64 to EFI gcc command line?)
Summary(pl.UTF-8): systemd - zarządca systemu i usług dla Linuksa
Name: systemd
# Verify ChangeLog and NEWS when updating (since there are incompatible/breaking changes very often)
-Version: 252.5
-Release: 2
+Version: 253.1
+Release: 1
Epoch: 1
License: GPL v2+ (udev), LGPL v2.1+ (the rest)
Group: Base
#Source0Download: https://github.com/systemd/systemd/releases
Source0: https://github.com/systemd/systemd-stable/archive/v%{version}/%{name}-%{version}.tar.gz
-# Source0-md5: 31d247df965121f453f1339371cca831
+# Source0-md5: e924b15c1bc32f763b6a45fbe554667a
Source1: %{name}-sysv-convert
Source2: %{name}_booted.c
Source3: network.service
BuildRequires: pld-release
BuildRequires: pkgconfig >= 1:0.9.0
BuildRequires: polkit-devel >= 0.106
-BuildRequires: python3
+BuildRequires: python3 >= 1:3.9
BuildRequires: python3-jinja2
BuildRequires: python3-lxml
%{?with_qrencode:BuildRequires: qrencode-devel >= 3}
%{?with_tests:BuildRequires: systemd}
%{?with_tpm2:BuildRequires: tpm2-tss-devel >= 3.0.0}
BuildRequires: usbutils >= 0.82
+%{?with_xen:BuildRequires: xen-devel}
BuildRequires: xorg-lib-libxkbcommon-devel >= 0.5.0
BuildRequires: xz-devel
BuildRequires: zlib-devel
'systemd-analyze plot' tworzy wykres SVG wizualizujący równoległy
start jednostek podczas rozruchu.
+%package ukify
+Summary: Tool for combining kernel and initrd into Unified Kernel Image (UKI)
+Summary(pl.UTF-8): Narzędzie do łączenia jądra oraz initrd w Unified Kernel Image (UKI)
+Group: Base
+Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires: python3-modules >= 1:3.9
+
+%description ukify
+Tool for combining kernel and initrd into Unified Kernel Image (UKI).
+
+%description ukify -l pl.UTF-8
+Narzędzie do łączenia jądra oraz initrd w Unified Kernel Image (UKI).
+
%package libs
Summary: Shared systemd libraries
Summary(pl.UTF-8): Biblioteki współdzielone systemd
grep -rlZ -0 '#!/usr/bin/env bash' . | xargs -0 sed -i -e 's,#!/usr/bin/env bash,#!/bin/bash,g'
+%{__sed} -i -e '1 s,#!.*env python3,#!%{__python3},' src/ukify/ukify.py
+
%build
%meson build \
-Dadm-gid=3 \
-Dsysvrcnd-path=/etc/rc.d \
-Dtpm2=%{__true_false tpm2} \
-Dumount-path=/bin/umount \
+ -Dxenctrl=%{__true_false xen}
%ninja_build -C build
%attr(755,root,root) %{_bindir}/hostnamectl
%attr(755,root,root) %{_bindir}/kernel-install
%attr(755,root,root) %{_bindir}/localectl
+%attr(755,root,root) %{_bindir}/systemd-ac-power
%attr(755,root,root) %{_bindir}/systemd-cat
%{?with_cryptsetup:%attr(755,root,root) %{_bindir}/systemd-cryptenroll}
%attr(755,root,root) %{_bindir}/systemd-delta
/lib/modprobe.d/systemd.conf
/lib/systemd/resolv.conf
%attr(755,root,root) /lib/systemd/pld-clean-tmp
-%attr(755,root,root) /lib/systemd/systemd-ac-power
%attr(755,root,root) /lib/systemd/systemd-backlight
%attr(755,root,root) /lib/systemd/systemd-binfmt
%{?with_efi:%attr(755,root,root) /lib/systemd/systemd-bless-boot}
%dir %{_prefix}/lib/kernel/install.d
%{_prefix}/lib/kernel/install.d/50-depmod.install
%{_prefix}/lib/kernel/install.d/90-loaderentry.install
+%{_prefix}/lib/kernel/install.d/90-uki-copy.install
%if %{with efi}
%dir %{_prefix}/lib/systemd/boot
%dir %{_prefix}/lib/systemd/boot/efi
%lang(be) %{_prefix}/lib/systemd/catalog/systemd.be.catalog
%lang(be) %{_prefix}/lib/systemd/catalog/systemd.be@latin.catalog
%lang(bg) %{_prefix}/lib/systemd/catalog/systemd.bg.catalog
+%lang(da) %{_prefix}/lib/systemd/catalog/systemd.da.catalog
%lang(de) %{_prefix}/lib/systemd/catalog/systemd.de.catalog
%lang(fr) %{_prefix}/lib/systemd/catalog/systemd.fr.catalog
+%lang(hr) %{_prefix}/lib/systemd/catalog/systemd.hr.catalog
+%lang(hu) %{_prefix}/lib/systemd/catalog/systemd.hu.catalog
%lang(it) %{_prefix}/lib/systemd/catalog/systemd.it.catalog
+%lang(ko) %{_prefix}/lib/systemd/catalog/systemd.ko.catalog
%lang(pl) %{_prefix}/lib/systemd/catalog/systemd.pl.catalog
%lang(pt_BR) %{_prefix}/lib/systemd/catalog/systemd.pt_BR.catalog
%lang(ru) %{_prefix}/lib/systemd/catalog/systemd.ru.catalog
+%lang(sr) %{_prefix}/lib/systemd/catalog/systemd.sr.catalog
%lang(zh_CN) %{_prefix}/lib/systemd/catalog/systemd.zh_CN.catalog
%lang(zh_TW) %{_prefix}/lib/systemd/catalog/systemd.zh_TW.catalog
%dir %{_prefix}/lib/sysusers.d
%if %{with microhttpd}
%{_prefix}/lib/sysusers.d/systemd-remote.conf
%endif
+%{_prefix}/lib/tmpfiles.d/credstore.conf
%{_prefix}/lib/tmpfiles.d/etc.conf
%{_prefix}/lib/tmpfiles.d/home.conf
%{_prefix}/lib/tmpfiles.d/journal-nocow.conf
%{_mandir}/man1/localectl.1*
%{_mandir}/man1/loginctl.1*
%{_mandir}/man1/systemd.1*
+%{_mandir}/man1/systemd-ac-power.1*
%{_mandir}/man1/systemd-ask-password.1*
%{_mandir}/man1/systemd-cat.1*
%{_mandir}/man1/systemd-creds.1*
%{systemdunitdir}/systemd-binfmt.service
%if %{with efi}
%{systemdunitdir}/systemd-bless-boot.service
-%{systemdunitdir}/systemd-boot-system-token.service
+%{systemdunitdir}/systemd-boot-random-seed.service
%{systemdunitdir}/systemd-boot-update.service
%endif
%{systemdunitdir}/systemd-boot-check-no-failures.service
%{systemdunitdir}/systemd-firstboot.service
%{systemdunitdir}/systemd-fsck-root.service
%{systemdunitdir}/systemd-fsck@.service
+%{systemdunitdir}/systemd-growfs-root.service
+%{systemdunitdir}/systemd-growfs@.service
%{systemdunitdir}/systemd-halt.service
%{systemdunitdir}/systemd-hibernate-resume@.service
%{systemdunitdir}/systemd-hibernate.service
%{systemdunitdir}/systemd-modules-load.service
%{systemdunitdir}/systemd-nspawn@.service
%if %{with efi} && %{with tpm2}
+%{systemdunitdir}/systemd-pcrfs-root.service
+%{systemdunitdir}/systemd-pcrfs@.service
+%{systemdunitdir}/systemd-pcrmachine.service
%{systemdunitdir}/systemd-pcrphase-initrd.service
%{systemdunitdir}/systemd-pcrphase-sysinit.service
%{systemdunitdir}/systemd-pcrphase.service
%{systemdunitdir}/rescue.target.wants/systemd-update-utmp-runlevel.service
%{systemdunitdir}/sigpwr.target.wants/sigpwr-container-shutdown.service
%{systemdunitdir}/sockets.target.wants/systemd-initctl.socket
-%{systemdunitdir}/sockets.target.wants/systemd-journald-audit.socket
%{systemdunitdir}/sockets.target.wants/systemd-journald-dev-log.socket
%{systemdunitdir}/sockets.target.wants/systemd-journald.socket
%{systemdunitdir}/sockets.target.wants/systemd-udevd-control.socket
%{systemdunitdir}/sysinit.target.wants/sys-kernel-tracing.mount
%{systemdunitdir}/sysinit.target.wants/systemd-ask-password-console.path
%{systemdunitdir}/sysinit.target.wants/systemd-binfmt.service
-%{?with_efi:%{systemdunitdir}/sysinit.target.wants/systemd-boot-system-token.service}
+%{?with_efi:%{systemdunitdir}/sysinit.target.wants/systemd-boot-random-seed.service}
%{systemdunitdir}/sysinit.target.wants/systemd-firstboot.service
%{systemdunitdir}/sysinit.target.wants/systemd-hwdb-update.service
%{systemdunitdir}/sysinit.target.wants/systemd-journal-catalog-update.service
%{systemdunitdir}/sysinit.target.wants/systemd-machine-id-commit.service
%{systemdunitdir}/sysinit.target.wants/systemd-modules-load.service
%if %{with efi} && %{with tpm2}
+%{systemdunitdir}/sysinit.target.wants/systemd-pcrmachine.service
%{systemdunitdir}/sysinit.target.wants/systemd-pcrphase-sysinit.service
%{systemdunitdir}/sysinit.target.wants/systemd-pcrphase.service
%endif
%{_mandir}/man8/systemd-binfmt.service.8*
%{?with_efi:%{_mandir}/man8/systemd-bless-boot.service.8*}
%{_mandir}/man8/systemd-boot-check-no-failures.service.8*
-%{?with_efi:%{_mandir}/man8/systemd-boot-system-token.service.8*}
+%{?with_efi:%{_mandir}/man8/systemd-boot-random-seed.service.8*}
%{_mandir}/man8/systemd-coredump.socket.8*
%{_mandir}/man8/systemd-coredump@.service.8*
%if %{with cryptsetup}
%{_mandir}/man8/systemd-logind.service.8*
%{_mandir}/man8/systemd-modules-load.service.8*
%if %{with efi} && %{with tpm2}
+%{_mandir}/man8/systemd-pcrfs-root.service.8*
+%{_mandir}/man8/systemd-pcrfs@.service.8*
+%{_mandir}/man8/systemd-pcrmachine.service.8*
%{_mandir}/man8/systemd-pcrphase-initrd.service.8*
%{_mandir}/man8/systemd-pcrphase-sysinit.service.8*
%{_mandir}/man8/systemd-pcrphase.8*
%{_prefix}/lib/tmpfiles.d/systemd-network.conf
/lib/systemd/network/80-6rd-tunnel.network
/lib/systemd/network/80-container-host0.network
+/lib/systemd/network/80-container-vb.network
/lib/systemd/network/80-container-ve.network
/lib/systemd/network/80-container-vz.network
/lib/systemd/network/80-vm-vt.network
%attr(755,root,root) %{_bindir}/systemd-analyze
%{_mandir}/man1/systemd-analyze.1*
+%if %{with efi}
+%files ukify
+%defattr(644,root,root,755)
+%attr(755,root,root) /lib/systemd/ukify
+%{_mandir}/man1/ukify.1*
+%endif
+
%files libs
%defattr(644,root,root,755)
%attr(755,root,root) /%{_lib}/libnss_myhostname.so.2
%{bash_compdir}/systemd-cryptenroll
%{bash_compdir}/systemd-delta
%{bash_compdir}/systemd-detect-virt
+%{bash_compdir}/systemd-dissect
%{bash_compdir}/systemd-id128
%{bash_compdir}/systemd-nspawn
%{bash_compdir}/systemd-path
%{bash_compdir}/systemd-resolve
%{bash_compdir}/systemd-run
+%{bash_compdir}/systemd-sysext
%{bash_compdir}/timedatectl
%files -n zsh-completion-systemd
/lib/udev/rules.d/60-drm.rules
/lib/udev/rules.d/60-evdev.rules
/lib/udev/rules.d/60-fido-id.rules
+/lib/udev/rules.d/60-infiniband.rules
/lib/udev/rules.d/60-input-id.rules
/lib/udev/rules.d/60-persistent-alsa.rules
/lib/udev/rules.d/60-persistent-input.rules
--- systemd-240/src/shared/locale-setup.c.orig 2019-01-13 09:27:36.718995151 +0100
+++ systemd-240/src/shared/locale-setup.c 2019-01-13 09:29:37.548993771 +0100
@@ -21,6 +21,7 @@
- locale_context_clear(c);
+ locale_context_clear(c);
- r = proc_cmdline_get_key_many(PROC_CMDLINE_STRIP_RD_PREFIX,
-+ "LANG", &c->locale[VARIABLE_LANG],
- "locale.LANG", &c->locale[VARIABLE_LANG],
- "locale.LANGUAGE", &c->locale[VARIABLE_LANGUAGE],
- "locale.LC_CTYPE", &c->locale[VARIABLE_LC_CTYPE],
+ r = proc_cmdline_get_key_many(PROC_CMDLINE_STRIP_RD_PREFIX,
++ "LANG", &c->locale[VARIABLE_LANG],
+ "locale.LANG", &c->locale[VARIABLE_LANG],
+ "locale.LANGUAGE", &c->locale[VARIABLE_LANGUAGE],
+ "locale.LC_CTYPE", &c->locale[VARIABLE_LC_CTYPE],
@@ -59,6 +60,17 @@
- if (r < 0 && errno != ENOENT)
- return log_debug_errno(errno, "Failed to stat /etc/locale.conf: %m");
+ if (fstat(fd, &st) < 0)
+ return log_debug_errno(errno, "Failed to stat /etc/locale.conf: %m");
+ if (r < 0 && stat("/etc/sysconfig/i18n", &st) == 0) {
+ locale_context_clear(c);
+ }
+ }
+
- if (r >= 0) {
- /* If mtime is not changed, then we do not need to re-read the file. */
- t = timespec_load(&st.st_mtim);
+ /* If the file is not changed, then we do not need to re-read the file. */
+ if (stat_inode_unmodified(&c->st, &st))
+ return 0;
--- systemd-240/src/basic/time-util.c.orig 2019-01-13 09:27:36.718995151 +0100
+++ systemd-240/src/basic/time-util.c 2019-01-13 09:31:12.275659356 +0100
@@ -14,6 +14,7 @@
+++ systemd-240/src/vconsole/vconsole-setup.c 2014-01-09 15:17:49.000000000 +0100
@@ -284,6 +284,17 @@ int main(int argc, char **argv) {
if (r < 0 && r != -ENOENT)
- log_warning_errno(r, "Failed to read /etc/vconsole.conf: %m");
+ log_warning_errno(r, "Failed to read /etc/vconsole.conf, ignoring: %m");
+ if (r < 0) {
+ int r1 = parse_env_file(NULL, "/etc/sysconfig/console"
+ log_warning_errno(r1, "Failed to read /etc/sysconfig/console: %m");
+ }
+
- /* Let the kernel command line override /etc/vconsole.conf */
+ /* Let the kernel command line override /etc/vconsole.conf (highest priority) */
r = proc_cmdline_get_key_many(
PROC_CMDLINE_STRIP_RD_PREFIX,