# /etc/vconsole.conf
#
# TODO: - move %_libexecdir/tmpfiles.d/* to /etc/tmpfiles.d?
-# - shouldn't ../bin/systemctl symlinks be absolute?
+# - shouldn't ../bin/systemctl symlinks be absolute? -no they shouldn't (think browsing mounted as chroot and seeing all blink due invalid link targets when doing ls)
# - separate init subpackage (with symlink), one can switch to
# systemd using init=/bin/systemd with other one installed
# - verify %_sysconfdir usage vs literal '/etc'
Summary(pl.UTF-8): systemd - zarządca systemu i usług dla Linuksa
Name: systemd
Version: 37
-Release: 0.5
+Release: 0.7
License: GPL v2+
Group: Base
Source0: http://www.freedesktop.org/software/systemd/%{name}-%{version}.tar.bz2
# Source0-md5: 1435f23be79c8c38d1121c6b150510f3
+Source1: systemd-sysv-convert
Patch0: target-pld.patch
URL: http://www.freedesktop.org/wiki/Software/systemd
%{?with_audit:BuildRequires: audit-libs-devel}
BuildRequires: rpmbuild(macros) >= 1.527
BuildRequires: udev-devel >= 160
BuildRequires: vala >= 0.10.0
+Requires: %{name}-libs = %{version}-%{release}
Requires: %{name}-units = %{version}-%{release}
Requires: SysVinit-tools
Requires: agetty
Requires: dbus >= 1.3.2
Requires: dbus-systemd
# python modules required by systemd-analyze
+Requires: filesystem >= 4.0
Requires: python-dbus
Requires: python-modules
Requires: rc-scripts
+Requires: setup >= 2.8.0-2
Requires: udev-core >= 160
Requires: udev-systemd
+Suggests: ConsoleKit-systemd
+Suggests: rsyslog-systemd
+Suggests: udev-systemd
Provides: SysVinit = 2.86-26
Provides: readahead = 1:1.5.7-3
Provides: virtual(init-daemon)
Obsoletes: SysVinit < 2.86-26
Obsoletes: readahead < 1:1.5.7-3
Obsoletes: virtual(init-daemon)
-Suggests: ConsoleKit-systemd
-Suggests: rsyslog-systemd
-Suggests: udev-systemd
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _libexecdir %{_prefix}/lib
%description -n bash-completion-systemd
bash-completion for systemd.
+%package libs
+Summary: Shared systemd library
+Group: Libraries
+
+%description libs
+Shared systemd library.
+
%package devel
Summary: Header files for systemd libraries
Summary(pl.UTF-8): Pliki nagłówkowe bibliotek systemd
Group: Development/Libraries
-Requires: %{name} = %{version}-%{release}
+Requires: %{name}-libs = %{version}-%{release}
%description devel
Header files for systemd libraries.
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
-%{__mv} $RPM_BUILD_ROOT{%{_libdir}/lib%{name}-*.so*,/%{_lib}}
+for lib in libsystemd-daemon libsystemd-login; do
+ %{__mv} $RPM_BUILD_ROOT{%{_libdir}/$lib.so.*,/%{_lib}}
+ ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/$lib.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/$lib.so
+done
# Create SysV compatibility symlinks. systemctl/systemd are smart
# enough to detect in which way they are called.
# them.
%{__rm} -r $RPM_BUILD_ROOT%{_sysconfdir}/systemd/system/*.target.wants
+# do not cover /media (system-specific removable mountpoints) for now
+# needs %post code to convert existing /media structure to tmpfiles
+%{__rm} -f $RPM_BUILD_ROOT/lib/systemd/local-fs.target.wants/media.mount
+# do not cover /var/run until packages need rpm-provided-only subdirectories
+%{__rm} -f $RPM_BUILD_ROOT/lib/systemd/local-fs.target.wants/var-run.mount
+
# Make sure these directories are properly owned
install -d $RPM_BUILD_ROOT/lib/systemd/system/{basic,dbus,default,halt,kexec,poweroff,reboot,syslog}.target.wants
# Create new-style configuration files so that we can ghost-own them
touch $RPM_BUILD_ROOT%{_sysconfdir}/{hostname,locale.conf,machine-id,machine-info,os-release,timezone,vconsole.conf}
+# Install SysV conversion tool for systemd
+install -m 0755 %{SOURCE1} $RPM_BUILD_ROOT/%{_bindir}/
+
+install -d $RPM_BUILD_ROOT/var/log
+> $RPM_BUILD_ROOT/var/log/btmp
+> $RPM_BUILD_ROOT/var/log/wtmp
+
%if %{without gtk}
# to shut up check-files
rm -f $RPM_BUILD_ROOT%{_bindir}/systemadm
rm -rf $RPM_BUILD_ROOT
%post
-/sbin/ldconfig
/bin/systemd-machine-id-setup > /dev/null 2>&1 || :
/bin/systemctl daemon-reexec > /dev/null 2>&1 || :
%postun
-/sbin/ldconfig
if [ $1 -ge 1 ]; then
/bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || :
fi
+%post libs -p /sbin/ldconfig
+%postun libs -p /sbin/ldconfig
+
%post units
if [ $1 -eq 1 ]; then
# Try to read default runlevel from the old inittab if it exists
/etc/dbus-1/system.d/org.freedesktop.login1.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
%dir %{_sysconfdir}/systemd
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/systemd/*.conf
-%ghost %config(noreplace) %{_sysconfdir}/machine-id
/etc/xdg/systemd
%attr(755,root,root) /bin/systemd
%attr(755,root,root) /bin/systemd-ask-password
%attr(755,root,root) %{_bindir}/systemd-analyze
%attr(755,root,root) %{_bindir}/systemd-cgls
%attr(755,root,root) %{_bindir}/systemd-nspawn
+%attr(755,root,root) %{_bindir}/systemd-sysv-convert
%attr(755,root,root) %{_bindir}/systemd-stdio-bridge
%attr(755,root,root) /sbin/halt
%attr(755,root,root) /sbin/init
%attr(755,root,root) /sbin/shutdown
%attr(755,root,root) /sbin/telinit
%attr(755,root,root) /lib/systemd/systemd-*
-%attr(755,root,root) /%{_lib}/libsystemd-daemon.so.*.*.*
-%attr(755,root,root) %ghost /%{_lib}/libsystemd-daemon.so.0
-%attr(755,root,root) /%{_lib}/libsystemd-login.so.*.*.*
-%attr(755,root,root) %ghost /%{_lib}/libsystemd-login.so.0
-
-%dir %{_libexecdir}/systemd
-%{_libexecdir}/systemd/user
%dir /lib/systemd/system-generators
%attr(755,root,root) /lib/systemd/system-generators/systemd-*-generator
%dir /lib/systemd/system-shutdown
/lib/udev/rules.d/70-uaccess.rules
/lib/udev/rules.d/71-seat.rules
/lib/udev/rules.d/73-seat-late.rules
-%config(noreplace,missingok) %verify(not md5 mtime size) %{_libexecdir}/tmpfiles.d/*.conf
+%dir %{_libexecdir}/systemd
+%{_libexecdir}/systemd/user
+%config(noreplace,missingok) %{_libexecdir}/tmpfiles.d/*.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
%{_mandir}/man5/modules-load.d.5*
%{_mandir}/man5/os-release.5*
%{_mandir}/man5/sysctl.d.5*
-%{_mandir}/man5/systemd.automount.5*
-%{_mandir}/man5/systemd.conf.5*
-%{_mandir}/man5/systemd.device.5*
-%{_mandir}/man5/systemd.exec.5*
-%{_mandir}/man5/systemd.mount.5*
-%{_mandir}/man5/systemd.path.5*
-%{_mandir}/man5/systemd.service.5*
-%{_mandir}/man5/systemd.snapshot.5*
-%{_mandir}/man5/systemd.socket.5*
-%{_mandir}/man5/systemd.swap.5*
-%{_mandir}/man5/systemd.target.5*
-%{_mandir}/man5/systemd.timer.5*
-%{_mandir}/man5/systemd.unit.5*
+%{_mandir}/man5/systemd.*.5*
%{_mandir}/man5/systemd-logind.conf.5*
%{_mandir}/man5/timezone.5*
%{_mandir}/man5/vconsole.conf.5*
%{_mandir}/man8/runlevel.8*
%{_mandir}/man8/shutdown.8*
%{_mandir}/man8/telinit.8*
+%attr(640,root,root) %ghost /var/log/btmp
+%attr(664,root,utmp) %ghost /var/log/wtmp
%if %{with pam}
%attr(755,root,root) /%{_lib}/security/pam_systemd.so
%{_mandir}/man8/pam_systemd.8*
%endif
+%files libs
+%defattr(644,root,root,755)
+%attr(755,root,root) /%{_lib}/libsystemd-daemon.so.*.*.*
+%attr(755,root,root) %ghost /%{_lib}/libsystemd-daemon.so.0
+%attr(755,root,root) /%{_lib}/libsystemd-login.so.*.*.*
+%attr(755,root,root) %ghost /%{_lib}/libsystemd-login.so.0
+
%files units
%defattr(644,root,root,755)
%dir %{_sysconfdir}/binfmt.d
%dir %{_sysconfdir}/systemd
%dir %{_sysconfdir}/systemd/system
%dir %{_sysconfdir}/tmpfiles.d
-%dir /lib/systemd
-%config(noreplace,missingok) %verify(not md5 mtime size) /lib/systemd/system
%dir %{_libexecdir}/binfmt.d
%dir %{_libexecdir}/modules-load.d
%dir %{_libexecdir}/sysctl.d
-%dir %{_libexecdir}/tmpfiles.d
%attr(755,root,root) /bin/systemctl
%attr(755,root,root) /bin/systemd-tmpfiles
-%{_mandir}/man5/tmpfiles.d.5*
%{_mandir}/man1/systemctl.1*
+%{_mandir}/man5/tmpfiles.d.5*
%{_mandir}/man8/systemd-tmpfiles.8*
%{_npkgconfigdir}/systemd.pc
%files devel
%defattr(644,root,root,755)
%{_includedir}/systemd
-%attr(755,root,root) /%{_lib}/libsystemd-daemon.so
-%attr(755,root,root) /%{_lib}/libsystemd-login.so
+%attr(755,root,root) %{_libdir}/libsystemd-daemon.so
+%attr(755,root,root) %{_libdir}/libsystemd-login.so
%{_pkgconfigdir}/libsystemd-daemon.pc
%{_pkgconfigdir}/libsystemd-login.pc