Name: systemd
# Verify ChangeLog and NEWS when updating (since there are incompatible/breaking changes very often)
Version: 208
-Release: 1
+Release: 9
Epoch: 1
License: GPL v2+ (udev), LGPL v2.1+ (the rest)
Group: Base
Patch11: nss-in-rootlib.patch
Patch12: proc-hidepid.patch
Patch14: dont-hash-null-keys.patch
+Patch15: hibernate-to-file.patch
+Patch16: systemd-configfs.patch
+Patch17: pld-boot_efi_mount.patch
URL: http://www.freedesktop.org/wiki/Software/systemd
BuildRequires: acl-devel
BuildRequires: attr-devel
Requires: %{name}-units = %{epoch}:%{version}-%{release}
Requires(postun): /usr/sbin/groupdel
Requires(postun): /usr/sbin/userdel
+Requires(post): /bin/setfacl
Requires(pre): /bin/id
Requires(pre): /usr/bin/getgid
Requires(pre): /usr/sbin/groupadd
%patch12 -p1
# possible cause of infinite loop inside systemd-login
#patch14 -p1
+%patch15 -p1
+%patch16 -p1
+%patch17 -p1
cp -p %{SOURCE2} src/systemd_booted.c
%build
cp -a %{SOURCE120} $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/udev_blacklist.conf
cp -a %{SOURCE121} $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/fbdev-blacklist.conf
+:>$RPM_BUILD_ROOT%{_sysconfdir}/udev/hwdb.bin
+
mv $RPM_BUILD_ROOT%{_mandir}/man8/{systemd-,}udevd.8
echo ".so man8/udevd.8" >$RPM_BUILD_ROOT%{_mandir}/man8/systemd-udevd.8
%groupadd -g 288 systemd-journal
%post
-# should we?
-#setfacl -nm g:logs:rx,d:g:logs:rx /var/log/journal
-/bin/systemd-machine-id-setup > /dev/null 2>&1 || :
-/bin/systemctl daemon-reexec > /dev/null 2>&1 || :
+/bin/systemd-machine-id-setup || :
+/lib/systemd/systemd-random-seed save || :
+/bin/systemctl --system daemon-reexec || :
+/bin/journalctl --update-catalog || :
+# Apply ACL to the journal directory
+/bin/setfacl -Rnm g:logs:rx,d:g:logs:rx /var/log/journal || :
%postun
if [ $1 -ge 1 ]; then
- /bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || :
+ /bin/systemctl --system daemon-reload || :
+ /bin/systemctl try-restart systemd-logind.service || :
fi
if [ "$1" = "0" ]; then
%groupremove systemd-journal
%post units
if [ $1 -eq 1 ]; then
# Try to read default runlevel from the old inittab if it exists
- runlevel=$(/bin/awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab 2> /dev/null)
+ runlevel=$(/bin/awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab 2>/dev/null)
if [ -z "$runlevel" ] ; then
target="%{systemdunitdir}/graphical.target"
else
fi
# And symlink what we found to the new-style default.target
- ln -s "$target" %{_sysconfdir}/systemd/system/default.target >/dev/null 2>&1 || :
+ ln -s "$target" %{_sysconfdir}/systemd/system/default.target || :
# Setup hostname
[ -f /etc/sysconfig/network ] && . /etc/sysconfig/network
# Enable the services we install by default.
/bin/systemctl enable \
- getty@.service \
network.service \
remote-fs.target \
systemd-readahead-replay.service \
systemd-readahead-collect.service \
- systemd-udev-settle.service >/dev/null 2>&1 || :
+ systemd-udev-settle.service || :
fi
%preun units
if [ $1 -eq 0 ] ; then
/bin/systemctl disable \
- getty@.service \
network.service \
remote-fs.target \
systemd-readahead-replay.service \
systemd-readahead-collect.service \
- systemd-udev-settle.service >/dev/null 2>&1 || :
+ systemd-udev-settle.service || :
- %{__rm} -f %{_sysconfdir}/systemd/system/default.target >/dev/null 2>&1 || :
+ %{__rm} -f %{_sysconfdir}/systemd/system/default.target || :
fi
%postun units
if [ $1 -ge 1 ]; then
- /bin/systemctl daemon-reload > /dev/null 2>&1 || :
+ /bin/systemctl daemon-reload || :
fi
%triggerpostun units -- systemd-units < 43-7
# Remove design fialures
-%{__rm} -f %{_sysconfdir}/systemd/system/network.target.wants/ifcfg@*.service >/dev/null 2>&1 || :
-%{__rm} -f %{_sysconfdir}/systemd/system/network.target.wants/network-post.service >/dev/null 2>&1 || :
-%{__rm} -f %{_sysconfdir}/systemd/system/multi-user.target.wants/network-post.service >/dev/null 2>&1 || :
-/bin/systemctl reenable network.service >/dev/null 2>&1 || :
+%{__rm} -f %{_sysconfdir}/systemd/system/network.target.wants/ifcfg@*.service || :
+%{__rm} -f %{_sysconfdir}/systemd/system/network.target.wants/network-post.service || :
+%{__rm} -f %{_sysconfdir}/systemd/system/multi-user.target.wants/network-post.service || :
+/bin/systemctl reenable network.service || :
%triggerpostun units -- systemd-units < 1:183
-/bin/systemctl --quiet enable systemd-udev-settle.service >/dev/null 2>&1 || :
-%{__rm} -f /etc/systemd/system/basic.target.wants/udev-settle.service >/dev/null 2>&1 || :
+/bin/systemctl --quiet enable systemd-udev-settle.service || :
+%{__rm} -f /etc/systemd/system/basic.target.wants/udev-settle.service || :
# preserve renamed configs
if [ -f /etc/systemd/systemd-journald.conf.rpmsave ]; then
%{__mv} /etc/systemd/journald.conf{,.rpmnew}
fi
fi
+%triggerpostun units -- systemd-units < 1:208-9
+# remove buggy symlink
+if [ -L /etc/systemd/system/getty.target.wants/getty@.service ] ; then
+ rm -f /etc/systemd/system/getty.target.wants/getty@.service || :
+fi
+
%post inetd
%systemd_reload
# Do not change it to restart, we only want to start new services here
/sbin/udevadm info --convert-db
%post -n udev-core
+/sbin/udevadm hwdb --update || :
if [ $1 -gt 1 ]; then
if [ ! -x /bin/systemd_booted ] || ! /bin/systemd_booted; then
if grep -qs devtmpfs /proc/mounts && [ -n "$(pidof udevd)" ]; then
/lib/udev/rules.d/71-seat.rules
/lib/udev/rules.d/73-seat-late.rules
/lib/udev/rules.d/99-systemd.rules
-%dir %{_libexecdir}/systemd
-%dir %{_libexecdir}/systemd/system-shutdown
-%dir %{_libexecdir}/systemd/system-sleep
%dir %{_libexecdir}/systemd/catalog
%{_libexecdir}/systemd/catalog/systemd.catalog
-%{_libexecdir}/systemd/user
-%dir %{_libexecdir}/systemd/user-generators
%{_libexecdir}/tmpfiles.d/legacy.conf
%{_libexecdir}/tmpfiles.d/systemd.conf
%{_libexecdir}/tmpfiles.d/tmp.conf
%{_mandir}/man1/timedatectl.1*
%{_mandir}/man5/binfmt.d.5*
%{_mandir}/man5/bootchart.conf.5*
-# cfl with rc-scripts
-#%{_mandir}/man5/crypttab.5*
%{_mandir}/man5/hostname.5*
%{_mandir}/man5/journald.conf.5*
%{_mandir}/man5/locale.conf.5*
%attr(755,root,root) /sbin/shutdown
%attr(755,root,root) /sbin/telinit
%{_mandir}/man1/init.1*
-%{_mandir}/man5/crypttab.5*
+%{?with_cryptsetup:%{_mandir}/man5/crypttab.5*}
%{_mandir}/man8/halt.8*
%{_mandir}/man8/poweroff.8*
%{_mandir}/man8/reboot.8*
%dir %{_libexecdir}/binfmt.d
%dir %{_libexecdir}/modules-load.d
%dir %{_libexecdir}/sysctl.d
+%{_libexecdir}/sysctl.d/50-default.conf
+%dir %{_libexecdir}/systemd
+%dir %{_libexecdir}/systemd/system-shutdown
+%dir %{_libexecdir}/systemd/system-sleep
+%dir %{_libexecdir}/systemd/user
+%{_libexecdir}/systemd/user/*.target
+%{_libexecdir}/systemd/user/systemd-exit.service
+%dir %{_libexecdir}/systemd/user-generators
%dir /lib/systemd/pld-helpers.d
%dir /lib/systemd/system-generators
%dir /lib/systemd/system-sleep
%dir /lib/systemd/system-shutdown
-%{_libexecdir}/sysctl.d/50-default.conf
%attr(755,root,root) /bin/systemctl
%attr(755,root,root) /bin/systemd-tmpfiles
%attr(755,root,root) /bin/systemd_booted
%dir %{_sysconfdir}/udev
%dir %{_sysconfdir}/udev/rules.d
%dir %{_sysconfdir}/udev/hwdb.d
+%ghost %{_sysconfdir}/udev/hwdb.bin
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/modprobe.d/fbdev-blacklist.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/modprobe.d/udev_blacklist.conf