2012-11-02 17:30:32 +01:00
#
# spec file for package systemd-mini
#
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! #####
%define bootstrap 1
%define real systemd
##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! #####
%define udevpkgname udev-mini
%define udev_major 1
Name : systemd-mini
Url : http://www.freedesktop.org/wiki/Software/systemd
Version : 195
Release : 0
Summary : A System and Session Manager
License : LGPL-2.1+
Group : System/Base
BuildRoot : %{_tmppath} /%{name} -%{version} -build
Provides : %{real} = %{version} -%{release}
BuildRequires : audit-devel
BuildRequires : dbus-1
%if ! 0%{?bootstrap}
BuildRequires : docbook-xsl-stylesheets
%endif
BuildRequires : fdupes
%if ! 0%{?bootstrap}
BuildRequires : gobject-introspection-devel
%endif
BuildRequires : gperf
%if ! 0%{?bootstrap}
BuildRequires : gtk-doc
%endif
BuildRequires : intltool
BuildRequires : libacl-devel
BuildRequires : libcap-devel
BuildRequires : libsepol-devel
BuildRequires : libtool
BuildRequires : libusb-devel
%if ! 0%{?bootstrap}
BuildRequires : libxslt-tools
%endif
BuildRequires : pam-devel
BuildRequires : tcpd-devel
BuildRequires : xz
BuildRequires : pkgconfig(blkid) >= 2.20
BuildRequires : pkgconfig(dbus-1) >= 1.3.2
%if ! 0%{?bootstrap}
BuildRequires : pkgconfig(glib-2.0) >= 2.22.0
BuildRequires : pkgconfig(libcryptsetup) >= 1.4.2
%endif
BuildRequires : pkgconfig(libkmod) >= 5
BuildRequires : pkgconfig(liblzma)
%if ! 0%{?bootstrap}
BuildRequires : pkgconfig(libmicrohttpd)
%endif
BuildRequires : pkgconfig(libpci) >= 3
%if ! 0%{?bootstrap}
BuildRequires : pkgconfig(libqrencode)
%endif
BuildRequires : pkgconfig(libselinux) >= 2.1.9
BuildRequires : pkgconfig(libsepol)
BuildRequires : pkgconfig(usbutils) >= 0.82
%if 0%{?bootstrap}
Requires : this-is-only-for-build-envs
%else
# the buildignore is important for bootstrapping
#!BuildIgnore: udev
Requires : %{udevpkgname} >= 172
Requires : dbus-1 >= 1.4.0
Requires : kbd
Requires : pam-config >= 0.79-5
2012-11-26 19:58:02 +01:00
Requires : pwdutils
2012-11-02 17:30:32 +01:00
Requires : systemd-presets-branding
Requires : util-linux >= 2.21
Requires(post) : coreutils
Requires(post) : findutils
%endif
Conflicts : filesystem < 11.5
Conflicts : mkinitrd < 2.7.0
Source0 : http://www.freedesktop.org/software/systemd/systemd-%{version} .tar.xz
Source1 : systemd-rpmlintrc
Source2 : localfs.service
Source3 : systemd-sysv-convert
Source4 : macros.systemd
Source5 : systemd-insserv_conf
Source6 : baselibs.conf
2012-11-26 19:58:02 +01:00
Source7 : libgcrypt.m4
Source8 : systemd-journald.init
2012-11-02 17:30:32 +01:00
Source1060 : boot.udev
Source1061 : write_dev_root_rule
Source1062 : udev-root-symlink.systemd
Patch1 : 0001-Add-bootsplash-handling-for-password-dialogs.patch
# handle SUSE specific kbd settings
Patch6 : 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch
Patch7 : systemd-numlock-suse.patch
# don't start getty on tty1 until all password request are done
Patch8 : tty1.patch
Patch10 : 0001-service-Fix-dependencies-added-when-parsing-insserv..patch
Patch13 : 0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch
Patch15 : support-sysvinit.patch
Patch16 : modules_on_boot.patch
Patch22 : new-lsb-headers.patch
Patch23 : storage-after-cryptsetup.patch
Patch24 : delay-fsck-cryptsetup-after-md-lvm-dmraid.patch
Patch31 : lock-opensuse.patch
Patch33 : crypt-loop-file.patch
Patch36 : sysctl-modules.patch
Patch38 : dm-lvm-after-local-fs-pre-target.patch
Patch53 : fastboot-forcefsck.patch
Patch56 : support-suse-clock-sysconfig.patch
Patch59 : fix-enable-disable-boot-initscript.patch
Patch60 : var-run-lock.patch
2012-11-26 19:58:02 +01:00
Patch63 : xdm-display-manager.patch
Patch64 : fix-permissions-btmp.patch
2012-12-10 14:28:39 +01:00
# PATCH-FIX-UPSTREAM fix-debugshell.patch fcrozat@suse.com bnc#789052 -- use bash if sushell isn't available
Patch71 : fix-debugshell.patch
# PATCH-FIX-OPENSUSE handle-root-uses-lang.patch bnc#792182 fcrozat@suse.com -- handle ROOT_USES_LANG=ctype
Patch72 : handle-root-uses-lang.patch
2012-11-02 17:30:32 +01:00
# Upstream First - Policy:
# Never add any patches to this package without the upstream commit id
# in the patch. Any patches added here without a very good reason to make
# an exception will be silently removed with the next version update.
2012-11-05 20:55:01 +01:00
# PATCH-FIX-UPSTREAM fix-logind-pty-seat.patch fcrozat@suse.com -- fix logind complaining when doing su/sudo in X terminal
Patch61 : fix-logind-pty-seat.patch
2012-11-26 19:58:02 +01:00
# PATCH-FIX-UPSTREAM fix-build-glibc217.patch fcrozat@suse.com -- fix build with latest glibc
Patch62 : fix-build-glibc217.patch
# PATCH-FIX-UPSTREAM fix-bad-memory-access.patch fcrozat@suse.com -- fix bad memory access
Patch65 : fix-bad-memory-access.patch
# PATCH-FIX-UPSTREAM fix-dbus-crash.patch fcrozat@suse.com -- fix D-Bus caused crash
Patch66 : fix-dbus-crash.patch
# PATCH-FIX-UPSTREAM sync-on-shutdown.patch fcrozat@suse.com -- Sync on shutdown
Patch67 : sync-on-shutdown.patch
# PATCH-FIX-UPSTREAM mount-efivars.patch fcrozat@suse.com -- mount efivars if booting under UEFI
Patch68 : mount-efivars.patch
# PATCH-FIX-UPSTREAM switch-root-try-pivot-root.patch fcrozat@suse.com -- try pivot_root before overmounting /
Patch69 : switch-root-try-pivot-root.patch
# PATCH-FIX-UPSTREAM remount-ro-before-unmount.patch fcrozat@suse.com -- remount ro before unmounting in final shutdown loop
Patch70 : remount-ro-before-unmount.patch
2012-12-10 14:28:39 +01:00
# PATCH-FIX-UPSTREAM revert-of-9279749b84cc87c7830280b7895a48bed03c9429.patch crrodriguez@opensuse.org -- do not consider failure to umount / and /usr an error.
Patch73 : revert-of-9279749b84cc87c7830280b7895a48bed03c9429.patch
2012-11-02 17:30:32 +01:00
# udev patches
# PATCH-FIX-OPENSUSE 0001-Reinstate-TIMEOUT-handling.patch
Patch1001 : 0001-Reinstate-TIMEOUT-handling.patch
# PATCH-FIX-OPENSUSE 0013-re-enable-by_path-links-for-ata-devices.patch
Patch1013 : 0013-re-enable-by_path-links-for-ata-devices.patch
# PATCH-FIX-OPENSUSE 0014-rules-create-by-id-scsi-links-for-ATA-devices.patch
Patch1014 : 0014-rules-create-by-id-scsi-links-for-ATA-devices.patch
# PATCH-FIX-OPENSUSE 0026-udev-netlink-null-rules.patch
Patch1026 : 0026-udev-netlink-null-rules.patch
# PATCH-FIX-OPENSUSE 0027-udev-fix-sg-autoload-regression.patch
Patch1027 : 0027-udev-fix-sg-autoload-regression.patch
2012-12-10 14:28:39 +01:00
# PATCH-FIX-OPENSUSE fix-devname-prefix.patch fcrozat@suse.com -- fix modules.devname path, it isn't in /usr
Patch1028 : fix-devname-prefix.patch
2012-11-02 17:30:32 +01:00
%description
Systemd is a system and service manager, compatible with SysV and LSB
init scripts for Linux. systemd provides aggressive parallelization
capabilities, uses socket and D-Bus activation for starting services,
offers on-demand starting of daemons, keeps track of processes using
Linux cgroups, supports snapshotting and restoring of the system state,
maintains mount and automount points and implements an elaborate
transactional dependency-based service control logic. It can work as a
drop-in replacement for sysvinit.
%package devel
Summary : Development headers for systemd
License : LGPL-2.1+
Group : Development/Libraries/C and C++
Requires : %{name} = %{version}
%description devel
Development headers and auxiliary files for developing applications for systemd.
%package sysvinit
Summary : System V init tools
License : LGPL-2.1+
Group : System/Base
Requires : %{name} = %{version}
Provides : sbin_init
Conflicts : otherproviders(sbin_init)
Provides : sysvinit:/sbin/init
%description sysvinit
Drop-in replacement of System V init tools.
%package analyze
Summary : Tool for processing systemd profiling information
License : LGPL-2.1+
Group : System/Base
Requires : %{name} = %{version}
Requires : dbus-1-python
Requires : python-cairo
# for the systemd-analyze split:
Conflicts : systemd < 44-10
%description analyze
'systemd-analyze blame' lists which systemd unit needed how much time to finish
initialization at boot.
'systemd-analyze plot' renders an SVG visualizing the parallel start of units
at boot.
%package -n %{udevpkgname}
Summary : A rule-based device node and kernel event manager
License : GPL-2.0
Group : System/Kernel
Url : http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html
PreReq : /bin/pidof /bin/rm /usr/bin/stat %insserv_prereq %fillup_prereq /usr/sbin/groupadd /usr/bin/getent /sbin/mkinitrd
2012-11-26 19:58:02 +01:00
Requires(post) : lib%{udevpkgname} %{udev_major}
2012-11-02 17:30:32 +01:00
Conflicts : systemd < 39
Conflicts : aaa_base < 11.5
Conflicts : filesystem < 11.5
Conflicts : mkinitrd < 2.7.0
Conflicts : util-linux < 2.16
Conflicts : ConsoleKit < 0.4.1
Requires : filesystem
%if 0%{?bootstrap}
Provides : udev = %{version}
%endif
%description -n %{udevpkgname}
Udev creates and removes device nodes in /dev for devices discovered or
removed from the system. It receives events via kernel netlink messages
and dispatches them according to rules in /lib/udev/rules.d/. Matching
rules may name a device node, create additional symlinks to the node,
call tools to initialize a device, or load needed kernel modules.
%package -n lib%{udevpkgname}%{udev_major}
Summary : Dynamic library to access udev device information
License : LGPL-2.1+
Group : System/Libraries
Requires : %{udevpkgname} >= %{version} -%{release}
2012-12-10 14:28:39 +01:00
%if 0%{?bootstrap}
Conflicts : libudev%{udev_major}
%endif
2012-11-02 17:30:32 +01:00
%description -n lib%{udevpkgname}%{udev_major}
This package contains the dynamic library libudev, which provides
access to udev device information
%package -n lib%{udevpkgname}-devel
Summary : Development files for libudev
License : LGPL-2.1+
Group : Development/Libraries/Other
Requires : lib%{udevpkgname} %{udev_major} = %{version} -%{release}
%if 0%{?bootstrap}
Provides : libudev-devel = %{version}
%endif
%description -n lib%{udevpkgname}-devel
This package contains the development files for the library libudev, a
dynamic library, which provides access to udev device information.
%if ! 0%{?bootstrap}
%package -n libgudev-1_0-0
Summary : GObject library, to access udev device information
License : LGPL-2.1+
Group : System/Libraries
Requires : lib%{udevpkgname} %{udev_major} = %{version} -%{release}
%description -n libgudev-1_0-0
This package contains the GObject library libgudev, which provides
access to udev device information.
%package -n typelib-1_0-GUdev-1_0
Summary : GObject library, to access udev device information -- Introspection bindings
License : LGPL-2.1+
Group : System/Libraries
%description -n typelib-1_0-GUdev-1_0
This package provides the GObject Introspection bindings for libgudev, which
provides access to udev device information.
%package -n libgudev-1_0-devel
Summary : Devel package for libgudev
License : LGPL-2.1+
Group : Development/Libraries/Other
Requires : glib2-devel
Requires : libgudev-1_0-0 = %{version} -%{release}
Requires : libudev-devel = %{version} -%{release}
Requires : typelib-1_0-GUdev-1_0 = %{version} -%{release}
%description -n libgudev-1_0-devel
This is the devel package for the GObject library libgudev, which
provides GObject access to udev device information.
2012-11-06 15:52:46 +01:00
%package logger
Summary : Journal only logging
License : LGPL-2.1+
Group : System/Base
Provides : syslog
Provides : sysvinit(syslog)
Conflicts : otherproviders(syslog)
%description logger
This package marks the installation to not use syslog but only the journal.
2012-11-02 17:30:32 +01:00
%endif
%prep
%setup -q -n systemd-%{version}
2012-11-26 19:58:02 +01:00
# only needed for bootstrap
%if 0%{?bootstrap}
cp %{SOURCE7} m4/
%endif
2012-11-02 17:30:32 +01:00
#udev
%patch1001 -p1
%patch1013 -p1
%patch1014 -p1
%patch1026 -p1
%patch1027 -p1
2012-12-10 14:28:39 +01:00
%patch1028 -p1
2012-11-02 17:30:32 +01:00
2012-11-26 19:58:02 +01:00
#systemd
2012-11-02 17:30:32 +01:00
%patch1 -p1
%patch6 -p1
# don't apply when bootstrapping to not modify configure.in
%if ! 0%{?bootstrap}
%patch7 -p1
%endif
%patch8 -p1
%patch10 -p1
%patch13 -p1
%patch15 -p1
%patch16 -p1
%patch22 -p1
%patch23 -p1
%patch24 -p1
%patch31 -p1
%patch33 -p1
%patch36 -p1
%patch38 -p1
%patch53 -p1
%patch56 -p1
%patch59 -p1
%patch60 -p1
2012-11-05 20:55:01 +01:00
%patch61 -p1
2012-11-26 19:58:02 +01:00
%patch62 -p1
%patch63 -p1
%patch64 -p1
%patch65 -p1
%patch66 -p1
%patch67 -p1
%patch68 -p1
%patch69 -p1
%patch70 -p1
2012-12-10 14:28:39 +01:00
%patch71 -p1
%patch72 -p1
%patch73 -p1
2012-11-02 17:30:32 +01:00
%build
autoreconf -fiv
# prevent pre-generated and distributed files from re-building
find . -name " * . [ 1 - 8 ] " -exec touch '{}' \;
export V=1
# keep split-usr until all packages have moved their systemd rules to /usr
%configure \
--with-distro=suse \
--docdir=%{_docdir} /systemd \
--with-pamlibdir=/%{_lib}/security \
%if 0%{?bootstrap}
--disable-gudev \
%else
--enable-manpages \
--enable-gtk-doc \
%endif
--enable-selinux \
--enable-split-usr \
--disable-static \
CFLAGS=" %{optflags} "
make %{?_smp_mflags}
%install
%makeinstall
mkdir -p $RPM_BUILD_ROOT /{sbin,lib,bin}
ln -sf %{_bindir} /udevadm $RPM_BUILD_ROOT /sbin/udevadm
ln -sf %{_bindir} /systemd-ask-password $RPM_BUILD_ROOT /bin/systemd-ask-password
ln -sf %{_bindir} /systemctl $RPM_BUILD_ROOT /bin/systemctl
ln -sf %{_prefix} /lib/systemd/systemd-udevd $RPM_BUILD_ROOT /sbin/udevd
2012-11-26 19:58:02 +01:00
%if ! 0%{?bootstrap}
ln -sf systemd-udevd.8 $RPM_BUILD_ROOT /%{_mandir} /man8/udevd.8
%endif
2012-11-02 17:30:32 +01:00
mkdir -p $RPM_BUILD_ROOT /%{_prefix} /usr/lib/firmware/updates
ln -sf /lib/firmware $RPM_BUILD_ROOT /usr/lib/firmware
2012-11-26 19:58:02 +01:00
%if ! 0%{?bootstrap}
install -m755 -D %{S:8} $RPM_BUILD_ROOT /etc/init.d/systemd-journald
%endif
2012-11-02 17:30:32 +01:00
install -m755 -D %{S:1060} $RPM_BUILD_ROOT /etc/init.d/boot.udev
2012-11-05 20:55:01 +01:00
ln -s systemd-udevd.service $RPM_BUILD_ROOT /%{_prefix} /lib/systemd/system/udev.service
2012-11-26 19:58:02 +01:00
sed -ie " s | @ @ P R E F I X @ @ | %{_bindir} | g " %{S:1061}
2012-11-02 17:30:32 +01:00
install -m755 -D %{S:1061} $RPM_BUILD_ROOT /%{_prefix} /lib/udev/write_dev_root_rule
2012-11-26 19:58:02 +01:00
sed -ie " s | @ @ P R E F I X @ @ | %{_prefix} / l i b / u d e v | g " %{S:1062}
2012-11-02 17:30:32 +01:00
install -m644 -D %{S:1062} $RPM_BUILD_ROOT /%{_prefix} /lib/systemd/system/udev-root-symlink.service
mkdir -p $RPM_BUILD_ROOT /lib/systemd/system/basic.target.wants
ln -sf ../udev-root-symlink.service $RPM_BUILD_ROOT /%{_prefix} /lib/systemd/system/basic.target.wants
#workaround for 716939
chmod 644 %{buildroot} %{_bindir} /systemd-analyze
mkdir -p %{buildroot} %{_sysconfdir} /rpm
install -m644 %{S:4} %{buildroot} %{_sysconfdir} /rpm
find %{buildroot} -type f -name '*.la' -exec rm -f {} ';'
mkdir -p %{buildroot} /{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot} /usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants}
install -m755 %{S:3} -D %{buildroot} %{_sbindir} /systemd-sysv-convert
# do not install, code has been fixed, might be useful in the future
2012-11-26 19:58:02 +01:00
#install -m755 %{S:5} %{buildroot}/usr/lib/systemd/system-generators
2012-11-02 17:30:32 +01:00
ln -s ../usr/lib/systemd/systemd %{buildroot} /bin/systemd
ln -s ../usr/lib/systemd/systemd %{buildroot} /sbin/init
ln -s ../usr/bin/systemctl %{buildroot} /sbin/reboot
ln -s ../usr/bin/systemctl %{buildroot} /sbin/halt
ln -s ../usr/bin/systemctl %{buildroot} /sbin/shutdown
ln -s ../usr/bin/systemctl %{buildroot} /sbin/poweroff
ln -s ../usr/bin/systemctl %{buildroot} /sbin/telinit
ln -s ../usr/bin/systemctl %{buildroot} /sbin/runlevel
rm -rf %{buildroot} /etc/systemd/system/*.target.wants
rm -f %{buildroot} /etc/systemd/system/default.target
# aliases for /etc/init.d/*
ln -s /dev/null %{buildroot} /%{_prefix} /lib/systemd/system/cgroup.service
ln -s systemd-tmpfiles-setup.service %{buildroot} /%{_prefix} /lib/systemd/system/cleanup.service
ln -s /dev/null %{buildroot} /%{_prefix} /lib/systemd/system/clock.service
ln -s /dev/null %{buildroot} /%{_prefix} /lib/systemd/system/crypto.service
ln -s /dev/null %{buildroot} /%{_prefix} /lib/systemd/system/crypto-early.service
ln -s /dev/null %{buildroot} /%{_prefix} /lib/systemd/system/device-mapper.service
ln -s /dev/null %{buildroot} /%{_prefix} /lib/systemd/system/earlysyslog.service
ln -s /dev/null %{buildroot} /%{_prefix} /lib/systemd/system/kbd.service
ln -s /dev/null %{buildroot} /%{_prefix} /lib/systemd/system/ldconfig.service
ln -s /dev/null %{buildroot} /%{_prefix} /lib/systemd/system/loadmodules.service
install -m644 %{S:2} %{buildroot} /%{_prefix} /lib/systemd/system/localfs.service
2012-11-26 19:58:02 +01:00
ln -s /dev/null %{buildroot} /%{_prefix} /lib/systemd/system/localnet.service
2012-11-02 17:30:32 +01:00
ln -s /dev/null %{buildroot} /%{_prefix} /lib/systemd/system/proc.service
ln -s systemd-fsck-root.service %{buildroot} /%{_prefix} /lib/systemd/system/rootfsck.service
ln -s /dev/null %{buildroot} /%{_prefix} /lib/systemd/system/single.service
ln -s /dev/null %{buildroot} /%{_prefix} /lib/systemd/system/swap.service
ln -s /dev/null %{buildroot} /%{_prefix} /lib/systemd/system/startpreload.service
ln -s /dev/null %{buildroot} /%{_prefix} /lib/systemd/system/stoppreload.service
ln -s /dev/null %{buildroot} /%{_prefix} /lib/systemd/system/earlyxdm.service
ln -s systemd-sysctl.service %{buildroot} /%{_prefix} /lib/systemd/system/sysctl.service
ln -s systemd-random-seed-load.service %{buildroot} /%{_prefix} /lib/systemd/system/random.service
# don't mount /tmp as tmpfs for now
rm %{buildroot} /%{_prefix} /lib/systemd/system/local-fs.target.wants/tmp.mount
# To avoid making life hard for Factory developers, 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.
rm -f %{buildroot} %{_libdir} /../lib/sysctl.d/coredump.conf
2012-11-26 19:58:02 +01:00
# remove README file for now
rm -f %{buildroot} /etc/init.d/README
%if 0%{?bootstrap}
rm -f %{buildroot} /var/log/README
%endif
2012-11-02 17:30:32 +01:00
# legacy links
2012-11-26 19:58:02 +01:00
for f in loginctl journalctl ; do
ln -s $f %{buildroot} %{_bindir} /systemd-$f
%if ! 0%{?bootstrap}
ln -s $f.1 %{buildroot} %{_mandir} /man1/systemd-$f.1
%endif
done
2012-11-02 17:30:32 +01:00
ln -s /usr/lib/udev %{buildroot} /lib/udev
# Create the /var/log/journal directory to change the volatile journal to a persistent one
mkdir -p %{buildroot} /var/log/journal
# Make sure the NTP units dir exists
mkdir -p %{buildroot} %{_prefix} /lib/systemd/ntp-units.d/
# Make sure the shutdown/sleep drop-in dirs exist
mkdir -p %{buildroot} %{_prefix} /lib/systemd/system-shutdown/
mkdir -p %{buildroot} %{_prefix} /lib/systemd/system-sleep/
# Make sure these directories are properly owned
mkdir -p %{buildroot} %{_prefix} /lib/systemd/system/default.target.wants
mkdir -p %{buildroot} %{_prefix} /lib/systemd/system/dbus.target.wants
mkdir -p %{buildroot} %{_prefix} /lib/systemd/system/syslog.target.wants
%fdupes -s %{buildroot} %{_mandir}
2012-11-26 19:58:02 +01:00
%pre
getent group adm >/dev/null || groupadd -r adm
exit 0
2012-11-02 17:30:32 +01:00
%post
/usr/sbin/pam-config -a --systemd >/dev/null 2>&1 || :
/sbin/ldconfig
/usr/bin/systemd-machine-id-setup >/dev/null 2>&1 || :
2012-11-26 19:58:02 +01:00
/usr/lib/systemd/systemd-random-seed save >/dev/null 2>&1 || :
2012-11-02 17:30:32 +01:00
/usr/bin/systemctl daemon-reexec >/dev/null 2>&1 || :
# Try to read default runlevel from the old inittab if it exists
if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then
runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab 2> /dev/null)
if [ -n " $ r u n l e v e l " ] ; then
/bin/ln -sf /usr/lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target 2>&1 || :
fi
fi
# Create default config in /etc at first install.
# Later package updates should not overwrite these settings.
if [ " $ 1 " -eq 1 ]; then
# Enable these services by default.
/usr/bin/systemctl enable \
getty@.service \
systemd-readahead-collect.service \
systemd-readahead-replay.service \
remote-fs.target >/dev/null 2>&1 || :
2012-12-10 14:28:39 +01:00
fi
%triggerpostun -- systemd < 194
2012-11-02 17:30:32 +01:00
# migrate any symlink which may refer to the old path
for f in $(find /etc/systemd/system -type l -xtype l); do
new_target=" / u s r $ ( r e a d l i n k $ f ) "
[ -f " $ n e w _ t a r g e t " ] && ln -s -f $new_target $f || :
done
%postun
/sbin/ldconfig
if [ $1 -ge 1 ]; then
2012-11-26 19:58:02 +01:00
/usr/bin/systemctl daemon-reload >/dev/null 2>&1 || :
2012-11-02 17:30:32 +01:00
/usr/bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || :
fi
if [ $1 -eq 0 ]; then
/usr/sbin/pam-config -d --systemd >/dev/null 2>&1 || :
fi
%preun
if [ $1 -eq 0 ]; then
/usr/bin/systemctl disable \
getty@.service \
systemd-readahead-collect.service \
systemd-readahead-replay.service \
remote-fs.target >/dev/null 2>&1 || :
rm -f /etc/systemd/system/default.target 2>&1 || :
fi
%pretrans -n %{udevpkgname} -p <lua>
if posix.stat(" / l i b / u d e v " ) and not posix.stat(" / u s r / l i b / u d e v " ) then
posix.symlink(" / l i b / u d e v " , " / u s r / l i b / u d e v " )
end
%pre -n %{udevpkgname}
if test -L /usr/lib/udev -a /lib/udev -ef /usr/lib/udev ; then
rm /usr/lib/udev
mv /lib/udev /usr/lib
ln -s /usr/lib/udev /lib/udev
2012-11-26 19:58:02 +01:00
elif [ ! -e /lib/udev ]; then
ln -s /usr/lib/udev /lib/udev
2012-11-02 17:30:32 +01:00
fi
2012-11-26 19:58:02 +01:00
# Create "tape" group which is referenced by 50-udev-default.rules and 60-persistent-storage-tape.rules
/usr/sbin/groupadd -r tape 2> /dev/null || :
2012-11-05 20:55:01 +01:00
# kill daemon if we are not in a chroot
if test -f /proc/1/exe -a -d /proc/1/root ; then
if test " $ ( s t a t - L c ' % % D - % % i ' / ) " = " $ ( s t a t - L c ' % % D - % % i ' / p r o c / 1 / r o o t ) " ; then
systemctl stop systemd-udevd-control.socket systemd-udevd-kernel.socket systemd-udevd.service udev.service udev-control.socket udev-kernel.socket >/dev/null 2>&1 || :
udevadm control --exit 2>&1 || :
fi
fi
2012-11-02 17:30:32 +01:00
%post -n %{udevpkgname}
%{fillup_and_insserv -Y boot.udev}
# add KERNEL name match to existing persistent net rules
sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \
/etc/udev/rules.d/70-persistent-net.rules >/dev/null 2>&1 || :
# cleanup old stuff
rm -f /etc/sysconfig/udev
rm -f /etc/udev/rules.d/20-cdrom.rules
rm -f /etc/udev/rules.d/55-cdrom.rules
rm -f /etc/udev/rules.d/65-cdrom.rules
2012-11-05 20:55:01 +01:00
systemctl daemon-reload >/dev/null 2>&1 || :
2012-11-02 17:30:32 +01:00
# start daemon if we are not in a chroot
if test -f /proc/1/exe -a -d /proc/1/root; then
if test " $ ( s t a t - L c ' % % D - % % i ' / ) " = " $ ( s t a t - L c ' % % D - % % i ' / p r o c / 1 / r o o t ) " ; then
2012-11-05 20:55:01 +01:00
if ! systemctl start systemd-udevd.service >/dev/null 2>&1; then
/usr/lib/systemd/systemd-udevd --daemon >/dev/null 2>&1 || :
fi
2012-11-02 17:30:32 +01:00
fi
fi
2012-11-26 19:58:02 +01:00
if [ " $ { Y A S T _ I S _ R U N N I N G } " != " i n s t s y s " ]; then
if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then
echo " S k i p p i n g r e c r e a t i o n o f e x i s t i n g i n i t i a l r a m d i s k s , d u e "
echo " t o p r e s e n c e o f / v a r / l i b / n o _ i n i t r d _ r e c r e a t i o n _ b y _ s u s p e n d "
elif [ -x /sbin/mkinitrd ]; then
[ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup
/sbin/mkinitrd || :
fi
2012-11-02 17:30:32 +01:00
fi
%postun -n %{udevpkgname}
%insserv_cleanup
2012-11-05 20:55:01 +01:00
systemctl daemon-reload >/dev/null 2>&1 || :
2012-11-02 17:30:32 +01:00
2012-11-26 19:58:02 +01:00
if [ " $ { Y A S T _ I S _ R U N N I N G } " != " i n s t s y s " ]; then
if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then
echo " S k i p p i n g r e c r e a t i o n o f e x i s t i n g i n i t i a l r a m d i s k s , d u e "
echo " t o p r e s e n c e o f / v a r / l i b / n o _ i n i t r d _ r e c r e a t i o n _ b y _ s u s p e n d "
elif [ -x /sbin/mkinitrd ]; then
[ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup
/sbin/mkinitrd || :
fi
2012-11-02 17:30:32 +01:00
fi
%post -n lib%{udevpkgname}%{udev_major} -p /sbin/ldconfig
%postun -n lib%{udevpkgname}%{udev_major} -p /sbin/ldconfig
%if ! 0%{?bootstrap}
%post -n libgudev-1_0-0 -p /sbin/ldconfig
%postun -n libgudev-1_0-0 -p /sbin/ldconfig
%endif
%clean
2012-11-26 19:58:02 +01:00
# rm -rf %{buildroot}
2012-11-02 17:30:32 +01:00
%files
%defattr (-,root,root)
/bin/systemd
/bin/systemd-ask-password
/bin/systemctl
%{_bindir} /hostnamectl
%{_bindir} /localectl
%{_bindir} /systemctl
%{_bindir} /systemd-coredumpctl
%{_bindir} /systemd-delta
%{_bindir} /systemd-notify
%{_bindir} /systemd-journalctl
%{_bindir} /journalctl
%{_bindir} /systemd-ask-password
%{_bindir} /loginctl
%{_bindir} /systemd-loginctl
%{_bindir} /systemd-inhibit
%{_bindir} /systemd-tty-ask-password-agent
%{_bindir} /systemd-tmpfiles
%{_bindir} /systemd-machine-id-setup
%{_bindir} /systemd-nspawn
%{_bindir} /systemd-stdio-bridge
%{_bindir} /systemd-detect-virt
%{_bindir} /timedatectl
%{_sbindir} /systemd-sysv-convert
%{_libdir} /libsystemd-daemon.so.*
%{_libdir} /libsystemd-login.so.*
%{_libdir} /libsystemd-id128.so.*
%{_libdir} /libsystemd-journal.so.*
%{_bindir} /systemd-cgls
%{_bindir} /systemd-cgtop
%{_bindir} /systemd-cat
%dir %{_prefix} /lib/systemd
%dir %{_prefix} /lib/systemd/user
%dir %{_prefix} /lib/systemd/system
%exclude %{_prefix} /lib/systemd/system/systemd-udev*.*
2012-11-05 20:55:01 +01:00
%exclude %{_prefix} /lib/systemd/system/udev.service
2012-11-02 17:30:32 +01:00
%exclude %{_prefix} /lib/systemd/system/udev-root-symlink.service
%exclude %{_prefix} /lib/systemd/system/*.target.wants/systemd-udev*.*
%exclude %{_prefix} /lib/systemd/system/basic.target.wants/udev-root-symlink.service
%{_prefix} /lib/systemd/system/*.automount
%{_prefix} /lib/systemd/system/*.service
%{_prefix} /lib/systemd/system/*.target
%{_prefix} /lib/systemd/system/*.mount
%{_prefix} /lib/systemd/system/*.timer
%{_prefix} /lib/systemd/system/*.socket
%{_prefix} /lib/systemd/system/*.wants
%{_prefix} /lib/systemd/system/*.path
%{_prefix} /lib/systemd/user/*.target
%{_prefix} /lib/systemd/user/*.service
%exclude %{_prefix} /lib/systemd/systemd-udevd
%{_prefix} /lib/systemd/systemd-*
%{_prefix} /lib/systemd/systemd
%dir %{_prefix} /lib/systemd/system-shutdown
%dir %{_prefix} /lib/systemd/system-preset
%dir %{_prefix} /lib/systemd/user-preset
%dir %{_prefix} /lib/systemd/system-generators
%dir %{_prefix} /lib/systemd/user-generators
%dir %{_prefix} /lib/systemd/ntp-units.d/
%dir %{_prefix} /lib/systemd/system-shutdown/
%dir %{_prefix} /lib/systemd/system-sleep/
%dir %{_prefix} /lib/systemd/system/default.target.wants
%dir %{_prefix} /lib/systemd/system/dbus.target.wants
%dir %{_prefix} /lib/systemd/system/syslog.target.wants
%if ! 0%{?bootstrap}
%{_prefix} /lib/systemd/system-generators/systemd-cryptsetup-generator
%endif
%{_prefix} /lib/systemd/system-generators/systemd-getty-generator
%{_prefix} /lib/systemd/system-generators/systemd-rc-local-generator
%{_prefix} /lib/systemd/system-generators/systemd-fstab-generator
%{_prefix} /lib/systemd/system-generators/systemd-system-update-generator
/%{_lib}/security/pam_systemd.so
%dir %{_libexecdir} /modules-load.d
%dir %{_sysconfdir} /modules-load.d
%dir %{_libexecdir} /tmpfiles.d
%dir %{_sysconfdir} /tmpfiles.d
%{_libexecdir} /tmpfiles.d/*.conf
%dir %{_libexecdir} /binfmt.d
%dir %{_sysconfdir} /binfmt.d
%dir %{_libexecdir} /sysctl.d
%dir %{_sysconfdir} /sysctl.d
%dir %{_sysconfdir} /systemd
%dir %{_sysconfdir} /systemd/system
%dir %{_sysconfdir} /systemd/user
%dir %{_sysconfdir} /xdg/systemd
%dir %{_sysconfdir} /xdg/systemd/user
%config (noreplace) %{_sysconfdir} /systemd/system.conf
%config (noreplace) %{_sysconfdir} /systemd/logind.conf
%config (noreplace) %{_sysconfdir} /systemd/journald.conf
%config (noreplace) %{_sysconfdir} /systemd/user.conf
%config (noreplace) %{_sysconfdir} /dbus-1/system.d/org.freedesktop.locale1.conf
%config (noreplace) %{_sysconfdir} /dbus-1/system.d/org.freedesktop.login1.conf
%config (noreplace) %{_sysconfdir} /dbus-1/system.d/org.freedesktop.systemd1.conf
%config (noreplace) %{_sysconfdir} /dbus-1/system.d/org.freedesktop.hostname1.conf
%config (noreplace) %{_sysconfdir} /dbus-1/system.d/org.freedesktop.timedate1.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/interfaces/org.freedesktop.timedate1.xml
%{_datadir} /dbus-1/services/org.freedesktop.systemd1.service
%{_datadir} /dbus-1/system-services/org.freedesktop.systemd1.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.hostname1.service
%{_datadir} /dbus-1/system-services/org.freedesktop.timedate1.service
%dir %{_datadir} /polkit-1
%dir %{_datadir} /polkit-1/actions
%{_datadir} /polkit-1/actions/org.freedesktop.systemd1.policy
%{_datadir} /polkit-1/actions/org.freedesktop.hostname1.policy
%{_datadir} /polkit-1/actions/org.freedesktop.locale1.policy
%{_datadir} /polkit-1/actions/org.freedesktop.timedate1.policy
%{_datadir} /polkit-1/actions/org.freedesktop.login1.policy
%{_datadir} /systemd
%if ! 0%{?bootstrap}
# Packaged in sysvinit subpackage
%exclude %{_mandir} /man1/init.1*
%exclude %{_mandir} /man8/halt.8*
%exclude %{_mandir} /man8/reboot.8*
%exclude %{_mandir} /man8/shutdown.8*
%exclude %{_mandir} /man8/poweroff.8*
%exclude %{_mandir} /man8/telinit.8*
%exclude %{_mandir} /man8/runlevel.8*
%exclude %{_mandir} /man*/*udev*.[0-9]*
2012-11-26 19:58:02 +01:00
# Packaged in analyze subpackage
%exclude %{_mandir} /man1/systemd-analyze.1*
2012-11-02 17:30:32 +01:00
%{_mandir} /man1/*.1*
%{_mandir} /man3/*.3*
%{_mandir} /man5/*.5*
%{_mandir} /man7/*.7*
%{_mandir} /man8/*.8*
%endif
%{_docdir} /systemd
%{_prefix} /lib/udev/rules.d/70-uaccess.rules
%{_prefix} /lib/udev/rules.d/71-seat.rules
%{_prefix} /lib/udev/rules.d/73-seat-late.rules
%if ! 0%{?bootstrap}
%{_prefix} /lib/udev/rules.d/73-seat-numlock.rules
%endif
%{_prefix} /lib/udev/rules.d/99-systemd.rules
%if ! 0%{?bootstrap}
%{_prefix} /lib/udev/numlock-on
%endif
%dir %{_sysconfdir} /bash_completion.d
%{_sysconfdir} /bash_completion.d/systemd-bash-completion.sh
%{_sysconfdir} /rpm/macros.systemd
%dir /var/lib/systemd
%dir /var/lib/systemd/sysv-convert
%dir /var/lib/systemd/migrated
%files devel
%defattr (-,root,root,-)
%{_libdir} /libsystemd-daemon.so
%{_libdir} /libsystemd-login.so
%{_libdir} /libsystemd-id128.so
%{_libdir} /libsystemd-journal.so
%dir %{_includedir} /systemd
%{_includedir} /systemd/sd-login.h
%{_includedir} /systemd/sd-daemon.h
%{_includedir} /systemd/sd-id128.h
%{_includedir} /systemd/sd-journal.h
%{_includedir} /systemd/sd-messages.h
%{_includedir} /systemd/sd-shutdown.h
%{_datadir} /pkgconfig/systemd.pc
%{_libdir} /pkgconfig/libsystemd-daemon.pc
%{_libdir} /pkgconfig/libsystemd-login.pc
%{_libdir} /pkgconfig/libsystemd-id128.pc
%{_libdir} /pkgconfig/libsystemd-journal.pc
%files sysvinit
%defattr (-,root,root,-)
/sbin/init
/sbin/reboot
/sbin/halt
/sbin/shutdown
/sbin/poweroff
/sbin/telinit
/sbin/runlevel
%if ! 0%{?bootstrap}
%{_mandir} /man1/init.1*
%{_mandir} /man8/halt.8*
%{_mandir} /man8/reboot.8*
%{_mandir} /man8/shutdown.8*
%{_mandir} /man8/poweroff.8*
%{_mandir} /man8/telinit.8*
%{_mandir} /man8/runlevel.8*
%endif
%files analyze
2012-11-26 19:58:02 +01:00
%defattr (-,root,root)
2012-11-02 17:30:32 +01:00
%attr (0755,root,root) /usr/bin/systemd-analyze
2012-11-26 19:58:02 +01:00
%if ! 0%{?bootstrap}
%{_mandir} /man1/systemd-analyze.1*
%endif
2012-11-02 17:30:32 +01:00
%files -n %{udevpkgname}
%defattr (-,root,root)
/sbin/udevd
/sbin/udevadm
# keep for compatibility
%ghost /lib/udev
%{_bindir} /udevadm
%{_prefix} /lib/firmware
%dir %{_prefix} /lib/udev/
%{_prefix} /lib/udev/accelerometer
%{_prefix} /lib/udev/ata_id
%{_prefix} /lib/udev/cdrom_id
%{_prefix} /lib/udev/collect
%{_prefix} /lib/udev/findkeyboards
%{_prefix} /lib/udev/keymap
%{_prefix} /lib/udev/mtd_probe
%{_prefix} /lib/udev/scsi_id
%{_prefix} /lib/udev/v4l_id
%{_prefix} /lib/udev/write_dev_root_rule
%dir %{_prefix} /lib/udev/keymaps
%{_prefix} /lib/udev/keymaps/*
%{_prefix} /lib/udev/keyboard-force-release.sh
%dir %{_prefix} /lib/udev/rules.d/
%exclude %{_prefix} /lib/udev/rules.d/70-uaccess.rules
%exclude %{_prefix} /lib/udev/rules.d/71-seat.rules
%exclude %{_prefix} /lib/udev/rules.d/73-seat-late.rules
%exclude %{_prefix} /lib/udev/rules.d/73-seat-numlock.rules
%exclude %{_prefix} /lib/udev/rules.d/99-systemd.rules
%{_prefix} /lib/udev/rules.d/*.rules
%{_sysconfdir} /init.d/boot.udev
%dir %{_sysconfdir} /udev/
%dir %{_sysconfdir} /udev/rules.d/
%config (noreplace) %{_sysconfdir} /udev/udev.conf
%if ! 0%{?bootstrap}
%{_mandir} /man?/*udev*.[0-9]*
%endif
%dir %{_prefix} /lib/systemd/system
%{_prefix} /lib/systemd/systemd-udevd
%{_prefix} /lib/systemd/system/udev-root-symlink.service
%{_prefix} /lib/systemd/system/*udev*.service
%{_prefix} /lib/systemd/system/systemd-udevd*.socket
%dir %{_prefix} /lib/systemd/system/sysinit.target.wants
%{_prefix} /lib/systemd/system/sysinit.target.wants/systemd-udev*.service
%dir %{_prefix} /lib/systemd/system/sockets.target.wants
%{_prefix} /lib/systemd/system/sockets.target.wants/systemd-udev*.socket
%files -n lib%{udevpkgname}%{udev_major}
%defattr (-,root,root)
%{_libdir} /libudev.so.*
%files -n lib%{udevpkgname}-devel
%defattr (-,root,root)
%{_includedir} /libudev.h
%{_libdir} /libudev.so
%{_datadir} /pkgconfig/udev.pc
%{_libdir} /pkgconfig/libudev.pc
%if ! 0%{?bootstrap}
%dir %{_datadir} /gtk-doc
%dir %{_datadir} /gtk-doc/html
%dir %{_datadir} /gtk-doc/html/libudev
%{_datadir} /gtk-doc/html/libudev/*
%endif
%if ! 0%{?bootstrap}
%files -n libgudev-1_0-0
%defattr (-,root,root)
%{_libdir} /libgudev-1.0.so.*
%files -n typelib-1_0-GUdev-1_0
%defattr (-,root,root)
%{_libdir} /girepository-1.0/GUdev-1.0.typelib
%files -n libgudev-1_0-devel
%defattr (-,root,root)
%dir %{_includedir} /gudev-1.0
%dir %{_includedir} /gudev-1.0/gudev
%{_includedir} /gudev-1.0/gudev/*.h
%{_libdir} /libgudev-1.0.so
%{_libdir} /pkgconfig/gudev-1.0.pc
%dir %{_datadir} /gtk-doc
%dir %{_datadir} /gtk-doc/html
%dir %{_datadir} /gtk-doc/html/gudev
%{_datadir} /gtk-doc/html/gudev/*
%{_datadir} /gir-1.0/GUdev-1.0.gir
2012-11-06 15:52:46 +01:00
%files logger
%defattr (-,root,root)
%dir /var/log/journal
2012-11-26 19:58:02 +01:00
/var/log/README
/etc/init.d/systemd-journald
2012-11-06 15:52:46 +01:00
2012-11-02 17:30:32 +01:00
%endif
%changelog