# - /dev/urandom remains missing, not created with start_udev anymore
#
# Conditional build:
-%bcond_without audit # without audit support
-%bcond_without cryptsetup # without cryptsetup support
+%bcond_without audit # audit support
+%bcond_without consoled # systemd-consoled (embedded terminal)
+%bcond_without cryptsetup # cryptsetup support
%bcond_without microhttpd # use microhttpd for network journal access
%bcond_without pam # PAM authentication support
%bcond_without qrencode # QRencode support
-%bcond_without selinux # without SELinux support
-%bcond_with efi # EFI boot support [missing files in 220]
+%bcond_without selinux # SELinux support
+%bcond_without efi # EFI boot support
%bcond_without python3 # Python 3.x support
%bcond_with tests # "make check" (requires systemd already installed)
+%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?)
+%undefine with_efi
+%endif
Summary: A System and Service Manager
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: 221
-Release: 0.1
+Release: 2
Epoch: 1
License: GPL v2+ (udev), LGPL v2.1+ (the rest)
Group: Base
Patch6: net-rename-revert.patch
Patch7: nss-in-rootlib.patch
Patch8: proc-hidepid.patch
-Patch9: systemd-configfs.patch
+Patch9: %{name}-configfs.patch
Patch10: pld-boot_efi_mount.patch
Patch11: optional-tmp-on-tmpfs.patch
Patch12: uids_gids.patch
+Patch13: sysctl.patch
URL: http://www.freedesktop.org/wiki/Software/systemd
BuildRequires: acl-devel
BuildRequires: attr-devel
BuildRequires: docbook-style-xsl
BuildRequires: elfutils-devel
BuildRequires: gettext-tools
-BuildRequires: glib2-devel >= 1:2.22.0
BuildRequires: glibc-misc
%{?with_efi:BuildRequires: gnu-efi}
BuildRequires: gnutls-devel >= 3.1.4
BuildRequires: libapparmor-devel
BuildRequires: libblkid-devel >= 2.20
BuildRequires: libcap-devel
+%{?with_consoled:BuildRequires: libdrm-devel >= 2.4}
+%{?with_consoled:BuildRequires: libevdev-devel >= 1.2}
BuildRequires: libgcrypt-devel >= 1.4.5
%{?with_microhttpd:BuildRequires: libmicrohttpd-devel >= 0.9.33}
BuildRequires: libmount-devel
BuildRequires: rpmbuild(macros) >= 1.628
BuildRequires: sed >= 4.0
%{?with_tests:BuildRequires: systemd}
+%{?with_consoled:BuildRequires: unifont-source}
BuildRequires: usbutils >= 0.82
+%{?with_consoled:BuildRequires: xorg-lib-libxkbcommon-devel >= 0.5}
BuildRequires: xz-devel
BuildRequires: zlib-devel
Requires: %{name}-libs = %{epoch}:%{version}-%{release}
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: group(systemd-bus-proxy)
-Provides: group(systemd-network)
-Provides: group(systemd-resolve)
-Provides: group(systemd-timesync)
Provides: group(systemd-journal)
Provides: group(systemd-journal-remote)
Provides: group(systemd-journal-upload)
+Provides: group(systemd-network)
+Provides: group(systemd-resolve)
+Provides: group(systemd-timesync)
+Provides: udev-acl = %{epoch}:%{version}-%{release}
Provides: user(systemd-bus-proxy)
+Provides: user(systemd-journal-remote)
+Provides: user(systemd-journal-upload)
Provides: user(systemd-network)
Provides: user(systemd-resolve)
Provides: user(systemd-timesync)
-Provides: user(systemd-journal-remote)
-Provides: user(systemd-journal-upload)
-Provides: udev-acl = %{epoch}:%{version}-%{release}
+Obsoletes: ConsoleKit
+Obsoletes: ConsoleKit-x11
Obsoletes: systemd-no-compat-tmpfiles
Obsoletes: udev-systemd
# sytemd wants pam with pam_systemd.so in system-auth...
Ten pakiet zawiera ogólną konfigurację, ustawienia można nadpisać
poprzez katalog %{_sysconfdir}/systemd/system.
+%package consoled
+Summary: Terminal support for systemd
+Summary(pl.UTF-8): Obsługa terminala dla systemd
+Group: Base
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description consoled
+Terminal support for systemd.
+
+%description consoled -l pl.UTF-8
+Obsługa terminala dla systemd.
+
%package journal-gateway
Summary: Gateway for serving journal events over the network using HTTP
Summary(pl.UTF-8): Bramka do serwowania zdarzeń dziennika po sieci poprzez HTTP
virtual network devices.
%description networkd -l pl.UTF-8
-systemd-networkd to usługa systemowa zarządzająca siecią. Wykrywa
-i konfiguruje interfejsy sieciowe gdy się pojawiają, a także tworzy
+systemd-networkd to usługa systemowa zarządzająca siecią. Wykrywa i
+konfiguruje interfejsy sieciowe gdy się pojawiają, a także tworzy
wirtualne urządzenia sieciowe.
%package resolved
Summary(pl.UTF-8): Plik nagłówkowy biblioteki libudev
Group: Development/Libraries
Requires: udev-libs = %{epoch}:%{version}-%{release}
+Obsoletes: udev-apidocs
Obsoletes: udev-static
%description -n udev-devel
%description -n udev-devel -l pl.UTF-8
Plik nagłówkowy biblioteki libudev.
-%package -n udev-apidocs
-Summary: libudev API documentation
-Summary(pl.UTF-8): Dokumentacja API libudev
-Group: Documentation
-%if "%{_rpmversion}" >= "5"
-BuildArch: noarch
-%endif
-
-%description -n udev-apidocs
-libudev API documentation.
-
-%description -n udev-apidocs -l pl.UTF-8
-Dokumentacja API libudev.
-
-%package -n udev-glib
-Summary: Shared libgudev library - GObject bindings for libudev
-Summary(pl.UTF-8): Biblioteka współdzielona libgudev - wiązania GObject do libudev
-Group: Libraries
-Requires: glib2 >= 1:2.22.0
-Requires: udev-libs = %{epoch}:%{version}-%{release}
-
-%description -n udev-glib
-Shared libgudev library - GObject bindings for libudev.
-
-%description -n udev-glib -l pl.UTF-8
-Biblioteka współdzielona libgudev - wiązania GObject do libudev.
-
-%package -n udev-glib-devel
-Summary: Header file for libgudev library
-Summary(pl.UTF-8): Plik nagłówkowy biblioteki libgudev
-Group: Development/Libraries
-Requires: glib2-devel >= 1:2.22.0
-Requires: udev-devel = %{epoch}:%{version}-%{release}
-Requires: udev-glib = %{epoch}:%{version}-%{release}
-Obsoletes: udev-glib-static
-
-%description -n udev-glib-devel
-Header file for libgudev library.
-
-%description -n udev-glib-devel -l pl.UTF-8
-Plik nagłówkowy biblioteki libgudev.
-
-%package -n udev-glib-apidocs
-Summary: libgudev API documentation
-Summary(pl.UTF-8): Dokumentacja API libgudev
-Group: Documentation
-%if "%{_rpmversion}" >= "5"
-BuildArch: noarch
-%endif
-
-%description -n udev-glib-apidocs
-libgudev API documentation.
-
-%description -n udev-glib-apidocs -l pl.UTF-8
-Dokumentacja API libgudev.
-
%package -n bash-completion-udev
Summary: bash-completion for udev
Summary(pl.UTF-8): Bashowe dopełnianie składni dla udev
%patch10 -p1
%patch11 -p1
%patch12 -p1
+%patch13 -p1
cp -p %{SOURCE2} src/systemd_booted.c
%build
%{__enable_disable qrencode} \
--disable-silent-rules \
--enable-compat-libs \
- --enable-split-usr \
--enable-lz4 \
+ --enable-split-usr \
+ %{?with_consoled:--enable-terminal} \
--with-kbd-loadkeys=/usr/bin/loadkeys \
--with-kbd-setfont=/bin/setfont \
- --with-sysvinit-path=/etc/rc.d/init.d \
- --with-sysvrcnd-path=/etc/rc.d \
--with-rc-local-script-path-start=/etc/rc.d/rc.local \
--with-rc-local-script-path-stop=/sbin/halt.local \
--with-rootprefix="" \
- --with-rootlibdir=/%{_lib}
+ --with-rootlibdir=/%{_lib} \
+ --with-sysvinit-path=/etc/rc.d/init.d \
+ --with-sysvrcnd-path=/etc/rc.d
%{__make} clean-python
install -d $RPM_BUILD_ROOT/var/lib/{%{name}/coredump,machines} \
$RPM_BUILD_ROOT{%{_sysconfdir}/{modprobe.d,systemd/system-preset},%{_sbindir}}
-%{__make} install \
+%{__make} -j1 install \
DESTDIR=$RPM_BUILD_ROOT
./libtool --mode=install install -p -m755 systemd_booted $RPM_BUILD_ROOT/bin/systemd_booted
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
+# http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames
+ln -s /dev/null $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d/80-net-setup-link.rules
+
# install udev configs
cp -a %{SOURCE103} $RPM_BUILD_ROOT%{_sysconfdir}/udev/links.conf
# 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 .libs/python/*.so $RPM_BUILD_ROOT%{py_sitedir}/systemd
+install -p .libs/python/*.so $RPM_BUILD_ROOT%{py_sitedir}/systemd
%py_comp $RPM_BUILD_ROOT%{py_sitedir}
%py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
%else
%post -n udev-libs -p /sbin/ldconfig
%postun -n udev-libs -p /sbin/ldconfig
-%post -n udev-glib -p /sbin/ldconfig
-%postun -n udev-glib -p /sbin/ldconfig
-
%files -f %{name}.lang
%defattr(644,root,root,755)
%doc DISTRO_PORTING NEWS README TODO
/etc/dbus-1/system.d/org.freedesktop.machine1.conf
/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
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/hostname
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/locale.conf
%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
%attr(755,root,root) /lib/systemd/system-generators/systemd-hibernate-resume-generator
%attr(755,root,root) /lib/systemd/system-generators/systemd-system-update-generator
%attr(755,root,root) /lib/systemd/system-generators/systemd-sysv-generator
+%dir /lib/systemd/network
+/lib/systemd/network/99-default.link
/lib/udev/rules.d/70-uaccess.rules
/lib/udev/rules.d/71-seat.rules
/lib/udev/rules.d/73-seat-late.rules
%dir %{_libexecdir}/kernel/install.d
%{_libexecdir}/kernel/install.d/50-depmod.install
%{_libexecdir}/kernel/install.d/90-loaderentry.install
+%if %{with efi}
+%dir %{_libexecdir}/systemd/boot
+%dir %{_libexecdir}/systemd/boot/efi
+%ifarch %{ix86}
+%{_libexecdir}/systemd/boot/efi/linuxia32.efi.stub
+%{_libexecdir}/systemd/boot/efi/systemd-bootia32.efi
+%endif
+%ifarch %{x8664} x32
+%{_libexecdir}/systemd/boot/efi/linuxx64.efi.stub
+%{_libexecdir}/systemd/boot/efi/systemd-bootx64.efi
+%endif
+%ifarch aarch64
+%{_libexecdir}/systemd/boot/efi/linuxaa64.efi.stub
+%{_libexecdir}/systemd/boot/efi/systemd-bootaa64.efi
+%endif
+%endif
%dir %{_libexecdir}/systemd/catalog
%{_libexecdir}/systemd/catalog/systemd.catalog
+%lang(be) %{_libexecdir}/systemd/catalog/systemd.be.catalog
+%lang(be) %{_libexecdir}/systemd/catalog/systemd.be@latin.catalog
%lang(fr) %{_libexecdir}/systemd/catalog/systemd.fr.catalog
%lang(it) %{_libexecdir}/systemd/catalog/systemd.it.catalog
%lang(pl) %{_libexecdir}/systemd/catalog/systemd.pl.catalog
%lang(pt_BR) %{_libexecdir}/systemd/catalog/systemd.pt_BR.catalog
%lang(ru) %{_libexecdir}/systemd/catalog/systemd.ru.catalog
+%lang(zh_TW) %{_libexecdir}/systemd/catalog/systemd.zh_TW.catalog
%dir %{_libexecdir}/sysusers.d
%{_libexecdir}/sysusers.d/basic.conf
%{_libexecdir}/sysusers.d/systemd.conf
%{_libexecdir}/tmpfiles.d/legacy.conf
%{_libexecdir}/tmpfiles.d/systemd.conf
%{_libexecdir}/tmpfiles.d/systemd-nologin.conf
+%{_libexecdir}/tmpfiles.d/systemd-nspawn.conf
%if %{with microhttpd}
%{_libexecdir}/tmpfiles.d/systemd-remote.conf
%endif
%dir %{_libexecdir}/systemd/user
%{_libexecdir}/systemd/user/basic.target
%{_libexecdir}/systemd/user/bluetooth.target
+%{_libexecdir}/systemd/user/busnames.target
%{_libexecdir}/systemd/user/default.target
%{_libexecdir}/systemd/user/exit.target
%{_libexecdir}/systemd/user/paths.target
%{_libexecdir}/systemd/user/sockets.target
%{_libexecdir}/systemd/user/sound.target
%{_libexecdir}/systemd/user/timers.target
+%{_libexecdir}/systemd/user/systemd-bus-proxyd.service
+%{_libexecdir}/systemd/user/systemd-bus-proxyd.socket
%{_libexecdir}/systemd/user/systemd-exit.service
%dir %{_libexecdir}/systemd/user-generators
+%{_libexecdir}/systemd/user-generators/systemd-dbus1-generator
%dir /lib/systemd/pld-helpers.d
%dir /lib/systemd/system-generators
%dir /lib/systemd/system-preset
%{_mandir}/man8/systemd-tmpfiles.8*
%{_npkgconfigdir}/systemd.pc
+%{systemdunitdir}/org.freedesktop.hostname1.busname
+%{systemdunitdir}/org.freedesktop.import1.busname
+%{systemdunitdir}/org.freedesktop.locale1.busname
+%{systemdunitdir}/org.freedesktop.login1.busname
+%{systemdunitdir}/org.freedesktop.machine1.busname
+%{systemdunitdir}/org.freedesktop.network1.busname
+%{systemdunitdir}/org.freedesktop.resolve1.busname
+%{systemdunitdir}/org.freedesktop.systemd1.busname
+%{systemdunitdir}/org.freedesktop.timedate1.busname
%{systemdunitdir}/proc-sys-fs-binfmt_misc.automount
%{systemdunitdir}/dev-hugepages.mount
%{systemdunitdir}/dev-mqueue.mount
%{systemdunitdir}/systemd-backlight@.service
%{systemdunitdir}/systemd-binfmt.service
%{systemdunitdir}/systemd-bootchart.service
+%{systemdunitdir}/systemd-bus-proxyd.service
%{systemdunitdir}/systemd-firstboot.service
%{systemdunitdir}/systemd-fsck-root.service
%{systemdunitdir}/systemd-fsck@.service
%{systemdunitdir}/user.slice
%exclude %{systemdunitdir}/rc-inetd.service
%{systemdunitdir}/syslog.socket
+%{systemdunitdir}/systemd-bus-proxyd.socket
%{systemdunitdir}/systemd-initctl.socket
%{systemdunitdir}/systemd-journal-remote.socket
%{systemdunitdir}/systemd-journald-audit.socket
%{systemdunitdir}/systemd-udevd-kernel.socket
%{systemdunitdir}/basic.target
%{systemdunitdir}/bluetooth.target
+%{systemdunitdir}/busnames.target
%{?with_cryptsetup:%{systemdunitdir}/cryptsetup-pre.target}
%{?with_cryptsetup:%{systemdunitdir}/cryptsetup.target}
%{systemdunitdir}/ctrl-alt-del.target
%{systemdunitdir}/umount.target
%{systemdunitdir}/systemd-tmpfiles-clean.timer
%dir %{systemdunitdir}/basic.target.wants
+%dir %{systemdunitdir}/busnames.target.wants
%dir %{systemdunitdir}/dbus.target.wants
+%dir %{systemdunitdir}/final.target.wants
%dir %{systemdunitdir}/graphical.target.wants
%dir %{systemdunitdir}/halt.target.wants
%dir %{systemdunitdir}/initrd.target.wants
%dir %{systemdunitdir}/sysinit.target.wants
%dir %{systemdunitdir}/syslog.target.wants
%dir %{systemdunitdir}/timers.target.wants
+%{systemdunitdir}/busnames.target.wants/org.freedesktop.hostname1.busname
+%{systemdunitdir}/busnames.target.wants/org.freedesktop.import1.busname
+%{systemdunitdir}/busnames.target.wants/org.freedesktop.locale1.busname
+%{systemdunitdir}/busnames.target.wants/org.freedesktop.login1.busname
+%{systemdunitdir}/busnames.target.wants/org.freedesktop.machine1.busname
+%{systemdunitdir}/busnames.target.wants/org.freedesktop.network1.busname
+%{systemdunitdir}/busnames.target.wants/org.freedesktop.resolve1.busname
+%{systemdunitdir}/busnames.target.wants/org.freedesktop.systemd1.busname
+%{systemdunitdir}/busnames.target.wants/org.freedesktop.timedate1.busname
+%{systemdunitdir}/final.target.wants/halt-local.service
%{systemdunitdir}/graphical.target.wants/display-manager.service
%{systemdunitdir}/graphical.target.wants/systemd-update-utmp-runlevel.service
%{systemdunitdir}/local-fs.target.wants/pld-clean-tmp.service
%{_mandir}/man8/systemd-ask-password-wall.service.8*
%{_mandir}/man8/systemd-backlight@.service.8*
%{_mandir}/man8/systemd-binfmt.service.8*
+%{_mandir}/man8/systemd-bus-proxyd.8*
+%{_mandir}/man8/systemd-bus-proxyd.socket.8
+%{_mandir}/man8/systemd-bus-proxyd@.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-user-sessions.service.8*
%{_mandir}/man8/systemd-vconsole-setup.service.8*
+%if %{with consoled}
+%files consoled
+%defattr(644,root,root,755)
+%attr(755,root,root) /lib/systemd/systemd-consoled
+%{_libexecdir}/systemd/user/systemd-consoled.service
+%dir %{_libexecdir}/systemd/user/default.target.wants
+%{_libexecdir}/systemd/user/default.target.wants/systemd-consoled.service
+%{_datadir}/systemd/unifont-glyph-array.bin
+%endif
+
%if %{with microhttpd}
%files journal-gateway
%defattr(644,root,root,755)
%dir %{_sysconfdir}/systemd/network
%dir %{_sysconfdir}/systemd/system/network-online.target.wants
%config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service
-%dir /lib/systemd/network
/lib/systemd/network/80-container-host0.network
/lib/systemd/network/80-container-ve.network
-/lib/systemd/network/99-default.link
%{systemdunitdir}/dbus-org.freedesktop.network1.service
%{systemdunitdir}/systemd-networkd-wait-online.service
%{systemdunitdir}/systemd-networkd.service
%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/80-net-setup-link.rules
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/udev/udev.conf
%{_includedir}/libudev.h
%{_pkgconfigdir}/libudev.pc
%{_npkgconfigdir}/udev.pc
-
-%files -n udev-apidocs
-%defattr(644,root,root,755)
-#%{_gtkdocdir}/libudev
-
-#%files -n udev-glib
-#%defattr(644,root,root,755)
-#%attr(755,root,root) %{_libdir}/libgudev-1.0.so.*.*.*
-#%attr(755,root,root) %ghost %{_libdir}/libgudev-1.0.so.0
-#%{_libdir}/girepository-1.0/GUdev-1.0.typelib
-#
-#%files -n udev-glib-devel
-#%defattr(644,root,root,755)
-#%attr(755,root,root) %{_libdir}/libgudev-1.0.so
-#%{_includedir}/gudev-1.0
-#%{_pkgconfigdir}/gudev-1.0.pc
-#%{_datadir}/gir-1.0/GUdev-1.0.gir
-#
-#%files -n udev-glib-apidocs
-#%defattr(644,root,root,755)
-#%{_gtkdocdir}/gudev
+%{_mandir}/man3/libudev.3*
+%{_mandir}/man3/udev_*.3*
%files -n bash-completion-udev
%defattr(644,root,root,755)