Name: systemd
# Verify ChangeLog and NEWS when updating (since there are incompatible/breaking changes very often)
Version: 221
-Release: 1
+Release: 12.1
Epoch: 1
License: GPL v2+ (udev), LGPL v2.1+ (the rest)
Group: Base
Source17: rc-inetd.service
Source18: default.preset
Source19: prefdm.service
+Source20: sigpwr-container-shutdown.service
+
# rules
Source101: udev-alsa.rules
Source102: udev.rules
Source103: udev-links.conf
+Source104: udev-uinput.rules
+Source105: udev-steam_controller.rules
# scripts / helpers
Source110: udev-net.helper
Source111: start_udev
Patch10: pld-boot_efi_mount.patch
Patch11: optional-tmp-on-tmpfs.patch
Patch12: uids_gids.patch
+Patch13: sysctl.patch
+Patch14: journal-gatewayd-fdopen.patch
URL: http://www.freedesktop.org/wiki/Software/systemd
BuildRequires: acl-devel
BuildRequires: attr-devel
BuildRequires: python3-devel
BuildRequires: python3-lxml
BuildRequires: python3-modules
+BuildRequires: rpm-build >= 5.4.15-28
%endif
%{?with_qrencode:BuildRequires: qrencode-devel}
BuildRequires: rpm-pythonprov
Requires: udev-core = %{epoch}:%{version}-%{release}
Requires: udev-libs = %{epoch}:%{version}-%{release}
Requires: uname(release) >= 3.7
-Suggests: ConsoleKit
Suggests: fsck >= 2.25.0
Suggests: service(klogd)
Suggests: service(syslog)
Provides: user(systemd-network)
Provides: user(systemd-resolve)
Provides: user(systemd-timesync)
+# kde4 still can't live without ConsoleKit
+#Obsoletes: ConsoleKit
+#Obsoletes: ConsoleKit-x11
Obsoletes: systemd-no-compat-tmpfiles
Obsoletes: udev-systemd
# sytemd wants pam with pam_systemd.so in system-auth...
Conflicts: libvirt-utils < 0.9.9-4
Conflicts: lighttpd < 1.4.30-5
Conflicts: lirc < 0.9.0-20
+# Needed for vgscan --cache ( perhaps < 2.02.96 would be enough, but not tested)
+Conflicts: lvm2 < 2.02.132
Conflicts: mailman < 5:2.1.14-4
Conflicts: memcached < 1.4.11-2
Conflicts: mpd < 0.16.5-4
Conflicts: upstart
# systemd takes care of that and causes problems
Conflicts: binfmt-detector
+# for /lib/systemd/systemd-sysv-install
+Conflicts: chkconfig < 2:1.5-1
%description init
Install this package when you are ready to final switch to systemd.
Summary(pl.UTF-8): Pliki nagłówkowe bibliotek systemd
Group: Development/Libraries
Requires: %{name}-libs = %{epoch}:%{version}-%{release}
+Requires: %{name}-units = %{epoch}:%{version}-%{release}
Obsoletes: systemd-static
%description devel
%patch10 -p1
%patch11 -p1
%patch12 -p1
+%patch13 -p1
+%patch14 -p1
cp -p %{SOURCE2} src/systemd_booted.c
%build
%{__autoheader}
%{__automake}
-for PYTHON in "%{__python}" %{?with_python3:"%{__python3}"} ; do
+for PYTHON in %{__python} %{?with_python3:%{__python3}}; do
%configure \
QUOTAON=/sbin/quotaon \
KEXEC=/sbin/kexec \
PYTHON="$PYTHON" \
PYTHON_BINARY="$PYTHON" \
+%if "%{?configure_cache}" == "1"
+ --cache-file=%{?configure_cache_file}%{!?configure_cache_file:configure}-$(basename $PYTHON).cache \
+%endif
%{?debug:--enable-debug} \
%{__enable_disable audit} \
%{__enable_disable cryptsetup libcryptsetup} \
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/var/lib/{%{name}/coredump,machines} \
+install -d $RPM_BUILD_ROOT/var/lib/{%{name}/{catalog,coredump},machines} \
$RPM_BUILD_ROOT{%{_sysconfdir}/{modprobe.d,systemd/system-preset},%{_sbindir}}
%{__make} -j1 install \
DESTDIR=$RPM_BUILD_ROOT
+touch $RPM_BUILD_ROOT/var/lib/%{name}/random-seed
+
./libtool --mode=install install -p -m755 systemd_booted $RPM_BUILD_ROOT/bin/systemd_booted
# compatibility symlinks to udevd binary
# compat symlinks for "/ merged into /usr" programs
mv $RPM_BUILD_ROOT/{,s}bin/udevadm
ln -s %{_sbindir}/udevadm $RPM_BUILD_ROOT/bin
-ln -s /lib/udev $RPM_BUILD_ROOT/usr/lib/
+ln -s /lib/udev $RPM_BUILD_ROOT%{_prefix}/lib
# install custom udev rules from pld package
cp -a %{SOURCE101} $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d/40-alsa-restore.rules
cp -a %{SOURCE102} $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d/70-udev-pld.rules
+cp -a %{SOURCE104} $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d/70-uinput.rules
+cp -a %{SOURCE105} $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d/70-steam_controller.rules
# http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames
ln -s /dev/null $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d/80-net-setup-link.rules
ln -s ../pld-storage-init.service $RPM_BUILD_ROOT%{systemdunitdir}/local-fs.target.wants
ln -s ../pld-clean-tmp.service $RPM_BUILD_ROOT%{systemdunitdir}/local-fs.target.wants
+# Add inside container only SIGPWR handler which is used by lxc-stop
+install -p %{SOURCE20} $RPM_BUILD_ROOT%{systemdunitdir}/sigpwr-container-shutdown.service
+install -d $RPM_BUILD_ROOT%{systemdunitdir}/sigpwr.target.wants
+ln -s ../sigpwr-container-shutdown.service $RPM_BUILD_ROOT%{systemdunitdir}/sigpwr.target.wants
+
# As of 207 the systemd-sysctl tool no longer natively reads the file /etc/sysctl.conf.
# If desired, the file should be symlinked from /etc/sysctl.d/99-sysctl.conf.
ln -s /etc/sysctl.conf $RPM_BUILD_ROOT/etc/sysctl.d/99-sysctl.conf
install -d $RPM_BUILD_ROOT%{_libexecdir}/systemd/system-{shutdown,sleep}
# Create new-style configuration files so that we can ghost-own them
-touch $RPM_BUILD_ROOT%{_sysconfdir}/{hostname,locale.conf,machine-id,machine-info,timezone,vconsole.conf}
+touch $RPM_BUILD_ROOT%{_sysconfdir}/{hostname,locale.conf,machine-id,machine-info,vconsole.conf}
# Install SysV conversion tool for systemd
install -p %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}
install -d $RPM_BUILD_ROOT/lib/systemd/pld-helpers.d
# to be enabled only when the packages are installed
-%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/systemd/system/*.target.wants/systemd-networkd.service
-%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/systemd/system/*.target.wants/systemd-networkd.socket
-%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/systemd/system/*.target.wants/systemd-resolved.service
+%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/systemd/system/*.target.wants/systemd-networkd.service \
+ $RPM_BUILD_ROOT%{_sysconfdir}/systemd/system/*.target.wants/systemd-networkd.socket \
+ $RPM_BUILD_ROOT%{_sysconfdir}/systemd/system/*.target.wants/systemd-resolved.service
install -d $RPM_BUILD_ROOT/var/log
:> $RPM_BUILD_ROOT/var/log/btmp
:> $RPM_BUILD_ROOT/var/log/wtmp
%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
-%{__rm} $RPM_BUILD_ROOT/%{_lib}/security/pam_systemd.la
-%{__rm} $RPM_BUILD_ROOT/%{_lib}/libnss_myhostname.la
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
+%{__rm} $RPM_BUILD_ROOT/%{_lib}/security/pam_systemd.la \
+ $RPM_BUILD_ROOT/%{_lib}/libnss_myhostname.la \
+ $RPM_BUILD_ROOT%{_libdir}/*.la
%if %{with python3}
%{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/systemd/*.la
# install Python2 files, binaries built and saved earlier
install -d $RPM_BUILD_ROOT%{py_sitedir}/systemd
cp -a $RPM_BUILD_ROOT%{py3_sitedir}/systemd/*.py $RPM_BUILD_ROOT%{py_sitedir}/systemd
-install -p .libs/python/*.so $RPM_BUILD_ROOT%{py_sitedir}/systemd
+install -p .libs/python2/*.so $RPM_BUILD_ROOT%{py_sitedir}/systemd
%py_comp $RPM_BUILD_ROOT%{py_sitedir}
%py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
%else
/etc/dbus-1/system.d/org.freedesktop.systemd1.conf
/etc/dbus-1/system.d/org.freedesktop.timedate1.conf
%attr(755,root,root) %{_sysconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh
-%ghost %config(noreplace) %{_sysconfdir}/machine-id
+%attr(444,root,root) %ghost %config(noreplace) %{_sysconfdir}/machine-id
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/hostname
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/locale.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/machine-info
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/timezone
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vconsole.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/systemd/bootchart.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/systemd/coredump.conf
%dir %{_sysconfdir}/systemd/system/sockets.target.wants
%dir %{_sysconfdir}/systemd/system/sysinit.target.wants
%config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/systemd/system/getty.target.wants/getty@tty1.service
-%config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/systemd/system/sysinit.target.wants/systemd-timesyncd.service
%config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/systemd/system/multi-user.target.wants/remote-fs.target
+%config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/systemd/system/sysinit.target.wants/systemd-timesyncd.service
%config(noreplace) %verify(not md5 mtime size) /etc/pam.d/systemd-user
/etc/xdg/systemd
%attr(755,root,root) /bin/journalctl
%attr(755,root,root) /lib/systemd/systemd-vconsole-setup
%attr(755,root,root) /lib/systemd/systemd
%{?with_cryptsetup:%attr(755,root,root) /lib/systemd/system-generators/systemd-cryptsetup-generator}
-%attr(755,root,root) /lib/systemd/system-generators/systemd-dbus1-generator
%attr(755,root,root) /lib/systemd/system-generators/systemd-debug-generator
%attr(755,root,root) /lib/systemd/system-generators/systemd-efi-boot-generator
%attr(755,root,root) /lib/systemd/system-generators/systemd-fstab-generator
%{_mandir}/man8/systemd-update-utmp.8*
%{_mandir}/man8/systemd-user-sessions.8*
%{_mandir}/man8/systemd-vconsole-setup.8*
-%dir /var/lib/machines
+%attr(700,root,root) %dir /var/lib/machines
%dir /var/lib/%{name}
%dir /var/lib/%{name}/coredump
-%attr(640,root,root) %ghost /var/log/btmp
+%dir /var/lib/%{name}/catalog
+%attr(640,root,root) %ghost /var/lib/%{name}/random-seed
+%attr(600,root,utmp) %ghost /var/log/btmp
%attr(664,root,utmp) %ghost /var/log/wtmp
%attr(2755,root,systemd-journal) %dir /var/log/journal
%{_libexecdir}/systemd/user-generators/systemd-dbus1-generator
%dir /lib/systemd/pld-helpers.d
%dir /lib/systemd/system-generators
+%attr(755,root,root) /lib/systemd/system-generators/systemd-dbus1-generator
%dir /lib/systemd/system-preset
/lib/systemd/system-preset/90-systemd.preset
%dir /lib/systemd/system-sleep
%{systemdunitdir}/rescue.service
%{systemdunitdir}/serial-getty@.service
%{systemdunitdir}/single.service
+%{systemdunitdir}/sigpwr-container-shutdown.service
%{systemdunitdir}/sys-kernel-config.service
%{systemdunitdir}/systemd-ask-password-console.service
%{systemdunitdir}/systemd-ask-password-wall.service
%dir %{systemdunitdir}/rescue.target.wants
%dir %{systemdunitdir}/runlevel[12345].target.wants
%dir %{systemdunitdir}/shutdown.target.wants
+%dir %{systemdunitdir}/sigpwr.target.wants
%dir %{systemdunitdir}/sockets.target.wants
%dir %{systemdunitdir}/sysinit.target.wants
%dir %{systemdunitdir}/syslog.target.wants
%{systemdunitdir}/multi-user.target.wants/systemd-update-utmp-runlevel.service
%{systemdunitdir}/multi-user.target.wants/systemd-user-sessions.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
%files -n udev-core
%defattr(644,root,root,755)
-/usr/lib/udev
+%{_prefix}/lib/udev
%attr(755,root,root) /lib/udev/collect
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/udev/links.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/udev/rules.d/40-alsa-restore.rules
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/udev/rules.d/70-udev-pld.rules
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/udev/rules.d/70-uinput.rules
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/udev/rules.d/70-steam_controller.rules
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/udev/rules.d/80-net-setup-link.rules
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/udev/udev.conf