# 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)
+# - merge rpm macros provided by systemd with ours
#
# Conditional build:
%bcond_without audit # without audit support
%bcond_without cryptsetup # without cryptsetup support
+%bcond_without microhttpd # microhttpd support
%bcond_without pam # PAM authentication support
+%bcond_without qrencode # QRencode support
%bcond_without selinux # without SELinux support
%bcond_without tcpd # libwrap (tcp_wrappers) support
-
-%bcond_without 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)
-%bcond_without glibc # link initrd version with static glibc
-
-%ifarch sparc sparc64
-%define with_glibc 1
-%endif
-
-# if one of the *libc is enabled disable default uClibc
-%if %{with dietlibc} && %{with uClibc}
-%undefine with_uClibc
-%endif
-
-%if %{with glibc} && %{with uClibc}
-%undefine with_uClibc
-%endif
-
-%if %{with klibc} && %{with uClibc}
-%undefine with_uClibc
-%endif
+%bcond_with tests # "make check" (requires systemd already installed)
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: 185
-Release: 1.1
+Version: 207
+Release: 1
Epoch: 1
-License: GPL v2+
+License: GPL v2+ (udev), LGPL v2.1+ (the rest)
Group: Base
Source0: http://www.freedesktop.org/software/systemd/%{name}-%{version}.tar.xz
-# Source0-md5: a7dbbf05986eb0d2c164ec8e570eb78f
+# Source0-md5: 7799f3cc9d289b8db1c1fa56ae7ecd88
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
+Source19: prefdm.service
# 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: udevlibexecdir.patch
-Patch10: static-udev.patch
-Patch11: systemd-udev-service.patch
-Patch12: udevadm-in-sbin.patch
+Patch9: udevadm-in-sbin.patch
+Patch10: net-rename-revert.patch
+Patch11: nss-in-rootlib.patch
+Patch12: proc-hidepid.patch
+Patch14: dont-hash-null-keys.patch
URL: http://www.freedesktop.org/wiki/Software/systemd
BuildRequires: acl-devel
+BuildRequires: attr-devel
%{?with_audit:BuildRequires: audit-libs-devel}
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.6.0}
BuildRequires: dbus-devel >= 1.3.2
BuildRequires: docbook-style-xsl
BuildRequires: glib2-devel >= 1:2.22.0
BuildRequires: gperf
BuildRequires: gtk-doc >= 1.18
BuildRequires: intltool >= 0.40.0
-BuildRequires: kmod-devel >= 5
+BuildRequires: kmod-devel >= 14
BuildRequires: libblkid-devel >= 2.20
BuildRequires: libcap-devel
-%{?with_selinux:BuildRequires: libselinux-devel >= 2.1.0}
+BuildRequires: libgcrypt-devel >= 1.4.5
+%{?with_microhttpd:BuildRequires: libmicrohttpd-devel >= 0.9.5}
+%{?with_selinux:BuildRequires: libselinux-devel >= 2.1.9}
BuildRequires: libtool >= 2:2.2
%{?with_tcpd:BuildRequires: libwrap-devel}
BuildRequires: libxslt-progs
BuildRequires: m4
%{?with_pam:BuildRequires: pam-devel}
-BuildRequires: pciutils
BuildRequires: pkgconfig >= 0.9.0
+BuildRequires: python-devel
BuildRequires: python-modules
+%{?with_qrencode:BuildRequires: qrencode-devel}
+BuildRequires: rpm-pythonprov
BuildRequires: rpmbuild(macros) >= 1.628
BuildRequires: sed >= 4.0
+%{?with_tests:BuildRequires: systemd}
BuildRequires: usbutils >= 0.82
BuildRequires: xz-devel
BuildRequires: zlib-devel
-%if %{with initrd}
-BuildRequires: acl-static
-BuildRequires: attr-static
-%{?with_dietlibc:BuildRequires: dietlibc-static}
-BuildRequires: glib2-static >= 1:2.22.0
-%{?with_glibc:BuildRequires: glibc-static}
-%{?with_klibc:BuildRequires: klibc-static}
-BuildRequires: kmod-libs-static >= 5
-BuildRequires: libblkid-static >= 2.20
-%{?with_glibc:BuildRequires: libselinux-static}
-%{?with_glibc:BuildRequires: libsepol-static}
-%{?with_klibc:BuildRequires: linux-libc-headers}
-BuildRequires: pcre-static
-%{?with_uClibc:BuildRequires: uClibc-static >= 4:0.9.30.3}
-BuildRequires: xz-static
-BuildRequires: zlib-static
-%endif
Requires: %{name}-libs = %{epoch}:%{version}-%{release}
Requires: %{name}-units = %{epoch}:%{version}-%{release}
+Requires(postun): /usr/sbin/groupdel
+Requires(postun): /usr/sbin/userdel
+Requires(pre): /bin/id
+Requires(pre): /usr/bin/getgid
+Requires(pre): /usr/sbin/groupadd
+Requires(pre): /usr/sbin/useradd
Requires: /etc/os-release
Requires: SysVinit-tools
Requires: agetty
+%{?with_cryptsetup:Requires: cryptsetup >= 1.6.0}
Requires: dbus >= 1.4.16-6
Requires: filesystem >= 4.0-3
+Requires: kmod >= 14
Requires: libutempter
+Requires: polkit
Requires: rc-scripts >= 0.4.5.3-7
Requires: setup >= 2.8.0-2
Requires: udev-core = %{epoch}:%{version}-%{release}
Requires: udev-libs = %{epoch}:%{version}-%{release}
-Requires: virtual(module-tools)
+Requires: uname(release) >= 3.0
Suggests: ConsoleKit
Suggests: fsck >= 2.20
-Suggests: kmod >= 5
-Suggests: nss_myhostname
Suggests: service(klogd)
Suggests: service(syslog)
+Provides: group(systemd-journal)
Provides: udev-acl = %{epoch}:%{version}-%{release}
Obsoletes: systemd-no-compat-tmpfiles
Obsoletes: udev-systemd
Obsoletes: SysVinit
Obsoletes: readahead < 1:1.5.7-3
Obsoletes: virtual(init-daemon)
+Conflicts: rc-scripts < 0.4.5.5-2
Conflicts: upstart
%description init
Ten pakiet zawiera ogólną konfigurację, ustawienia można nadpisać
poprzez katalog %{_sysconfdir}/systemd/system.
+%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
+License: LGPL v2.1+
+Group: Base
+Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires(postun): /usr/sbin/groupdel
+Requires(postun): /usr/sbin/userdel
+Requires(pre): /bin/id
+Requires(pre): /usr/bin/getgid
+Requires(pre): /usr/sbin/groupadd
+Requires(pre): /usr/sbin/useradd
+Provides: group(systemd-journal-gateway)
+Provides: user(systemd-journal-gateway)
+Conflicts: systemd < 1:206-3
+
+%description journal-gateway
+systemd-journal-gatewayd serves journal events over the network using
+HTTP.
+
+%description journal-gateway -l pl.UTF-8
+systemd-journal-gatewayd serwuje zdarzenia dziennika po sieci poprzez
+HTTP.
+
%package inetd
Summary: Native inet service support for systemd via socket activation
Summary(pl.UTF-8): Natywna obsługa usług inet dla systemd
%description inetd
Native inet service support for systemd via socket activation.
-This package contains inet service generator that provides
-the functionality of rc-inetd service and replaces a separate
-inet daemon with systemd socket activation feature.
+This package contains inet service generator that provides the
+functionality of rc-inetd service and replaces a separate inet daemon
+with systemd socket activation feature.
%description inetd -l pl.UTF-8
Natywna obsługa usług inet dla systemd.
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: python-dbus
Requires: python-modules
-Requires: python-pycairo
+Suggests: python-pycairo
Conflicts: systemd < 44-3
%description analyze
Summary: Shared systemd libraries
Summary(pl.UTF-8): Biblioteki współdzielone systemd
Group: Libraries
+Requires: libgcrypt >= 1.4.5
+%{?with_selinux:Requires: libselinux >= 2.1.9}
+Obsoletes: nss_myhostname
%description libs
Shared systemd libraries.
Summary(pl.UTF-8): Pliki nagłówkowe bibliotek systemd
Group: Development/Libraries
Requires: %{name}-libs = %{epoch}:%{version}-%{release}
+Obsoletes: systemd-static
%description devel
Header files for systemd libraries.
%description devel -l pl.UTF-8
Pliki nagłówkowe bibliotek systemd.
+%package -n python-systemd
+Summary: Systemd Python bindings
+Summary(pl.UTF-8): Wiązania do Systemd dla Pythona
+Group: Development/Languages/Python
+Requires: %{name}-libs = %{epoch}:%{version}-%{release}
+Requires: python
+
+%description -n python-systemd
+Systemd Python bindings.
+
+%description -n python-systemd -l pl.UTF-8
+Wiązania do Systemd dla Pythona.
+
%package -n bash-completion-systemd
Summary: bash-completion for systemd
Summary(pl.UTF-8): Bashowe dopełnianie składni dla systemd
Group: Applications/Shells
-Requires: %{name} = %{epoch}:%{version}
-Requires: bash-completion
+Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires: bash-completion >= 2.0
%description -n bash-completion-systemd
bash-completion for systemd.
%description -n bash-completion-systemd -l pl.UTF-8
Bashowe dopełnianie składni dla systemd.
+%package -n zsh-completion-systemd
+Summary: zsh completion for systemd commands
+Summary(pl.UTF-8): Uzupełnianie parametrów w zsh dla poleceń systemd
+Group: Applications/Shells
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description -n zsh-completion-systemd
+zsh completion for systemd commands.
+
+%description -n zsh-completion-systemd -l pl.UTF-8
+Uzupełnianie parametrów w zsh dla poleceń systemd.
+
%package -n udev
Summary: Device manager for the Linux 2.6 kernel series
Summary(pl.UTF-8): Zarządca urządzeń dla Linuksa 2.6
Obsoletes: hotplug-input
Obsoletes: hotplug-net
Obsoletes: hotplug-pci
-Obsoletes: udev-compat
Obsoletes: udev-dev
Obsoletes: udev-extras < 20090628
Obsoletes: udev-tools
Summary: A userspace implementation of devfs - core part of udev
Summary(pl.UTF-8): Implementacja devfs w przestrzeni użytkownika - główna część udev
Group: Base
-Requires: udev-libs = %{epoch}:%{version}-%{release}
Requires: coreutils
Requires: filesystem >= 3.0-45
+Requires: kmod >= 14
+Requires: libblkid >= 2.20
+%{?with_selinux:Requires: libselinux >= 2.1.9}
Requires: setup >= 2.6.1-1
+Requires: udev-libs = %{epoch}:%{version}-%{release}
Requires: uname(release) >= 2.6.32
+#Suggests: uname(release) >= 3.0
+Obsoletes: udev-compat
+Obsoletes: udev-initrd < %{epoch}:%{version}-%{release}}
+Conflicts: geninitrd < 12639
Conflicts: rc-scripts < 0.4.5.3-1
Conflicts: systemd-units < 1:183
Conflicts: udev < 1:118-1
Summary(pl.UTF-8): Plik nagłówkowy biblioteki libudev
Group: Development/Libraries
Requires: udev-libs = %{epoch}:%{version}-%{release}
+Obsoletes: udev-static
%description -n udev-devel
Header file for libudev library.
%description -n udev-devel -l pl.UTF-8
Plik nagłówkowy biblioteki libudev.
-%package -n udev-static
-Summary: Static libudev library
-Summary(pl.UTF-8): Biblioteka statyczna libudev
-Group: Development/Libraries
-Requires: udev-devel = %{epoch}:%{version}-%{release}
-
-%description -n udev-static
-Static libudev library.
-
-%description -n udev-static -l pl.UTF-8
-Biblioteka statyczna libudev.
-
%package -n udev-apidocs
Summary: libudev API documentation
Summary(pl.UTF-8): Dokumentacja API libudev
Summary: Shared libgudev library - GObject bindings for libudev
Summary(pl.UTF-8): Biblioteka współdzielona libgudev - wiązania GObject do libudev
Group: Libraries
-Requires: udev-libs = %{epoch}:%{version}-%{release}
Requires: glib2 >= 1:2.22.0
+Requires: udev-libs = %{epoch}:%{version}-%{release}
%description -n udev-glib
Shared libgudev library - GObject bindings for libudev.
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}
-Requires: glib2-devel >= 1:2.22.0
+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-static
-Summary: Static libgudev library
-Summary(pl.UTF-8): Biblioteka statyczna libgudev
-Group: Development/Libraries
-Requires: udev-glib-devel = %{epoch}:%{version}-%{release}
-
-%description -n udev-glib-static
-Static libgudev library.
-
-%description -n udev-glib-static -l pl.UTF-8
-Biblioteka statyczna libgudev.
-
%package -n udev-glib-apidocs
Summary: libgudev API documentation
Summary(pl.UTF-8): Dokumentacja API libgudev
%description -n udev-glib-apidocs -l pl.UTF-8
Dokumentacja API libgudev.
-%package -n udev-initrd
-Summary: A userspace implementation of devfs - static binary for initrd
-Summary(pl.UTF-8): Implementacja devfs w przestrzeni użytkownika - statyczna binarka dla initrd
-Group: Base
-Requires: udev-core = %{epoch}:%{version}-%{release}
-Conflicts: geninitrd < 10000.10
+%package -n bash-completion-udev
+Summary: bash-completion for udev
+Summary(pl.UTF-8): Bashowe dopełnianie składni dla udev
+Group: Applications/Shells
+Requires: bash-completion >= 2.0
+Requires: udev = %{epoch}:%{version}-%{release}
-%description -n udev-initrd
-A userspace implementation of devfs - static binary for initrd.
+%description -n bash-completion-udev
+bash-completion for udev.
-%description -n udev-initrd -l pl.UTF-8
-Implementacja devfs w przestrzeni użytkownika - statyczna binarka dla
-initrd.
+%description -n bash-completion-udev -l pl.UTF-8
+Bashowe dopełnianie składni dla udev.
+
+%package -n zsh-completion-udev
+Summary: zsh completion for udev commands
+Summary(pl.UTF-8): Uzupełnianie parametrów w zsh dla poleceń udev
+Group: Applications/Shells
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description -n zsh-completion-udev
+zsh completion for udev commands.
+
+%description -n zsh-completion-udev -l pl.UTF-8
+Uzupełnianie parametrów w zsh dla poleceń udev.
%prep
%setup -q
#patch2 -p1
%patch3 -p1
%patch4 -p1
-%patch5 -p1
%patch6 -p1
-%if %{with uClibc}
-%patch7 -p1
-%endif
%patch8 -p1
%patch9 -p1
+%patch10 -p1
%patch11 -p1
%patch12 -p1
+# possible cause of infinite loop inside systemd-login
+#patch14 -p1
cp -p %{SOURCE2} src/systemd_booted.c
%build
%{__autoconf}
%{__autoheader}
%{__automake}
-%if %{with initrd}
-patch -p1 <%{PATCH10}
-%configure \
-%if "%{?configure_cache}" == "1"
- --cache-file=%{?configure_cache_file}%{!?configure_cache_file:configure}-initrd.cache \
-%endif
- %{?with_uClibc:CC="%{_target_cpu}-uclibc-gcc"} \
- %{?with_dietlibc:CC="diet %{__cc} %{rpmcflags} %{rpmldflags} -Os -D_BSD_SOURCE"} \
- %{?with_klibc:CC="%{_bindir}/klcc"} \
- %{?debug:--enable-debug} \
- --disable-silent-rules \
- --disable-shared \
- --enable-static \
- --with-distro=pld \
- --with-rootprefix="" \
- --with-rootlibdir=/%{_lib} \
- --disable-gudev \
- --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
-
-%{__make} \
- libudev-core.la \
- systemd-udevd \
- udevadm \
- ata_id \
- cdrom_id \
- collect \
- scsi_id \
- v4l_id \
- accelerometer \
- mtd_probe \
- LDFLAGS="-all-static" \
- KMOD_LIBS="-lkmod -lz -llzma"
-
-mkdir udev-initrd
-cp -a systemd-udevd \
- udevadm \
- ata_id \
- cdrom_id \
- collect \
- scsi_id \
- v4l_id \
- accelerometer \
- mtd_probe \
- udev-initrd/
-
-%{__make} clean
-patch -p1 -R <%{PATCH10}
-%endif
-
%configure \
+ QUOTAON=/sbin/quotaon \
+ QUOTACHECK=/sbin/quotacheck \
+ SETCAP=/sbin/setcap \
+ KILL=/bin/kill \
+ KMOD=/sbin/kmod \
+ KEXEC=/sbin/kexec \
%{?debug:--enable-debug} \
%{__enable_disable audit} \
%{__enable_disable cryptsetup libcryptsetup} \
%{__enable_disable pam} \
%{__enable_disable selinux} \
%{__enable_disable tcpd tcpwrap} \
- --disable-plymouth \
+ %{__enable_disable microhttpd} \
+ %{__enable_disable qrencode} \
--disable-silent-rules \
- --enable-shared \
- --enable-static \
- --with-distro=pld \
- --with-rootprefix="" \
- --with-rootlibdir=/%{_lib} \
- --with-html-dir=%{_gtkdocdir} \
- --with-pci-ids-path=%{_sysconfdir}/pci.ids \
+ --enable-chkconfig \
--enable-gtk-doc \
--enable-introspection \
- --enable-split-usr
+ --enable-split-usr \
+ --with-html-dir=%{_gtkdocdir} \
+ --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-firmware-path=/lib/firmware \
+ --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}
-%{__make}
+%{__make} -j1
./libtool --mode=link --tag=CC %{__cc} %{rpmcppflags} %{rpmcflags} -o systemd_booted %{rpmldflags} src/systemd_booted.c -L. -lsystemd-daemon
+%{?with_tests:%{__make} check}
+
%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
ln -s /lib/udev/udevd $RPM_BUILD_ROOT%{_sbindir}/udevd
# compat symlinks for "/ merged into /usr" programs
-mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/udevadm
-ln -s %{_sbindir}/udevadm $RPM_BUILD_ROOT%{_bindir}
+mv $RPM_BUILD_ROOT/{,s}bin/udevadm
+ln -s %{_sbindir}/udevadm $RPM_BUILD_ROOT/bin
ln -s /lib/udev $RPM_BUILD_ROOT/usr/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
+# disable this abomination
+# http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames
+ln -s /dev/null $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d/80-net-name-slot.rules
+
# install udev configs
cp -a %{SOURCE103} $RPM_BUILD_ROOT%{_sysconfdir}/udev/links.conf
mv $RPM_BUILD_ROOT%{_mandir}/man8/{systemd-,}udevd.8
echo ".so man8/udevd.8" >$RPM_BUILD_ROOT%{_mandir}/man8/systemd-udevd.8
-%if %{with initrd}
-install -d $RPM_BUILD_ROOT%{_libdir}/initrd/udev
-install -p udev-initrd/udevadm $RPM_BUILD_ROOT%{_libdir}/initrd
-install -p udev-initrd/systemd-udevd $RPM_BUILD_ROOT%{_libdir}/initrd
-# hardlink udevd -> systemd-udevd
-ln $RPM_BUILD_ROOT%{_libdir}/initrd/{systemd-,}udevd
-ln -s udevd $RPM_BUILD_ROOT%{_libdir}/initrd/udevstart
-install -p udev-initrd/*_id $RPM_BUILD_ROOT%{_libdir}/initrd/udev
-install -p udev-initrd/collect $RPM_BUILD_ROOT%{_libdir}/initrd/udev
-install -p udev-initrd/mtd_probe $RPM_BUILD_ROOT%{_libdir}/initrd/udev
-%endif
-
# Main binary has been moved, but we don't want to break existing installs
ln -s ../lib/systemd/systemd $RPM_BUILD_ROOT/bin/systemd
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
+# 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 rc-inetd replacement
-cp -p %{SOURCE16} $RPM_BUILD_ROOT/lib/systemd/system-generators/pld-rc-inetd-generator
+cp -p %{SOURCE16} $RPM_BUILD_ROOT%{systemdunitdir}-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
+
+cp -p %{SOURCE19} $RPM_BUILD_ROOT%{systemdunitdir}/prefdm.service
+
# handled by rc-local sysv service, no need for generator
-%{__rm} $RPM_BUILD_ROOT/lib/systemd/system-generators/systemd-rc-local-generator
+%{__rm} $RPM_BUILD_ROOT%{systemdunitdir}-generators/systemd-rc-local-generator
+
+# provided by rc-scripts
+%{__rm} $RPM_BUILD_ROOT%{systemdunitdir}/rc-local.service
# Make sure these directories are properly owned:
# - halt,kexec,poweroff,reboot: generic ones used by ConsoleKit-systemd,
# - syslog _might_ be used by some syslog implementation (none for now),
# - isn't dbus populated by dbus-systemd only (so to be moved there)?
-install -d $RPM_BUILD_ROOT%{systemdunitdir}/{dbus,halt,kexec,poweroff,reboot,syslog}.target.wants
+install -d $RPM_BUILD_ROOT%{systemdunitdir}/{basic,dbus,halt,initrd,kexec,poweroff,reboot,shutdown,syslog}.target.wants
+
+# Make sure the shutdown/sleep drop-in dirs exist
+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}
# Install SysV conversion tool for systemd
install -p %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}
+# Create directory for service helper scripts
+install -d $RPM_BUILD_ROOT/lib/systemd/pld-helpers.d
+
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%{py_sitedir}/systemd/*.la
+%py_postclean
%clean
rm -rf $RPM_BUILD_ROOT
+%pre
+%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 || :
if [ $1 -ge 1 ]; then
/bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || :
fi
+if [ "$1" = "0" ]; then
+ %groupremove systemd-journal
+fi
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
%{__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
%postun inetd
%systemd_reload
+%pre journal-gateway
+%groupadd -g 287 systemd-journal-gateway
+%useradd -u 287 -g 287 -d /var/log/journal -s /bin/false -c "Systemd Journal Gateway" systemd-journal-gateway
+
+%post journal-gateway
+%systemd_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
+
+%preun journal-gateway
+%systemd_preun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
+
+%postun journal-gateway
+%systemd_reload
+
+if [ "$1" = "0" ]; then
+ %userremove systemd-journal-gateway
+ %groupremove systemd-journal-gateway
+fi
+
%triggerpostun -n udev-core -- dev
if [ "$2" = 0 ]; then
# need to kill and restart udevd as after obsoleting dev package the
fi
else
SYSTEMD_LOG_LEVEL=warning SYSTEMD_LOG_TARGET=syslog \
- /bin/systemctl --quiet try-restart systemd-udev.service || :
+ /bin/systemctl --quiet try-restart systemd-udevd.service || :
fi
fi
/etc/dbus-1/system.d/org.freedesktop.hostname1.conf
/etc/dbus-1/system.d/org.freedesktop.locale1.conf
/etc/dbus-1/system.d/org.freedesktop.login1.conf
+/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
%ghost %config(noreplace) %{_sysconfdir}/machine-id
%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/journald.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/systemd/logind.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/systemd/system.conf
%dir %{_sysconfdir}/systemd/system/*.target.wants
%config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/systemd/system/*.target.wants/*.service
%config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/systemd/system/*.target.wants/*.target
+%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) /bin/loginctl
+%attr(755,root,root) /bin/machinectl
%attr(755,root,root) /bin/systemd
%attr(755,root,root) /bin/systemd-ask-password
%attr(755,root,root) /bin/systemd-inhibit
%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}/bootctl
+%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-cat
-%attr(755,root,root) %{_bindir}/systemd-cgtop
%attr(755,root,root) %{_bindir}/systemd-cgls
+%attr(755,root,root) %{_bindir}/systemd-cgtop
+%attr(755,root,root) %{_bindir}/systemd-coredumpctl
%attr(755,root,root) %{_bindir}/systemd-delta
%attr(755,root,root) %{_bindir}/systemd-detect-virt
%attr(755,root,root) %{_bindir}/systemd-nspawn
+%attr(755,root,root) %{_bindir}/systemd-run
%attr(755,root,root) %{_bindir}/systemd-stdio-bridge
%attr(755,root,root) %{_bindir}/systemd-sysv-convert
+%attr(755,root,root) %{_bindir}/timedatectl
%attr(755,root,root) /lib/systemd/pld-clean-tmp
%attr(755,root,root) /lib/systemd/pld-storage-init
%attr(755,root,root) /lib/systemd/systemd-ac-power
+%attr(755,root,root) /lib/systemd/systemd-activate
+%attr(755,root,root) /lib/systemd/systemd-backlight
%attr(755,root,root) /lib/systemd/systemd-binfmt
+%attr(755,root,root) /lib/systemd/systemd-bootchart
%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
%attr(755,root,root) /lib/systemd/systemd-journald
%attr(755,root,root) /lib/systemd/systemd-localed
%attr(755,root,root) /lib/systemd/systemd-logind
+%attr(755,root,root) /lib/systemd/systemd-machined
%attr(755,root,root) /lib/systemd/systemd-modules-load
%attr(755,root,root) /lib/systemd/systemd-multi-seat-x
%attr(755,root,root) /lib/systemd/systemd-quotacheck
%attr(755,root,root) /lib/systemd/systemd-random-seed
-%attr(755,root,root) /lib/systemd/systemd-readahead-collect
-%attr(755,root,root) /lib/systemd/systemd-readahead-replay
+%attr(755,root,root) /lib/systemd/systemd-readahead
%attr(755,root,root) /lib/systemd/systemd-remount-fs
%attr(755,root,root) /lib/systemd/systemd-reply-password
%attr(755,root,root) /lib/systemd/systemd-shutdown
%attr(755,root,root) /lib/systemd/systemd-sleep
%attr(755,root,root) /lib/systemd/systemd-sysctl
%attr(755,root,root) /lib/systemd/systemd-timedated
-%attr(755,root,root) /lib/systemd/systemd-timestamp
%attr(755,root,root) /lib/systemd/systemd-udevd
%attr(755,root,root) /lib/systemd/systemd-update-utmp
%attr(755,root,root) /lib/systemd/systemd-user-sessions
%attr(755,root,root) /lib/systemd/systemd-vconsole-setup
-%dir /lib/systemd/system-generators
%attr(755,root,root) /lib/systemd/systemd
%attr(755,root,root) /lib/systemd/system-generators/systemd-*-generator
-%dir /lib/systemd/system-shutdown
-/lib/udev/rules.d/99-systemd.rules
/lib/udev/rules.d/70-uaccess.rules
/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
-%config(noreplace,missingok) %{_libexecdir}/tmpfiles.d/legacy.conf
-%config(noreplace,missingok) %{_libexecdir}/tmpfiles.d/systemd.conf
-%config(noreplace,missingok) %{_libexecdir}/tmpfiles.d/tmp.conf
-%config(noreplace,missingok) %{_libexecdir}/tmpfiles.d/x11.conf
+%{_libexecdir}/tmpfiles.d/legacy.conf
+%{_libexecdir}/tmpfiles.d/systemd.conf
+%{_libexecdir}/tmpfiles.d/tmp.conf
+%{_libexecdir}/tmpfiles.d/x11.conf
%{_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}/dbus-1/system-services/org.freedesktop.hostname1.service
%{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service
%{_datadir}/dbus-1/system-services/org.freedesktop.login1.service
+%{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service
%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service
%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service
%{_datadir}/polkit-1/actions/org.freedesktop.hostname1.policy
%{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy
%{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy
%dir %{_datadir}/systemd
+%{?with_microhttpd:%{_datadir}/systemd/gatewayd}
%{_datadir}/systemd/kbd-model-map
+%{_mandir}/man1/hostnamectl.1*
%{_mandir}/man1/journalctl.1*
+%{_mandir}/man1/localectl.1*
%{_mandir}/man1/loginctl.1*
+%{_mandir}/man1/machinectl.1*
%{_mandir}/man1/systemd.1*
%{_mandir}/man1/systemd-ask-password.1*
+%{_mandir}/man1/systemd-bootchart.1*
%{_mandir}/man1/systemd-cat.1*
%{_mandir}/man1/systemd-cgls.1*
%{_mandir}/man1/systemd-cgtop.1*
+%{_mandir}/man1/systemd-coredumpctl.1*
%{_mandir}/man1/systemd-delta.1*
%{_mandir}/man1/systemd-detect-virt.1*
%{_mandir}/man1/systemd-inhibit.1*
%{_mandir}/man1/systemd-machine-id-setup.1*
%{_mandir}/man1/systemd-notify.1*
%{_mandir}/man1/systemd-nspawn.1*
+%{_mandir}/man1/systemd-run.1*
+%{_mandir}/man1/systemd-tty-ask-password-agent.1*
+%{_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*
+%{_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/systemd-sleep.conf.5*
+%{_mandir}/man5/systemd-system.conf.5*
+%{_mandir}/man5/systemd-user.conf.5*
%{_mandir}/man5/vconsole.conf.5*
+%{_mandir}/man7/bootup.7*
%{_mandir}/man7/daemon.7*
-%{_mandir}/man7/sd-daemon.7*
-%{_mandir}/man7/sd-login.7*
-%{_mandir}/man7/sd-readahead.7*
-%{_mandir}/man7/systemd.special.7*
+%{_mandir}/man7/kernel-command-line.7*
+%{_mandir}/man7/systemd.directives.7*
+%{_mandir}/man7/systemd.index.7*
%{_mandir}/man7/systemd.journal-fields.7*
+%{_mandir}/man7/systemd.special.7*
+%{_mandir}/man7/systemd.time.7*
+%{_mandir}/man8/kernel-install.8*
+%{_mandir}/man8/nss-myhostname.8*
+%{_mandir}/man8/systemd-activate.8*
+%{_mandir}/man8/systemd-backlight.8*
%{_mandir}/man8/systemd-binfmt.8*
-%{_mandir}/man8/systemd-binfmt.service.8*
+%{?with_cryptsetup:%{_mandir}/man8/systemd-cryptsetup-generator.8*}
+%{_mandir}/man8/systemd-fsck.8*
+%{_mandir}/man8/systemd-efi-boot-generator.8*
+%{_mandir}/man8/systemd-gpt-auto-generator.8*
+%{_mandir}/man8/systemd-fstab-generator.8*
+%{_mandir}/man8/systemd-getty-generator.8*
+%{_mandir}/man8/systemd-hostnamed.8*
+%{_mandir}/man8/systemd-initctl.8*
%{_mandir}/man8/systemd-journald.8*
-%{_mandir}/man8/systemd-journald.service.8*
+%{_mandir}/man8/systemd-localed.8*
%{_mandir}/man8/systemd-logind.8*
-%{_mandir}/man8/systemd-logind.service.8*
+%{_mandir}/man8/systemd-machined.8*
%{_mandir}/man8/systemd-modules-load.8*
-%{_mandir}/man8/systemd-modules-load.service.8*
+%{_mandir}/man8/systemd-quotacheck.8*
+%{_mandir}/man8/systemd-random-seed.8*
+%{_mandir}/man8/systemd-readahead.8*
+%{_mandir}/man8/systemd-remount-fs.8*
+%{_mandir}/man8/systemd-shutdown.8*
+%{_mandir}/man8/systemd-shutdownd.8*
+%{_mandir}/man8/systemd-sleep.8*
%{_mandir}/man8/systemd-sysctl.8*
-%{_mandir}/man8/systemd-sysctl.service.8*
+%{_mandir}/man8/systemd-system-update-generator.8*
+%{_mandir}/man8/systemd-timedated.8*
%{_mandir}/man8/systemd-udevd.8*
+%{_mandir}/man8/systemd-update-utmp.8*
+%{_mandir}/man8/systemd-user-sessions.8*
+%{_mandir}/man8/systemd-vconsole-setup.8*
%dir /var/lib/%{name}
%dir /var/lib/%{name}/coredump
%attr(640,root,root) %ghost /var/log/btmp
%attr(664,root,utmp) %ghost /var/log/wtmp
+%dir /var/log/journal
%if %{with pam}
%attr(755,root,root) /%{_lib}/security/pam_systemd.so
%attr(755,root,root) /sbin/runlevel
%attr(755,root,root) /sbin/shutdown
%attr(755,root,root) /sbin/telinit
-%{_mandir}/man1/init.1
+%{_mandir}/man1/init.1*
+%{_mandir}/man5/crypttab.5*
%{_mandir}/man8/halt.8*
-%{_mandir}/man8/poweroff.8
-%{_mandir}/man8/reboot.8
+%{_mandir}/man8/poweroff.8*
+%{_mandir}/man8/reboot.8*
%{_mandir}/man8/runlevel.8*
%{_mandir}/man8/shutdown.8*
%{_mandir}/man8/telinit.8*
%dir %{_sysconfdir}/modules-load.d
%config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/modules-load.d/modules.conf
%dir %{_sysconfdir}/sysctl.d
+%{_sysconfdir}/sysctl.d/99-sysctl.conf
%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
-# 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
+%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-coredump.conf
+%{_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
%{systemdunitdir}/*.mount
%{systemdunitdir}/*.path
%{systemdunitdir}/*.service
+%{systemdunitdir}/*.slice
+%exclude %{systemdunitdir}/rc-inetd.service
%{systemdunitdir}/*.socket
%{systemdunitdir}/*.target
%{systemdunitdir}/*.timer
%dir %{systemdunitdir}/final.target.wants
%dir %{systemdunitdir}/graphical.target.wants
%dir %{systemdunitdir}/halt.target.wants
+%dir %{systemdunitdir}/initrd.target.wants
%dir %{systemdunitdir}/kexec.target.wants
%dir %{systemdunitdir}/local-fs.target.wants
%dir %{systemdunitdir}/multi-user.target.wants
%dir %{systemdunitdir}/sockets.target.wants
%dir %{systemdunitdir}/sysinit.target.wants
%dir %{systemdunitdir}/syslog.target.wants
-%config(noreplace,missingok) %{systemdunitdir}/basic.target.wants/*
-%config(noreplace,missingok) %{systemdunitdir}/final.target.wants/*
-%config(noreplace,missingok) %{systemdunitdir}/graphical.target.wants/*
-%config(noreplace,missingok) %{systemdunitdir}/local-fs.target.wants/*
-%config(noreplace,missingok) %{systemdunitdir}/multi-user.target.wants/getty.target
-%config(noreplace,missingok) %{systemdunitdir}/multi-user.target.wants/rc-local.service
-%config(noreplace,missingok) %{systemdunitdir}/multi-user.target.wants/systemd-ask-password-wall.path
-%config(noreplace,missingok) %{systemdunitdir}/multi-user.target.wants/systemd-logind.service
-%config(noreplace,missingok) %{systemdunitdir}/multi-user.target.wants/systemd-user-sessions.service
-%config(noreplace,missingok) %{systemdunitdir}/runlevel[12345].target.wants/*
-%config(noreplace,missingok) %{systemdunitdir}/shutdown.target.wants/*
-%config(noreplace,missingok) %{systemdunitdir}/sockets.target.wants/*
-%{?with_cryptsetup:%config(noreplace,missingok) %{systemdunitdir}/sysinit.target.wants/cryptsetup.target}
-%config(noreplace,missingok) %{systemdunitdir}/sysinit.target.wants/dev-hugepages.mount
-%config(noreplace,missingok) %{systemdunitdir}/sysinit.target.wants/dev-mqueue.mount
-%config(noreplace,missingok) %{systemdunitdir}/sysinit.target.wants/proc-sys-fs-binfmt_misc.automount
-%config(noreplace,missingok) %{systemdunitdir}/sysinit.target.wants/sys-*.mount
-%config(noreplace,missingok) %{systemdunitdir}/sysinit.target.wants/systemd-*
+%dir %{systemdunitdir}/timers.target.wants
+%{systemdunitdir}/final.target.wants/*
+%{systemdunitdir}/graphical.target.wants/*
+%{systemdunitdir}/local-fs.target.wants/*
+%{systemdunitdir}/multi-user.target.wants/getty.target
+%{systemdunitdir}/multi-user.target.wants/rc-local.service
+%{systemdunitdir}/multi-user.target.wants/systemd-ask-password-wall.path
+%{systemdunitdir}/multi-user.target.wants/systemd-logind.service
+%{systemdunitdir}/multi-user.target.wants/systemd-user-sessions.service
+%{systemdunitdir}/runlevel[12345].target.wants/*
+%{systemdunitdir}/sockets.target.wants/*
+%{?with_cryptsetup:%{systemdunitdir}/sysinit.target.wants/cryptsetup.target}
+%{systemdunitdir}/sysinit.target.wants/dev-hugepages.mount
+%{systemdunitdir}/sysinit.target.wants/dev-mqueue.mount
+%{systemdunitdir}/sysinit.target.wants/kmod-static-nodes.service
+%{systemdunitdir}/sysinit.target.wants/proc-sys-fs-binfmt_misc.automount
+%{systemdunitdir}/sysinit.target.wants/sys-*.mount
+%{systemdunitdir}/sysinit.target.wants/systemd-*
+%{systemdunitdir}/timers.target.wants/*.timer
+%{_mandir}/man8/systemd-ask-password-console.path.8*
+%{_mandir}/man8/systemd-ask-password-console.service.8*
+%{_mandir}/man8/systemd-ask-password-wall.path.8*
+%{_mandir}/man8/systemd-ask-password-wall.service.8*
+%{_mandir}/man8/systemd-backlight@.service.8*
+%{_mandir}/man8/systemd-binfmt.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*
+%{_mandir}/man8/systemd-hibernate.service.8*
+%{_mandir}/man8/systemd-hostnamed.service.8*
+%{_mandir}/man8/systemd-hybrid-sleep.service.8*
+%{_mandir}/man8/systemd-initctl.service.8*
+%{_mandir}/man8/systemd-initctl.socket.8*
+%{_mandir}/man8/systemd-journald.service.8*
+%{_mandir}/man8/systemd-journald.socket.8*
+%{_mandir}/man8/systemd-kexec.service.8*
+%{_mandir}/man8/systemd-localed.service.8*
+%{_mandir}/man8/systemd-logind.service.8*
+%{_mandir}/man8/systemd-machined.service.8*
+%{_mandir}/man8/systemd-modules-load.service.8*
+%{_mandir}/man8/systemd-poweroff.service.8*
+%{_mandir}/man8/systemd-quotacheck.service.8*
+%{_mandir}/man8/systemd-random-seed.service.8*
+%{_mandir}/man8/systemd-readahead-collect.service.8*
+%{_mandir}/man8/systemd-readahead-done.service.8*
+%{_mandir}/man8/systemd-readahead-done.timer.8*
+%{_mandir}/man8/systemd-readahead-replay.service.8*
+%{_mandir}/man8/systemd-reboot.service.8*
+%{_mandir}/man8/systemd-remount-fs.service.8*
+%{_mandir}/man8/systemd-shutdownd.service.8*
+%{_mandir}/man8/systemd-shutdownd.socket.8*
+%{_mandir}/man8/systemd-suspend.service.8*
+%{_mandir}/man8/systemd-sysctl.service.8*
+%{_mandir}/man8/systemd-timedated.service.8*
+%{_mandir}/man8/systemd-tmpfiles-clean.service.8*
+%{_mandir}/man8/systemd-tmpfiles-clean.timer.8*
+%{_mandir}/man8/systemd-tmpfiles-setup.service.8*
+%{_mandir}/man8/systemd-tmpfiles-setup-dev.service.8*
+%{_mandir}/man8/systemd-udevd.service.8*
+%{_mandir}/man8/systemd-udevd-control.socket.8*
+%{_mandir}/man8/systemd-udevd-kernel.socket.8*
+%{_mandir}/man8/systemd-update-utmp-runlevel.service.8*
+%{_mandir}/man8/systemd-update-utmp.service.8*
+%{_mandir}/man8/systemd-user-sessions.service.8*
+%{_mandir}/man8/systemd-vconsole-setup.service.8*
+
+%if %{with microhttpd}
+%files journal-gateway
+%defattr(644,root,root,755)
+%attr(755,root,root) /lib/systemd/systemd-journal-gatewayd
+%{_mandir}/man8/systemd-journal-gatewayd.8*
+%{_mandir}/man8/systemd-journal-gatewayd.service.8*
+%{_mandir}/man8/systemd-journal-gatewayd.socket.8*
+%endif
%files inetd
%defattr(644,root,root,755)
-%attr(755,root,root) /lib/systemd/system-generators/pld-rc-inetd-generator
+%attr(755,root,root) %{systemdunitdir}-generators/pld-rc-inetd-generator
%{systemdunitdir}/rc-inetd.service
%files analyze
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/systemd-analyze
+%{_mandir}/man1/systemd-analyze.1*
%files libs
%defattr(644,root,root,755)
+%attr(755,root,root) /%{_lib}/libnss_myhostname.so.2
%attr(755,root,root) /%{_lib}/libsystemd-daemon.so.*.*.*
%attr(755,root,root) %ghost /%{_lib}/libsystemd-daemon.so.0
%attr(755,root,root) /%{_lib}/libsystemd-id128.so.*.*.*
%{_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 python-systemd
+%defattr(644,root,root,755)
+%dir %{py_sitedir}/systemd
+%{py_sitedir}/systemd/*.py[co]
+%attr(755,root,root) %{py_sitedir}/systemd/_daemon.so
+%attr(755,root,root) %{py_sitedir}/systemd/_journal.so
+%attr(755,root,root) %{py_sitedir}/systemd/_reader.so
+%attr(755,root,root) %{py_sitedir}/systemd/id128.so
+%attr(755,root,root) %{py_sitedir}/systemd/login.so
%files -n bash-completion-systemd
%defattr(644,root,root,755)
-/etc/bash_completion.d/systemd-bash-completion.sh
+%{_datadir}/bash-completion/completions/hostnamectl
+%{_datadir}/bash-completion/completions/journalctl
+%{_datadir}/bash-completion/completions/kernel-install
+%{_datadir}/bash-completion/completions/localectl
+%{_datadir}/bash-completion/completions/loginctl
+%{_datadir}/bash-completion/completions/systemctl
+%{_datadir}/bash-completion/completions/systemd-analyze
+%{_datadir}/bash-completion/completions/systemd-coredumpctl
+%{_datadir}/bash-completion/completions/systemd-run
+%{_datadir}/bash-completion/completions/timedatectl
+
+%files -n zsh-completion-systemd
+%defattr(644,root,root,755)
+%{_datadir}/zsh/site-functions/_hostnamectl
+%{_datadir}/zsh/site-functions/_journalctl
+%{_datadir}/zsh/site-functions/_kernel-install
+%{_datadir}/zsh/site-functions/_localectl
+%{_datadir}/zsh/site-functions/_loginctl
+%{_datadir}/zsh/site-functions/_machinectl
+%{_datadir}/zsh/site-functions/_sd_hosts_or_user_at_host
+%{_datadir}/zsh/site-functions/_systemctl
+%{_datadir}/zsh/site-functions/_systemd
+%{_datadir}/zsh/site-functions/_systemd-analyze
+%{_datadir}/zsh/site-functions/_systemd-coredumpctl
+%{_datadir}/zsh/site-functions/_systemd-delta
+%{_datadir}/zsh/site-functions/_systemd-inhibit
+%{_datadir}/zsh/site-functions/_systemd-nspawn
+%{_datadir}/zsh/site-functions/_systemd-tmpfiles
+%{_datadir}/zsh/site-functions/_timedatectl
%files -n udev
%defattr(644,root,root,755)
/usr/lib/udev
-# /lib/udev/devices/ are not read anymore; systemd-tmpfiles
-# should be used to create dead device nodes as workarounds for broken
-# subsystems.
-%dir /lib/udev/devices
-
%attr(755,root,root) /lib/udev/collect
-%attr(755,root,root) /lib/udev/keyboard-force-release.sh
-
%attr(755,root,root) /lib/udev/net_helper
%attr(755,root,root) /lib/udev/ata_id
%attr(755,root,root) /lib/udev/udevd
-%attr(755,root,root) /lib/udev/keymap
-%dir /lib/udev/keymaps
-/lib/udev/keymaps/*
-
%attr(755,root,root) /lib/udev/accelerometer
-%attr(755,root,root) /lib/udev/findkeyboards
+
+%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-bluetooth-vendor-product.hwdb
+/lib/udev/hwdb.d/20-pci-classes.hwdb
+/lib/udev/hwdb.d/20-pci-vendor-model.hwdb
+/lib/udev/hwdb.d/20-usb-classes.hwdb
+/lib/udev/hwdb.d/20-usb-vendor-model.hwdb
+/lib/udev/hwdb.d/60-keyboard.hwdb
%attr(755,root,root) %{_sbindir}/start_udev
%attr(755,root,root) %{_sbindir}/udevd
%attr(755,root,root) %{_sbindir}/udevadm
-%attr(755,root,root) %{_bindir}/udevadm
+%attr(755,root,root) /bin/udevadm
%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
%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-name-slot.rules
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/udev/udev.conf
# rules below are NOT supposed to be changed by users
/lib/udev/rules.d/42-usb-hid-pm.rules
+/lib/udev/rules.d/50-firmware.rules
/lib/udev/rules.d/50-udev-default.rules
/lib/udev/rules.d/60-cdrom_id.rules
+/lib/udev/rules.d/60-keyboard.rules
/lib/udev/rules.d/60-persistent-alsa.rules
/lib/udev/rules.d/60-persistent-input.rules
/lib/udev/rules.d/60-persistent-serial.rules
/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/75-tty-description.rules
/lib/udev/rules.d/78-sound-card.rules
/lib/udev/rules.d/80-drivers.rules
-/lib/udev/rules.d/95-keyboard-force-release.rules
-/lib/udev/rules.d/95-keymap.rules
+/lib/udev/rules.d/80-net-name-slot.rules
/lib/udev/rules.d/95-udev-late.rules
%{_mandir}/man7/udev.7*
%{_pkgconfigdir}/libudev.pc
%{_npkgconfigdir}/udev.pc
-%files -n udev-static
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libudev.a
-
%files -n udev-apidocs
%defattr(644,root,root,755)
%{_gtkdocdir}/libudev
%{_pkgconfigdir}/gudev-1.0.pc
%{_datadir}/gir-1.0/GUdev-1.0.gir
-%files -n udev-glib-static
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libgudev-1.0.a
-
%files -n udev-glib-apidocs
%defattr(644,root,root,755)
%{_gtkdocdir}/gudev
-%if %{with initrd}
-%files -n udev-initrd
+%files -n bash-completion-udev
%defattr(644,root,root,755)
-%dir %{_libdir}/initrd/udev
-%attr(755,root,root) %{_libdir}/initrd/systemd-udevd
-%attr(755,root,root) %{_libdir}/initrd/udevd
-%attr(755,root,root) %{_libdir}/initrd/udevadm
-%attr(755,root,root) %{_libdir}/initrd/udevstart
-%attr(755,root,root) %{_libdir}/initrd/udev/*_id
-%attr(755,root,root) %{_libdir}/initrd/udev/collect
-%attr(755,root,root) %{_libdir}/initrd/udev/mtd_probe
-%endif
+%{_datadir}/bash-completion/completions/udevadm
+
+%files -n zsh-completion-udev
+%defattr(644,root,root,755)
+%{_datadir}/zsh/site-functions/_udevadm