]> git.pld-linux.org Git - packages/systemd.git/blobdiff - systemd.spec
- strict deps between systemd and udev
[packages/systemd.git] / systemd.spec
index a56f9fc20881bb04a89c8cf7cd9c68c7ebefc154..e7b1cb43a481da7fc5f5774e8defc5ded8b16f8e 100644 (file)
@@ -1,8 +1,7 @@
-#
 # TODO:
-#      - remove compat-pld-var-run.tmpfiles and maybe tmpfiles-not-fatal.patch
-#        after enough packages provide their own tmpfiles.d configs for
-#        /var/run directories
+# - 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)
 #
 # 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    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
+
 Summary:       A System and Service Manager
 Summary(pl.UTF-8):     systemd - zarządca systemu i usług dla Linuksa
 Name:          systemd
-Version:       44
-Release:       6
+# Verify ChangeLog and NEWS when updating (since there are incompatible/breaking changes very often)
+Version:       183
+Release:       0.9
+Epoch:         1
 License:       GPL v2+
 Group:         Base
 Source0:       http://www.freedesktop.org/software/systemd/%{name}-%{version}.tar.xz
-# Source0-md5: 11f44ff74c87850064e4351518bcff17
+# Source0-md5: e1e5e0f376fa2a4cb4bc31a2161c09f2
 Source1:       %{name}-sysv-convert
 Source2:       %{name}_booted.c
 Source3:       network.service
-Source4:       compat-pld-media.tmpfiles
-Source5:       compat-pld-var-run.tmpfiles
+Source4:       var-lock.mount
+Source5:       var-run.mount
 Source10:      pld-storage-init-late.service
 Source11:      pld-storage-init.service
 Source12:      pld-wait-storage.service
 Source13:      pld-storage-init.sh
+Source14:      pld-clean-tmp.service
+Source15:      pld-clean-tmp.sh
+# rules
+Source101:     udev-alsa.rules
+Source102:     udev.rules
+Source103:     udev-links.conf
+# scripts / helpers
+Source110:     udev-net.helper
+Source111:     start_udev
+# misc
+Source120:     udev.blacklist
+Source121:     fbdev.blacklist
 Patch0:                target-pld.patch
 Patch1:                config-pld.patch
 Patch2:                shut-sysv-up.patch
 Patch3:                pld-sysv-network.patch
 Patch4:                tmpfiles-not-fatal.patch
-Patch5:                CVE-2012-1174.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
 URL:           http://www.freedesktop.org/wiki/Software/systemd
 BuildRequires: acl-devel
 %{?with_audit:BuildRequires:   audit-libs-devel}
@@ -45,9 +88,14 @@ BuildRequires:       binutils >= 3:2.22.52.0.1-2
 %{?with_cryptsetup:BuildRequires:      cryptsetup-luks-devel}
 BuildRequires: dbus-devel >= 1.3.2
 BuildRequires: docbook-style-xsl
+BuildRequires: glib2-devel >= 1:2.22.0
+BuildRequires: glibc-misc
+BuildRequires: gobject-introspection-devel >= 0.6.2
 BuildRequires: gperf
+BuildRequires: gtk-doc >= 1.10
 BuildRequires: intltool >= 0.40.0
 BuildRequires: kmod-devel >= 5
+BuildRequires: libblkid-devel >= 2.20
 BuildRequires: libcap-devel
 %{?with_selinux:BuildRequires: libselinux-devel >= 2.1.0}
 BuildRequires: libtool >= 2:2.2
@@ -55,12 +103,33 @@ BuildRequires:     libtool >= 2:2.2
 BuildRequires: libxslt-progs
 BuildRequires: m4
 %{?with_pam:BuildRequires:     pam-devel}
+BuildRequires: pciutils
 BuildRequires: pkgconfig >= 0.9.0
-BuildRequires: rpmbuild(macros) >= 1.627
-BuildRequires: udev-devel >= 1:172
+BuildRequires: python-modules
+BuildRequires: rpmbuild(macros) >= 1.628
+BuildRequires: sed >= 4.0
+BuildRequires: usbutils >= 0.82
 BuildRequires: xz-devel
-Requires:      %{name}-libs = %{version}-%{release}
-Requires:      %{name}-units = %{version}-%{release}
+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:      /etc/os-release
 Requires:      SysVinit-tools
 Requires:      agetty
@@ -69,10 +138,9 @@ Requires:   filesystem >= 4.0-2
 Requires:      libutempter
 Requires:      rc-scripts >= 0.4.5.3-7
 Requires:      setup >= 2.8.0-2
-Requires:      udev-core >= 1:175-5
-Requires:      udev-libs >= 1:172
+Requires:      udev-core = %{epoch}:%{version}-%{release}
+Requires:      udev-libs = %{epoch}:%{version}-%{release}
 Requires:      virtual(module-tools)
-Suggests:      %{name}-no-compat-tmpfiles
 Suggests:      ConsoleKit
 Suggests:      fsck >= 2.20
 Suggests:      kmod >= 5
@@ -80,6 +148,8 @@ Suggests:    nss_myhostname
 Suggests:      service(klogd)
 Suggests:      service(syslog)
 Provides:      udev-acl
+Obsoletes:     systemd-no-compat-tmpfiles
+Obsoletes:     udev-systemd
 # systemd takes care of that and causes problems
 Conflicts:     binfmt-detector
 # sytemd wants pam with pam_systemd.so in system-auth...
@@ -88,8 +158,96 @@ Conflicts:  pam < 1:1.1.5-5
 Conflicts:     sudo < 1:1.7.8p2-4
 # for prefdm script
 Conflicts:     xinitrc-ng < 1.0
+# systemd scripts use options not present in older versions
+Conflicts:     kpartx < 0.4.9-7
+Conflicts:     multipath-tools < 0.4.9-7
+# no tmpfs on /media, use /run/media/$USER for mounting
+Conflicts:     udisks2 < 1.92.0
+# packages that have dirs under /var/run and/or /var/lock must provide tmpfiles configs
+Conflicts:     ConsoleKit-dirs < 0.4.5-7
+Conflicts:     NetworkManager < 2:0.9.2.0-3
+Conflicts:     Zope < 2.11.8-2
+Conflicts:     amavisd-new < 1:2.7.0-1
+Conflicts:     apache-base < 2.2.21-4
+Conflicts:     apache-mod_bw < 0.92-3
+Conflicts:     apache-mod_fastcgi < 2.4.6-6
+Conflicts:     apache1-base < 1.3.42-5
+Conflicts:     apache1-mod_fastcgi < 2.4.6-2
+Conflicts:     asterisk < 10.0.1-2
+Conflicts:     autossh-init < 1.4b-3
+Conflicts:     balance < 3.54-2
+Conflicts:     bind < 7:9.8.1.P1-4
+Conflicts:     bopm < 3.1.3-4
+Conflicts:     callweaver < 1.2.1-9
+Conflicts:     cassandra-bin < 0.8.9-2
+Conflicts:     clamav < 0.97.3-3
+Conflicts:     cups < 1:1.5.0-10
+Conflicts:     dbus < 1.4.16-4
+Conflicts:     dovecot < 1:2.0.16-3
+Conflicts:     dspam < 3.9.0-6
+Conflicts:     fail2ban < 0.8.4-4
+Conflicts:     filesystem < 4.0-3
+Conflicts:     gammu-smsd < 1:1.31.0-3
+# Break gdm2.20 installs
+#Conflicts:    gdm < 2:3.2.1.1-9
+Conflicts:     greylistd < 0.8.8-2
+Conflicts:     inn < 2.4.6-7
+Conflicts:     ipsec-tools < 0.8.0-3
+Conflicts:     jabber-common < 0-9
+Conflicts:     laptop-mode-tools < 1.58-2
+Conflicts:     libgpod < 0.8.0-6
+Conflicts:     libvirt-utils < 0.9.9-4
+Conflicts:     lighttpd < 1.4.30-5
+Conflicts:     lirc < 0.9.0-20
+Conflicts:     mailman < 5:2.1.14-4
+Conflicts:     memcached < 1.4.11-2
+Conflicts:     mpd < 0.16.5-4
+Conflicts:     mrtg < 2.17.0-3
+Conflicts:     munin-common < 1.4.5-5
+Conflicts:     nagios-nrpe < 2.13-2
+Conflicts:     ndisc6-rdnssd < 1.0.1-3
+Conflicts:     nscd < 6:2.14.1-5
+Conflicts:     nss_ldapd-nslcd < 0.8.4-2
+Conflicts:     openct < 0.6.20-3
+Conflicts:     openl2tp < 1.8-3
+Conflicts:     openldap-overlay-nssov < 2.4.28-4
+Conflicts:     openldap-servers < 2.4.28-4
+Conflicts:     openvpn < 2.2.2-2
+Conflicts:     pam-pam_mount < 2.12-3
+Conflicts:     pam-pam_ssh < 1.97-2
+Conflicts:     pcsc-lite < 1.8.1-2
+Conflicts:     php-dirs < 1.2-3
+Conflicts:     policyd < 2.0.10-3
+Conflicts:     pound < 2.6-2
+Conflicts:     pptp < 1.7.2-3
+Conflicts:     proftpd-common < 2:1.3.4a-2
+Conflicts:     pulseaudio-server < 1.1-2
+Conflicts:     quagga < 0.99.20-3
+Conflicts:     radvd < 1.8.5-2
+Conflicts:     rc-scripts < 0.4.5.2-3
+Conflicts:     red5 < 0.9.0-2
+Conflicts:     redis-server < 2.4.2-4
+Conflicts:     smokeping < 2.4.2-10
+Conflicts:     smtp-gated < 1.4.17-2
+Conflicts:     socat < 1.7.2.0-2
+Conflicts:     speech-dispatcher < 0.7.1-2
+Conflicts:     sphinx < 2.0.3-4
+Conflicts:     splashutils < 1.5.4.3-3
+Conflicts:     stunnel < 4.50-2
+Conflicts:     tenshi < 0.12-2
+Conflicts:     tor < 0.2.2.35-2
+Conflicts:     ucarp < 1.5.2-3
+Conflicts:     udisks < 1.0.4-3
+Conflicts:     util-vserver < 0.30.216-1.pre3002.3
+Conflicts:     vpnc < 0.5.3-2
+Conflicts:     web2ldap < 1.1.0rc1-2
+Conflicts:     wesnoth-server < 1:1.10-2
+Conflicts:     wpa_supplicant < 0.7.3-10
+Conflicts:     xl2tpd < 1.3.0-2
+# end of tmpfiles conflicts
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+%define                _sbindir        /sbin
 %define                _libexecdir     %{_prefix}/lib
 
 %description
@@ -156,7 +314,7 @@ poprzez katalog %{_sysconfdir}/systemd/system.
 Summary:       Plymouth support units for systemd
 Summary(pl.UTF-8):     Jednostki wspierające Plymouth dla systemd
 Group:         Base
-Requires:      %{name}-units = %{version}-%{release}
+Requires:      %{name}-units = %{epoch}:%{version}-%{release}
 Requires:      plymouth
 
 %description plymouth
@@ -168,7 +326,7 @@ Jednostki wspierające Plymouth (graficzny start systemu) dla systemd.
 %package analyze
 Summary:       Tool for processing systemd profiling information
 Group:         Base
-Requires:      %{name} = %{version}-%{release}
+Requires:      %{name} = %{epoch}:%{version}-%{release}
 Requires:      python-dbus
 Requires:      python-modules
 Requires:      python-pycairo
@@ -194,7 +352,7 @@ Biblioteki współdzielone systemd.
 Summary:       Header files for systemd libraries
 Summary(pl.UTF-8):     Pliki nagłówkowe bibliotek systemd
 Group:         Development/Libraries
-Requires:      %{name}-libs = %{version}-%{release}
+Requires:      %{name}-libs = %{epoch}:%{version}-%{release}
 
 %description devel
 Header files for systemd libraries.
@@ -206,7 +364,7 @@ Pliki nagłówkowe bibliotek systemd.
 Summary:       bash-completion for systemd
 Summary(pl.UTF-8):     Bashowe dopełnianie składni dla systemd
 Group:         Applications/Shells
-Requires:      %{name}
+Requires:      %{name} = %{epoch}:%{version}
 Requires:      bash-completion
 
 %description -n bash-completion-systemd
@@ -215,122 +373,270 @@ bash-completion for systemd.
 %description -n bash-completion-systemd -l pl.UTF-8
 Bashowe dopełnianie składni dla systemd
 
-%package no-compat-tmpfiles
-Summary:       Force update of packages that provide tmpfiles.d configuration
+%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
 Group:         Base
-Requires(post):        sed > 4.0
-Conflicts:     ConsoleKit-dirs < 0.4.5-7
-Conflicts:     NetworkManager < 2:0.9.2.0-3
-Conflicts:     Zope < 2.11.8-2
-Conflicts:     amavisd-new < 1:2.7.0-1
-Conflicts:     apache-base < 2.2.21-4
-Conflicts:     apache-mod_bw < 0.92-3
-Conflicts:     apache-mod_fastcgi < 2.4.6-6
-Conflicts:     apache1-base < 1.3.42-5
-Conflicts:     apache1-mod_fastcgi < 2.4.6-2
-Conflicts:     asterisk < 10.0.1-2
-Conflicts:     autossh-init < 1.4b-3
-Conflicts:     balance < 3.54-2
-Conflicts:     bind < 7:9.8.1.P1-4
-Conflicts:     bopm < 3.1.3-4
-Conflicts:     callweaver < 1.2.1-9
-Conflicts:     cassandra-bin < 0.8.9-2
-Conflicts:     clamav < 0.97.3-3
-Conflicts:     cups < 1:1.5.0-10
-Conflicts:     dbus < 1.4.16-4
-Conflicts:     dovecot < 1:2.0.16-3
-Conflicts:     dspam < 3.9.0-6
-Conflicts:     fail2ban < 0.8.4-4
-Conflicts:     filesystem < 4.0-3
-Conflicts:     gammu-smsd < 1:1.31.0-3
-# Break gdm2.20 installs
-#Conflicts:    gdm < 2:3.2.1.1-9
-Conflicts:     greylistd < 0.8.8-2
-Conflicts:     inn < 2.4.6-7
-Conflicts:     ipsec-tools < 0.8.0-3
-Conflicts:     jabber-common < 0-9
-Conflicts:     laptop-mode-tools < 1.58-2
-Conflicts:     libgpod < 0.8.0-6
-Conflicts:     libvirt-utils < 0.9.9-4
-Conflicts:     lighttpd < 1.4.30-5
-Conflicts:     lirc < 0.9.0-20
-Conflicts:     mailman < 5:2.1.14-4
-Conflicts:     memcached < 1.4.11-2
-Conflicts:     mpd < 0.16.5-4
-Conflicts:     mrtg < 2.17.0-3
-Conflicts:     munin-common < 1.4.5-5
-Conflicts:     nagios-nrpe < 2.13-2
-Conflicts:     ndisc6-rdnssd < 1.0.1-3
-Conflicts:     nscd < 6:2.14.1-5
-Conflicts:     nss_ldapd-nslcd < 0.8.4-2
-Conflicts:     openct < 0.6.20-3
-Conflicts:     openl2tp < 1.8-3
-Conflicts:     openldap-overlay-nssov < 2.4.28-4
-Conflicts:     openldap-servers < 2.4.28-4
-Conflicts:     openvpn < 2.2.2-2
-Conflicts:     pam-pam_mount < 2.12-3
-Conflicts:     pam-pam_ssh < 1.97-2
-Conflicts:     pcsc-lite < 1.8.1-2
-Conflicts:     php-dirs < 1.2-3
-Conflicts:     policyd < 2.0.10-3
-Conflicts:     pound < 2.6-2
-Conflicts:     pptp < 1.7.2-3
-Conflicts:     proftpd-common < 2:1.3.4a-2
-Conflicts:     pulseaudio-server < 1.1-2
-Conflicts:     quagga < 0.99.20-3
-Conflicts:     radvd < 1.8.5-2
-Conflicts:     rc-scripts < 0.4.5.2-3
-Conflicts:     red5 < 0.9.0-2
-Conflicts:     redis-server < 2.4.2-4
-Conflicts:     smokeping < 2.4.2-10
-Conflicts:     smtp-gated < 1.4.17-2
-Conflicts:     socat < 1.7.2.0-2
-Conflicts:     speech-dispatcher < 0.7.1-2
-Conflicts:     sphinx < 2.0.3-4
-Conflicts:     splashutils < 1.5.4.3-3
-Conflicts:     stunnel < 4.50-2
-Conflicts:     tenshi < 0.12-2
-Conflicts:     tor < 0.2.2.35-2
-Conflicts:     ucarp < 1.5.2-3
-Conflicts:     udisks < 1.0.4-3
-Conflicts:     util-vserver < 0.30.216-1.pre3002.3
-Conflicts:     vpnc < 0.5.3-2
-Conflicts:     web2ldap < 1.1.0rc1-2
-Conflicts:     wesnoth-server < 1:1.10-2
-Conflicts:     wpa_supplicant < 0.7.3-10
-Conflicts:     xl2tpd < 1.3.0-2
+Requires:      udev-core = %{epoch}:%{version}-%{release}
+Provides:      dev = 3.5.0
+Obsoletes:     dev
+Obsoletes:     hotplug
+Obsoletes:     hotplug-input
+Obsoletes:     hotplug-net
+Obsoletes:     hotplug-pci
+Obsoletes:     udev-compat
+Obsoletes:     udev-dev
+Obsoletes:     udev-extras < 20090628
+Obsoletes:     udev-tools
+
+%description -n udev
+udev is the device manager for the Linux 2.6 kernel series. Its
+primary function is managing device nodes in /dev. It is the successor
+of devfs and hotplug.
+
+%description -n udev -l pl.UTF-8
+udev jest zarządcą urządzeń dla Linuksa 2.6. Jego główną funkcją jest
+zarządzanie węzłami urządzeń w katalogu /dev. Jest następcą devfs i
+hotpluga.
+
+%package -n udev-core
+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:      setup >= 2.6.1-1
+Requires:      uname(release) >= 2.6.32
+Conflicts:     rc-scripts < 0.4.5.3-1
+Conflicts:     systemd-units < 1:183
+Conflicts:     udev < 1:118-1
+
+%description -n udev-core
+A userspace implementation of devfs - core part of udev.
+
+%description -n udev-core -l pl.UTF-8
+Implementacja devfs w przestrzeni użytkownika - główna część udev.
+
+%package -n udev-libs
+Summary:       Shared library to access udev device information
+Summary(pl.UTF-8):     Biblioteka współdzielona do dostępu do informacji o urządzeniach udev
+Group:         Libraries
+
+%description -n udev-libs
+Shared libudev library to access udev device information.
+
+%description -n udev-libs -l pl.UTF-8
+Biblioteka współdzielona libudev służąca do dostępu do informacji o
+urządzeniach udev.
+
+%package -n udev-devel
+Summary:       Header file for libudev library
+Summary(pl.UTF-8):     Plik nagłówkowy biblioteki libudev
+Group:         Development/Libraries
+Requires:      udev-libs = %{epoch}:%{version}-%{release}
+
+%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
+Group:         Documentation
+Requires:      gtk-doc-common
+
+%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:      udev-libs = %{epoch}:%{version}-%{release}
+Requires:      glib2 >= 1:2.22.0
+
+%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.
 
-%description no-compat-tmpfiles
-Force update of packages that provide tmpfiles.d configuration
+%package -n udev-glib-devel
+Summary:       Header file for libgudev library
+Summary(pl.UTF-8):     Plik nagłówkowy biblioteki libgudev
+Group:         Development/Libraries
+Requires:      udev-devel = %{epoch}:%{version}-%{release}
+Requires:      udev-glib = %{epoch}:%{version}-%{release}
+Requires:      glib2-devel >= 1:2.22.0
+
+%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
+Group:         Documentation
+Requires:      gtk-doc-common
+
+%description -n udev-glib-apidocs
+libgudev API documentation.
+
+%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
+
+%description -n udev-initrd
+A userspace implementation of devfs - static binary for initrd.
+
+%description -n udev-initrd -l pl.UTF-8
+Implementacja devfs w przestrzeni użytkownika - statyczna binarka dla
+initrd.
 
 %prep
 %setup -q
 %patch0 -p1
 %patch1 -p1
-%patch2 -p1
+#patch2 -p1
 %patch3 -p1
 %patch4 -p1
 %patch5 -p1
+%patch6 -p1
+%if %{with uClibc}
+%patch7 -p1
+%endif
+%patch8 -p1
+%patch9 -p1
+%patch11 -p1
+%patch12 -p1
 cp -p %{SOURCE2} src/systemd_booted.c
 
+%{__mv} src/udev/keymap/keyboard-force-release.sh{,.in}
+
 %build
+%{__gtkdocize}
+%{__libtoolize}
 %{__aclocal} -I m4
 %{__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-rule_generator \
+       --disable-gudev \
+       --disable-keymap \
+       --disable-gtk-doc \
+       --disable-introspection \
+       --disable-logging \
+       --with-pci-ids-path=%{_sysconfdir}/pci.ids \
+       --disable-audit \
+       --disable-cryptsetup \
+       --disable-pam \
+       --disable-plymouth \
+       --disable-selinux \
+       --disable-tcpd \
+       --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 \
+       %{?debug:--enable-debug} \
        %{__enable_disable audit} \
        %{__enable_disable cryptsetup libcryptsetup} \
-       --disable-gtk \
        %{__enable_disable pam} \
        %{__enable_disable plymouth} \
        %{__enable_disable selinux} \
        %{__enable_disable tcpd tcpwrap} \
        --disable-silent-rules \
-       --disable-static \
+       --enable-shared \
+       --enable-static \
        --with-distro=pld \
-       --with-rootprefix= \
+       --with-rootprefix="" \
        --with-rootlibdir=/%{_lib} \
+       --with-html-dir=%{_gtkdocdir} \
+       --with-pci-ids-path=%{_sysconfdir}/pci.ids \
+       --enable-gtk-doc \
+       --enable-introspection \
        --enable-split-usr
 
 %{__make}
@@ -338,13 +644,54 @@ cp -p %{SOURCE2} src/systemd_booted.c
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/var/lib/%{name}/coredump
+install -d $RPM_BUILD_ROOT/var/lib/%{name}/coredump \
+       $RPM_BUILD_ROOT{%{_sysconfdir}/modprobe.d,%{_sbindir}}
 
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
 
 ./libtool --mode=install install -p -m755 systemd_booted $RPM_BUILD_ROOT/bin/systemd_booted
 
+# compatibility symlinks to udevd binary
+mv $RPM_BUILD_ROOT/lib/{systemd/systemd-,udev/}udevd
+ln -s /lib/udev/udevd $RPM_BUILD_ROOT/lib/systemd/systemd-udevd
+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}
+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
+
+# install udev configs
+cp -a %{SOURCE103} $RPM_BUILD_ROOT%{_sysconfdir}/udev/links.conf
+
+# install udev executables (scripts, helpers, etc.)
+install -p %{SOURCE110} $RPM_BUILD_ROOT/lib/udev/net_helper
+install -p %{SOURCE111} $RPM_BUILD_ROOT%{_sbindir}/start_udev
+
+# install misc udev stuff
+cp -a %{SOURCE120} $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/udev_blacklist.conf
+cp -a %{SOURCE121} $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/fbdev-blacklist.conf
+
+mv $RPM_BUILD_ROOT%{_mandir}/man8/{systemd-,}udevd.8
+echo ".so man8/udevd.8" >$RPM_BUILD_ROOT%{_mandir}/man8/syatemd-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
 
@@ -372,18 +719,28 @@ ln -s /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/random.service
 # add static (non-NetworkManager) networking
 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/network.service
 
-# install compatibility tmpfiles configs
-cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/tmpfiles.d/compat-pld-media.conf
-cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/tmpfiles.d/compat-pld-var-run.conf
+# restore bind-mounts /var/run -> run and /var/lock -> /run/lock
+# we don't have those directories symlinked
+cp -p %{SOURCE4} $RPM_BUILD_ROOT%{systemdunitdir}/var-lock.mount
+cp -p %{SOURCE5} $RPM_BUILD_ROOT%{systemdunitdir}/var-run.mount
+ln -s ../var-lock.mount $RPM_BUILD_ROOT%{systemdunitdir}/local-fs.target.wants
+ln -s ../var-run.mount $RPM_BUILD_ROOT%{systemdunitdir}/local-fs.target.wants
+
+# and remove tmp on tmpfs mount
+%{__rm} $RPM_BUILD_ROOT%{systemdunitdir}/tmp.mount
+%{__rm} $RPM_BUILD_ROOT%{systemdunitdir}/local-fs.target.wants/tmp.mount
 
 # Install and enable storage subsystems support services (RAID, LVM, etc.)
 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{systemdunitdir}/pld-storage-init-late.service
 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{systemdunitdir}/pld-storage-init.service
 cp -p %{SOURCE12} $RPM_BUILD_ROOT%{systemdunitdir}/pld-wait-storage.service
+cp -p %{SOURCE14} $RPM_BUILD_ROOT%{systemdunitdir}/pld-clean-tmp.service
 install -p %{SOURCE13} $RPM_BUILD_ROOT/lib/systemd/pld-storage-init
+install -p %{SOURCE15} $RPM_BUILD_ROOT/lib/systemd/pld-clean-tmp
 
-ln -s ../pld-storage-init-late.service $RPM_BUILD_ROOT%{systemdunitdir}/local-fs.target.wants/pld-storage-init-late.service
-ln -s ../pld-storage-init.service $RPM_BUILD_ROOT%{systemdunitdir}/local-fs.target.wants/pld-storage-init.service
+ln -s ../pld-storage-init-late.service $RPM_BUILD_ROOT%{systemdunitdir}/local-fs.target.wants
+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
 
 # handled by rc-local sysv service, no need for generator
 %{__rm} $RPM_BUILD_ROOT/lib/systemd/system-generators/systemd-rc-local-generator
@@ -404,8 +761,6 @@ install -d $RPM_BUILD_ROOT/var/log
 :> $RPM_BUILD_ROOT/var/log/btmp
 :> $RPM_BUILD_ROOT/var/log/wtmp
 
-%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/systemadm.1*
-
 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
 %{__rm} $RPM_BUILD_ROOT/%{_lib}/security/pam_systemd.la
 %{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
@@ -452,7 +807,8 @@ if [ $1 -eq 1 ]; then
                network.service \
                remote-fs.target \
                systemd-readahead-replay.service \
-               systemd-readahead-collect.service >/dev/null 2>&1 || :
+               systemd-readahead-collect.service \
+               systemd-udev-settle.service >/dev/null 2>&1 || :
 fi
 
 %preun units
@@ -462,7 +818,8 @@ if [ $1 -eq 0 ] ; then
                network.service \
                remote-fs.target \
                systemd-readahead-replay.service \
-               systemd-readahead-collect.service >/dev/null 2>&1 || :
+               systemd-readahead-collect.service \
+               systemd-udev-settle.service >/dev/null 2>&1 || :
 
        %{__rm} -f %{_sysconfdir}/systemd/system/default.target >/dev/null 2>&1 || :
 fi
@@ -472,15 +829,16 @@ if [ $1 -ge 1 ]; then
        /bin/systemctl daemon-reload > /dev/null 2>&1 || :
 fi
 
-%triggerpostun units -- %{name}-units < 43-7
+%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 || :
+%{__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 || :
 
-%post no-compat-tmpfiles
-%{__sed} -i -e '/^#/!s/^/# /g' %{_sysconfdir}/tmpfiles.d/compat-pld-var-run.conf
+%triggerpostun units -- udev-core < 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 || :
 
 %post plymouth
 %systemd_reload
@@ -488,6 +846,49 @@ rm -f %{_sysconfdir}/systemd/system/multi-user.target.wants/network-post.service
 %postun plymouth
 %systemd_reload
 
+%triggerpostun -n udev-core -- dev
+if [ "$2" = 0 ]; then
+       # need to kill and restart udevd as after obsoleting dev package the
+       # /dev tree will remain empty. umask is needed as otherwise udev will
+       # create devices with strange permissions (udev bug probably)
+       umask 000
+       /sbin/start_udev || exit 0
+fi
+
+%triggerpostun -n udev-core -- udev < 108
+%{__sed} -i -e 's#IMPORT{program}="/sbin/#IMPORT{program}="#g' /etc/udev/rules.d/*.rules
+%if "%{_lib}" != "lib"
+%{__sed} -i -e 's#/%{_lib}/udev/#/lib/udev/#g' /etc/udev/rules.d/*.rules
+%endif
+
+%triggerpostun -n udev-core -- udev < 165
+/sbin/udevadm info --convert-db
+
+%post -n udev-core
+if [ $1 -gt 1 ]; then
+       if [ ! -x /bin/systemd_booted ] || ! /bin/systemd_booted; then
+               if grep -qs devtmpfs /proc/mounts && [ -n "$(pidof udevd)" ]; then
+                       /sbin/udevadm control --exit
+                       /lib/systemd/systemd-udevd --daemon
+               fi
+       else
+               SYSTEMD_LOG_LEVEL=warning SYSTEMD_LOG_TARGET=syslog \
+               /bin/systemctl --quiet try-restart systemd-udev.service || :
+       fi
+fi
+
+%postun -n udev-core
+if [ -x /bin/systemd_booted ] && /bin/systemd_booted; then
+       SYSTEMD_LOG_LEVEL=warning SYSTEMD_LOG_TARGET=syslog \
+       /bin/systemctl --quiet daemon-reload || :
+fi
+
+%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
 %defattr(644,root,root,755)
 %doc DISTRO_PORTING README TODO
@@ -502,27 +903,62 @@ rm -f %{_sysconfdir}/systemd/system/multi-user.target.wants/network-post.service
 %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/*.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
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/systemd/user.conf
 %dir %{_sysconfdir}/systemd/user
 %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
 /etc/xdg/systemd
+%attr(755,root,root) /bin/journalctl
+%attr(755,root,root) /bin/loginctl
 %attr(755,root,root) /bin/systemd
 %attr(755,root,root) /bin/systemd-ask-password
-%attr(755,root,root) /bin/systemd-journalctl
-%attr(755,root,root) /bin/systemd-loginctl
+%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}/systemd-cat
 %attr(755,root,root) %{_bindir}/systemd-cgtop
 %attr(755,root,root) %{_bindir}/systemd-cgls
+%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-stdio-bridge
 %attr(755,root,root) %{_bindir}/systemd-sysv-convert
+%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-*
+%attr(755,root,root) /lib/systemd/systemd-ac-power
+%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
+%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-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-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-shutdownd
+%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
@@ -534,7 +970,10 @@ rm -f %{_sysconfdir}/systemd/system/multi-user.target.wants/network-post.service
 %dir %{_libexecdir}/systemd
 %{_libexecdir}/systemd/user
 %dir %{_libexecdir}/systemd/user-generators
-%config(noreplace,missingok) %{_libexecdir}/tmpfiles.d/*.conf
+%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
 %{_datadir}/dbus-1/interfaces/org.freedesktop.hostname1.xml
 %{_datadir}/dbus-1/interfaces/org.freedesktop.locale1.xml
 %{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.*.xml
@@ -552,19 +991,30 @@ rm -f %{_sysconfdir}/systemd/system/multi-user.target.wants/network-post.service
 %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy
 %dir %{_datadir}/systemd
 %{_datadir}/systemd/kbd-model-map
+%{_mandir}/man1/journalctl.1*
+%{_mandir}/man1/loginctl.1*
 %{_mandir}/man1/systemd.1*
-%{_mandir}/man1/systemd-*.1*
+%{_mandir}/man1/systemd-ask-password.1*
+%{_mandir}/man1/systemd-cat.1*
+%{_mandir}/man1/systemd-cgls.1*
+%{_mandir}/man1/systemd-cgtop.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}/man5/binfmt.d.5*
 %{_mandir}/man5/hostname.5*
+%{_mandir}/man5/journald.conf.5*
 %{_mandir}/man5/locale.conf.5*
+%{_mandir}/man5/logind.conf.5*
 %{_mandir}/man5/machine-id.5*
 %{_mandir}/man5/machine-info.5*
 %{_mandir}/man5/modules-load.d.5*
 %{_mandir}/man5/os-release.5*
 %{_mandir}/man5/sysctl.d.5*
 %{_mandir}/man5/systemd.*.5*
-%{_mandir}/man5/systemd-journald.conf.5*
-%{_mandir}/man5/systemd-logind.conf.5*
 %{_mandir}/man5/timezone.5*
 %{_mandir}/man5/vconsole.conf.5*
 %{_mandir}/man7/daemon.7*
@@ -572,6 +1022,8 @@ rm -f %{_sysconfdir}/systemd/system/multi-user.target.wants/network-post.service
 %{_mandir}/man7/sd-login.7*
 %{_mandir}/man7/sd-readahead.7*
 %{_mandir}/man7/systemd.special.7*
+%{_mandir}/man7/systemd.journal-fields.7*
+%{_mandir}/man8/systemd-udevd.8*
 %dir /var/lib/%{name}
 %dir /var/lib/%{name}/coredump
 %attr(640,root,root) %ghost /var/log/btmp
@@ -608,11 +1060,13 @@ rm -f %{_sysconfdir}/systemd/system/multi-user.target.wants/network-post.service
 %dir %{_sysconfdir}/systemd
 %dir %{_sysconfdir}/systemd/system
 %dir %{_sysconfdir}/tmpfiles.d
-%config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/tmpfiles.d/*.conf
 %dir %{_libexecdir}/binfmt.d
 %dir %{_libexecdir}/modules-load.d
 %dir %{_libexecdir}/sysctl.d
-%{_libexecdir}/sysctl.d/coredump.conf
+# 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
 %attr(755,root,root) /bin/systemctl
 %attr(755,root,root) /bin/systemd-tmpfiles
 %attr(755,root,root) /bin/systemd_booted
@@ -659,7 +1113,7 @@ rm -f %{_sysconfdir}/systemd/system/multi-user.target.wants/network-post.service
 %config(noreplace,missingok) %{systemdunitdir}/runlevel[12345].target.wants/*
 %config(noreplace,missingok) %{systemdunitdir}/shutdown.target.wants/*
 %config(noreplace,missingok) %{systemdunitdir}/sockets.target.wants/*
-%config(noreplace,missingok) %{systemdunitdir}/sysinit.target.wants/cryptsetup.target
+%{?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
@@ -754,6 +1208,134 @@ rm -f %{_sysconfdir}/systemd/system/multi-user.target.wants/network-post.service
 %defattr(644,root,root,755)
 /etc/bash_completion.d/systemd-bash-completion.sh
 
-%files no-compat-tmpfiles
+%files -n udev
+%defattr(644,root,root,755)
+%dev(c,1,3) %attr(666,root,root) /dev/null
+%dev(c,5,1) %attr(660,root,console) /dev/console
+%dev(c,1,5) %attr(666,root,root) /dev/zero
+
+%files -n udev-core
+%defattr(644,root,root,755)
+
+%dir /lib/udev
+/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/cdrom_id
+%attr(755,root,root) /lib/udev/mtd_probe
+%attr(755,root,root) /lib/udev/scsi_id
+%attr(755,root,root) /lib/udev/v4l_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
+
+%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
+
+%dir %{_sysconfdir}/udev
+%dir %{_sysconfdir}/udev/rules.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/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-udev-default.rules
+/lib/udev/rules.d/60-cdrom_id.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-tape.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/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/95-udev-late.rules
+
+%{_mandir}/man7/udev.7*
+%{_mandir}/man8/udevadm.8*
+%{_mandir}/man8/udevd.8*
+
+%files -n udev-libs
+%defattr(644,root,root,755)
+%attr(755,root,root) /%{_lib}/libudev.so.*.*.*
+%attr(755,root,root) %ghost /%{_lib}/libudev.so.1
+
+%files -n udev-devel
 %defattr(644,root,root,755)
-# empty package
+%attr(755,root,root) %{_libdir}/libudev.so
+%{_includedir}/libudev.h
+%{_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
+
+%files -n udev-glib
+%defattr(644,root,root,755)
+%attr(755,root,root) /%{_lib}/libgudev-1.0.so.*.*.*
+%attr(755,root,root) %ghost /%{_lib}/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-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
+%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
This page took 0.132336 seconds and 4 git commands to generate.