# TODO:
# - pldize vconsole setup:
# http://cgit.freedesktop.org/systemd/systemd/tree/src/vconsole/vconsole-setup.c
-# - udev initrd needs love (is probably completly unusable in current form)
-# - replace our rpm macros with systemd provided?
+# - initrd needs love (does not build and is probably completly unusable in current form)
+# - merge rpm macros provided by systemd with ours
#
# Conditional build:
%bcond_without audit # without audit support
%bcond_without selinux # without SELinux support
%bcond_without tcpd # libwrap (tcp_wrappers) support
-%bcond_without initrd # build without udev-initrd
+%bcond_with initrd # build without udev-initrd
%bcond_with uClibc # link initrd version with static uClibc
%bcond_with klibc # link initrd version with static klibc
%bcond_with dietlibc # link initrd version with static dietlibc (currently broken and unsupported)
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: 186
-Release: 2
+Version: 196
+Release: 1
Epoch: 1
License: GPL v2+
Group: Base
Source0: http://www.freedesktop.org/software/systemd/%{name}-%{version}.tar.xz
-# Source0-md5: 17eff1d31e6e49bf82e129fe57efd59b
+# Source0-md5: 05ebd7f108e420e2b4e4810ea4b3c810
Source1: %{name}-sysv-convert
Source2: %{name}_booted.c
Source3: network.service
Source15: pld-clean-tmp.sh
Source16: pld-rc-inetd-generator.sh
Source17: rc-inetd.service
+Source18: default.preset
# rules
Source101: udev-alsa.rules
Source102: udev.rules
Patch2: shut-sysv-up.patch
Patch3: pld-sysv-network.patch
Patch4: tmpfiles-not-fatal.patch
-Patch5: kmsg-to-syslog.patch
Patch6: udev-so.patch
Patch7: udev-uClibc.patch
Patch8: udev-ploop-rules.patch
Patch9: udevadm-in-sbin.patch
+Patch10: net-rename-revert.patch
# hack set to allow static udev build
Patch100: static-udev.patch
URL: http://www.freedesktop.org/wiki/Software/systemd
BuildRequires: autoconf >= 2.64
BuildRequires: automake >= 1:1.11
BuildRequires: binutils >= 3:2.22.52.0.1-2
-%{?with_cryptsetup:BuildRequires: cryptsetup-luks-devel}
+%{?with_cryptsetup:BuildRequires: cryptsetup-devel >= 1.4.3}
BuildRequires: dbus-devel >= 1.3.2
BuildRequires: docbook-style-xsl
BuildRequires: glib2-devel >= 1:2.22.0
%{?with_pam:BuildRequires: pam-devel}
BuildRequires: pciutils
BuildRequires: pkgconfig >= 0.9.0
+BuildRequires: python-devel
BuildRequires: python-modules
+BuildRequires: rpm-pythonprov
BuildRequires: rpmbuild(macros) >= 1.628
BuildRequires: sed >= 4.0
BuildRequires: usbutils >= 0.82
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: python-dbus
Requires: python-modules
-Requires: python-pycairo
+Suggests: python-pycairo
Conflicts: systemd < 44-3
%description analyze
Implementacja devfs w przestrzeni użytkownika - statyczna binarka dla
initrd.
+%package -n python-systemd
+Summary: Systemd Python bindings
+Summary(pl.UTF-8): Wiązania do Systemd dla Pythona
+Group: Development/Languages/Python
+%pyrequires_eq python
+Requires: %{name}-libs = %{epoch}:%{version}-%{release}
+
+%description -n python-systemd
+Systemd Python bindings.
+
+%description -n python-systemd -l pl.UTF-8
+Wiązania do Systemd dla Pythona.
+
%prep
%setup -q
%patch0 -p1
#patch2 -p1
%patch3 -p1
%patch4 -p1
-%patch5 -p1
%patch6 -p1
%if %{with uClibc}
%patch7 -p1
%endif
%patch8 -p1
%patch9 -p1
+%patch10 -p1
cp -p %{SOURCE2} src/systemd_booted.c
%build
--disable-keymap \
--disable-gtk-doc \
--disable-introspection \
- --with-pci-ids-path=%{_sysconfdir}/pci.ids \
--disable-audit \
--disable-pam \
- --disable-plymouth \
--disable-selinux \
--enable-split-usr
%{__enable_disable pam} \
%{__enable_disable selinux} \
%{__enable_disable tcpd tcpwrap} \
- --disable-plymouth \
--disable-silent-rules \
--enable-shared \
--enable-static \
--with-rootprefix="" \
--with-rootlibdir=/%{_lib} \
--with-html-dir=%{_gtkdocdir} \
- --with-pci-ids-path=%{_sysconfdir}/pci.ids \
--enable-gtk-doc \
--enable-introspection \
--enable-split-usr
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT/var/lib/%{name}/coredump \
- $RPM_BUILD_ROOT{%{_sysconfdir}/modprobe.d,%{_sbindir}}
+ $RPM_BUILD_ROOT{%{_sysconfdir}/{modprobe.d,systemd/system-preset},%{_sbindir}}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
cp -p %{SOURCE16} $RPM_BUILD_ROOT/lib/systemd/system-generators/pld-rc-inetd-generator
cp -p %{SOURCE17} $RPM_BUILD_ROOT%{systemdunitdir}/rc-inetd.service
+cp -p %{SOURCE18} $RPM_BUILD_ROOT%{_sysconfdir}/systemd/system-preset/default.preset
+
# handled by rc-local sysv service, no need for generator
%{__rm} $RPM_BUILD_ROOT/lib/systemd/system-generators/systemd-rc-local-generator
%{__mv} -f /etc/systemd/systemd-logind.conf.rpmsave /etc/systemd/logind.conf
fi
+%triggerpostun units -- systemd-units < 1:187-3
+if [ -f /etc/sysconfig/rpm ]; then
+ . /etc/sysconfig/rpm
+ if [ ${RPM_ENABLE_SYSTEMD_SERVICE:-yes} = no ]; then
+ echo "disable *" >>%{_sysconfdir}/systemd/system-preset/default.preset
+ fi
+fi
+
%post inetd
%systemd_reload
# Do not change it to restart, we only want to start new services here
%attr(755,root,root) /bin/systemd-machine-id-setup
%attr(755,root,root) /bin/systemd-notify
%attr(755,root,root) /bin/systemd-tty-ask-password-agent
+%attr(755,root,root) %{_bindir}/hostnamectl
+%attr(755,root,root) %{_bindir}/localectl
+%attr(755,root,root) %{_bindir}/systemd-coredumpctl
+%attr(755,root,root) %{_bindir}/timedatectl
%attr(755,root,root) %{_bindir}/systemd-cat
%attr(755,root,root) %{_bindir}/systemd-cgtop
%attr(755,root,root) %{_bindir}/systemd-cgls
%attr(755,root,root) /lib/systemd/systemd-binfmt
%attr(755,root,root) /lib/systemd/systemd-cgroups-agent
%attr(755,root,root) /lib/systemd/systemd-coredump
-%attr(755,root,root) /lib/systemd/systemd-cryptsetup
+%{?with_cryptsetup:%attr(755,root,root) /lib/systemd/systemd-cryptsetup}
%attr(755,root,root) /lib/systemd/systemd-fsck
%attr(755,root,root) /lib/systemd/systemd-hostnamed
%attr(755,root,root) /lib/systemd/systemd-initctl
%{_libexecdir}/tmpfiles.d/systemd.conf
%{_libexecdir}/tmpfiles.d/tmp.conf
%{_libexecdir}/tmpfiles.d/x11.conf
+%{_libexecdir}/systemd/catalog
%{_datadir}/dbus-1/interfaces/org.freedesktop.hostname1.xml
%{_datadir}/dbus-1/interfaces/org.freedesktop.locale1.xml
%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.*.xml
%{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy
%dir %{_datadir}/systemd
%{_datadir}/systemd/kbd-model-map
+%{_mandir}/man1/hostnamectl.1*
+%{_mandir}/man1/localectl.1*
+%{_mandir}/man1/systemd-coredumpctl.1*
+%{_mandir}/man1/timedatectl.1*
%{_mandir}/man1/journalctl.1*
%{_mandir}/man1/loginctl.1*
%{_mandir}/man1/systemd.1*
%{_mandir}/man5/hostname.5*
%{_mandir}/man5/journald.conf.5*
%{_mandir}/man5/locale.conf.5*
+%{_mandir}/man5/localtime.5*
%{_mandir}/man5/logind.conf.5*
%{_mandir}/man5/machine-id.5*
%{_mandir}/man5/machine-info.5*
%{_mandir}/man5/os-release.5*
%{_mandir}/man5/sysctl.d.5*
%{_mandir}/man5/systemd.*.5*
-%{_mandir}/man5/timezone.5*
%{_mandir}/man5/vconsole.conf.5*
%{_mandir}/man7/bootup.7*
%{_mandir}/man7/daemon.7*
%{_mandir}/man7/kernel-command-line.7*
-%{_mandir}/man7/sd-daemon.7*
-%{_mandir}/man7/sd-login.7*
-%{_mandir}/man7/sd-readahead.7*
%{_mandir}/man7/systemd.journal-fields.7*
%{_mandir}/man7/systemd.special.7*
%{_mandir}/man8/systemd-binfmt.8*
-%{_mandir}/man8/systemd-cryptsetup-generator.8*
+%{?with_cryptsetup:%{_mandir}/man8/systemd-cryptsetup-generator.8*}
%{_mandir}/man8/systemd-fstab-generator.8*
%{_mandir}/man8/systemd-getty-generator.8*
%{_mandir}/man8/systemd-hostnamed.8*
%{_mandir}/man8/systemd-quotacheck.8*
%{_mandir}/man8/systemd-random-seed.8*
%{_mandir}/man8/systemd-readahead.8*
+%{_mandir}/man8/systemd-fsck.8*
+%{_mandir}/man8/systemd-hybrid-sleep.service.8*
+%{_mandir}/man8/systemd-udevd-control.socket.8*
+%{_mandir}/man8/systemd-udevd-kernel.socket.8*
%{_mandir}/man8/systemd-remount-fs.8*
%{_mandir}/man8/systemd-shutdown.8*
%{_mandir}/man8/systemd-shutdownd.8*
%dir %{_sysconfdir}/sysctl.d
%dir %{_sysconfdir}/systemd
%dir %{_sysconfdir}/systemd/system
+%dir %{_sysconfdir}/systemd/system-preset
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/systemd/system-preset/default.preset
%dir %{_sysconfdir}/tmpfiles.d
%dir %{_libexecdir}/binfmt.d
%dir %{_libexecdir}/modules-load.d
%dir %{_libexecdir}/sysctl.d
+%dir /lib/systemd/system-sleep
%dir /lib/systemd/system-shutdown
-# Don't package the kernel.core_pattern setting until systemd-coredump
-# is a part of an actual systemd release and it's made clear how to
-# get the core dumps out of the journal.
-#%{_libexecdir}/sysctl.d/coredump.conf
+%{_libexecdir}/sysctl.d/coredump.conf
%attr(755,root,root) /bin/systemctl
%attr(755,root,root) /bin/systemd-tmpfiles
%attr(755,root,root) /bin/systemd_booted
%{systemdunitdir}/*.mount
%{systemdunitdir}/*.path
%{systemdunitdir}/*.service
+%exclude %{systemdunitdir}/rc-inetd.service
%{systemdunitdir}/*.socket
%{systemdunitdir}/*.target
%{systemdunitdir}/*.timer
%{_mandir}/man8/systemd-ask-password-wall.path.8*
%{_mandir}/man8/systemd-ask-password-wall.service.8*
%{_mandir}/man8/systemd-binfmt.service.8*
-%{_mandir}/man8/systemd-cryptsetup.8*
-%{_mandir}/man8/systemd-cryptsetup@.service.8*
+%{?with_cryptsetup:%{_mandir}/man8/systemd-cryptsetup.8*}
+%{?with_cryptsetup:%{_mandir}/man8/systemd-cryptsetup@.service.8*}
%{_mandir}/man8/systemd-fsck-root.service.8*
%{_mandir}/man8/systemd-fsck@.service.8*
%{_mandir}/man8/systemd-halt.service.8*
%{_pkgconfigdir}/libsystemd-id128.pc
%{_pkgconfigdir}/libsystemd-journal.pc
%{_pkgconfigdir}/libsystemd-login.pc
-%{_mandir}/man3/sd_booted.3*
-%{_mandir}/man3/sd_get_seats.3*
-%{_mandir}/man3/sd_get_sessions.3*
-%{_mandir}/man3/sd_get_uids.3*
-%{_mandir}/man3/sd_is_fifo.3*
-%{_mandir}/man3/sd_is_mq.3*
-%{_mandir}/man3/sd_is_socket.3
-%{_mandir}/man3/sd_is_socket_inet.3
-%{_mandir}/man3/sd_is_socket_unix.3
-%{_mandir}/man3/sd_listen_fds.3*
-%{_mandir}/man3/sd_login_monitor_flush.3*
-%{_mandir}/man3/sd_login_monitor_get_fd.3*
-%{_mandir}/man3/sd_login_monitor_new.3*
-%{_mandir}/man3/sd_login_monitor_unref.3*
-%{_mandir}/man3/sd_notify.3*
-%{_mandir}/man3/sd_notifyf.3
-%{_mandir}/man3/sd_pid_get_owner_uid.3*
-%{_mandir}/man3/sd_pid_get_session.3*
-%{_mandir}/man3/sd_pid_get_unit.3*
-%{_mandir}/man3/sd_readahead.3*
-%{_mandir}/man3/sd_seat_can_multi_session.3*
-%{_mandir}/man3/sd_seat_get_active.3*
-%{_mandir}/man3/sd_seat_get_sessions.3*
-%{_mandir}/man3/sd_session_get_class.3*
-%{_mandir}/man3/sd_session_get_display.3*
-%{_mandir}/man3/sd_session_get_seat.3*
-%{_mandir}/man3/sd_session_get_service.3*
-%{_mandir}/man3/sd_session_get_type.3*
-%{_mandir}/man3/sd_session_get_uid.3*
-%{_mandir}/man3/sd_session_is_active.3*
-%{_mandir}/man3/sd_uid_get_seats.3*
-%{_mandir}/man3/sd_uid_get_sessions.3*
-%{_mandir}/man3/sd_uid_get_state.3*
-%{_mandir}/man3/sd_uid_is_on_seat.3*
+%{_mandir}/man3/SD_*.3*
+%{_mandir}/man3/sd*.3*
%files -n bash-completion-systemd
%defattr(644,root,root,755)
%dir %{_sysconfdir}/udev
%dir %{_sysconfdir}/udev/rules.d
+%dir %{_sysconfdir}/udev/hwdb.d
%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
/lib/udev/rules.d/60-persistent-storage.rules
/lib/udev/rules.d/60-persistent-v4l.rules
/lib/udev/rules.d/61-accelerometer.rules
+/lib/udev/rules.d/64-btrfs.rules
/lib/udev/rules.d/70-power-switch.rules
/lib/udev/rules.d/75-net-description.rules
/lib/udev/rules.d/75-probe_mtd.rules
/lib/udev/rules.d/95-keymap.rules
/lib/udev/rules.d/95-udev-late.rules
+%dir /lib/udev/hwdb.d
+/lib/udev/hwdb.d/20-OUI.hwdb
+/lib/udev/hwdb.d/20-acpi-vendor.hwdb
+/lib/udev/hwdb.d/20-pci-classes.hwdb
+/lib/udev/hwdb.d/20-pci-vendor-product.hwdb
+/lib/udev/hwdb.d/20-usb-classes.hwdb
+/lib/udev/hwdb.d/20-usb-vendor-product.hwdb
+
%{_mandir}/man7/udev.7*
%{_mandir}/man8/udevadm.8*
%{_mandir}/man8/udevd.8*
%attr(755,root,root) %{_libdir}/initrd/udev/collect
%attr(755,root,root) %{_libdir}/initrd/udev/mtd_probe
%endif
+
+%files -n python-systemd
+%defattr(644,root,root,755)
+%dir %{py_sitedir}/systemd
+%{py_sitedir}/systemd/*.py*
+%attr(755,root,root) %{py_sitedir}/systemd/*.so