9 # TODO: - move %_libexecdir/tmpfiles.d/* to /etc/tmpfiles.d?
10 # - shouldn't ../bin/systemctl symlinks be absolute?
11 # - separate init subpackage (with symlink), one can switch to
12 # systemd using init=/bin/systemd with other one installed
13 # - verify %_sysconfdir usage vs literal '/etc'
16 %bcond_without audit # without audit support
17 %bcond_without cryptsetup # without cryptsetup support
18 %bcond_without gtk # build gtk tools
19 %bcond_without pam # PAM authentication support
20 %bcond_without selinux # without SELinux support
21 %bcond_without tcpd # libwrap (tcp_wrappers) support
23 Summary: A System and Service Manager
24 Summary(pl.UTF-8): systemd - zarządca systemu i usług dla Linuksa
30 Source0: http://www.freedesktop.org/software/systemd/%{name}-%{version}.tar.bz2
31 # Source0-md5: 1435f23be79c8c38d1121c6b150510f3
32 Patch0: target-pld.patch
33 URL: http://www.freedesktop.org/wiki/Software/systemd
34 %{?with_audit:BuildRequires: audit-libs-devel}
35 BuildRequires: autoconf >= 2.63
36 BuildRequires: automake >= 1:1.11
37 %{?with_cryptsetup:BuildRequires: cryptsetup-luks-devel}
38 BuildRequires: dbus-devel >= 1.3.2
39 BuildRequires: docbook-style-xsl
41 BuildRequires: glib2-devel >= 1:2.26.1
42 BuildRequires: gtk+2-devel >= 2:2.24.0
43 BuildRequires: libnotify-devel >= 0.7.0
46 BuildRequires: libcap-devel
47 %{?with_selinux:BuildRequires: libselinux-devel}
48 BuildRequires: libtool >= 2:2.2
49 %{?with_tcpd:BuildRequires: libwrap-devel}
50 BuildRequires: libxslt-progs
52 %{?with_pam:BuildRequires: pam-devel}
53 BuildRequires: pkgconfig >= 0.9.0
54 BuildRequires: rpmbuild(macros) >= 1.527
55 BuildRequires: udev-devel >= 160
56 BuildRequires: vala >= 0.10.0
57 Requires: %{name}-units = %{version}-%{release}
58 Requires: SysVinit-tools
60 Requires: dbus >= 1.3.2
61 Requires: dbus-systemd
62 # python modules required by systemd-analyze
64 Requires: python-modules
66 Requires: udev-core >= 160
67 Requires: udev-systemd
68 Provides: SysVinit = 2.86-26
69 Provides: readahead = 1:1.5.7-3
70 Provides: virtual(init-daemon)
71 Obsoletes: SysVinit < 2.86-26
72 Obsoletes: readahead < 1:1.5.7-3
73 Obsoletes: virtual(init-daemon)
74 Suggests: ConsoleKit-systemd
75 Suggests: rsyslog-systemd
76 Suggests: udev-systemd
77 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
79 %define _libexecdir %{_prefix}/lib
82 systemd is a system and service manager for Linux, compatible with
83 SysV and LSB init scripts. systemd provides aggressive parallelization
84 capabilities, uses socket and D-Bus activation for starting services,
85 offers on-demand starting of daemons, keeps track of processes using
86 Linux cgroups, supports snapshotting and restoring of the system
87 state, maintains mount and automount points and implements an
88 elaborate transactional dependency-based service control logic. It can
89 work as a drop-in replacement for sysvinit.
91 %description -l pl.UTF-8
92 systemd jest zarządcą systemu i usług dla Linuksa, kompatybilny ze
93 skryptami SysV i LSB. systemd udostępnia rozbudowane zdolności
94 paralelizacji, do uruchamiania usług używa socketów oraz D-Busa,
95 oferuje uruchamianie usług na życzenie, monitoruje procesy używając
96 linuksowych cgroups, wspomaga zapisywanie (snapshot) i odczytywanie
97 (restore) stanu systemu, zarządza (auto)mount pointami oraz
98 implementuje starannie opracowaną transakcjonalną, bazującą na
99 zależnościach logikę kontroli usług. Może pracować jako zastępca dla
103 Summary: Configuration files, directories and installation tool for systemd
105 Requires(post): coreutils
110 Basic configuration files, directories and installation tool for the
111 systemd system and service manager.
114 Summary: Graphical frontend for systemd
116 Requires: %{name} = %{version}-%{release}
120 Graphical front-end for systemd.
122 %package -n bash-completion-systemd
123 Summary: bash-completion for systemd
124 Group: Applications/Shells
126 Requires: bash-completion
128 %description -n bash-completion-systemd
129 bash-completion for systemd.
132 Summary: Header files for systemd libraries
133 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek systemd
134 Group: Development/Libraries
135 Requires: %{name} = %{version}-%{release}
138 Header files for systemd libraries.
140 %description devel -l pl.UTF-8
141 Pliki nagłówkowe bibliotek systemd.
153 %{__enable_disable audit} \
154 %{__enable_disable cryptsetup libcryptsetup} \
155 %{__enable_disable gtk} \
156 %{__enable_disable pam} \
157 %{__enable_disable selinux} \
158 %{__enable_disable tcpd tcpwrap} \
159 --disable-silent-rules \
166 rm -rf $RPM_BUILD_ROOT
169 DESTDIR=$RPM_BUILD_ROOT
171 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/lib%{name}-*.so*,/%{_lib}}
173 # Create SysV compatibility symlinks. systemctl/systemd are smart
174 # enough to detect in which way they are called.
175 install -d $RPM_BUILD_ROOT/sbin
176 ln -s ../bin/systemd $RPM_BUILD_ROOT/sbin/init
177 ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/halt
178 ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/poweroff
179 ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/reboot
180 ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/runlevel
181 ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/shutdown
182 ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/telinit
184 ln -s ../modules $RPM_BUILD_ROOT%{_sysconfdir}/modules-load.d/modules.conf
186 # We create all wants links manually at installation time to make sure
187 # they are not owned and hence overriden by rpm after the used deleted
189 %{__rm} -r $RPM_BUILD_ROOT%{_sysconfdir}/systemd/system/*.target.wants
191 # Make sure these directories are properly owned
192 install -d $RPM_BUILD_ROOT/lib/systemd/system/{basic,dbus,default,halt,kexec,poweroff,reboot,syslog}.target.wants
194 # Create new-style configuration files so that we can ghost-own them
195 touch $RPM_BUILD_ROOT%{_sysconfdir}/{hostname,locale.conf,machine-id,machine-info,os-release,timezone,vconsole.conf}
198 # to shut up check-files
199 rm -f $RPM_BUILD_ROOT%{_bindir}/systemadm
200 rm -f $RPM_BUILD_ROOT%{_bindir}/systemd-gnome-ask-password-agent
201 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/systemadm.1*
204 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
205 %{__rm} $RPM_BUILD_ROOT/%{_lib}/security/pam_systemd.la
206 %{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
209 rm -rf $RPM_BUILD_ROOT
213 /bin/systemd-machine-id-setup > /dev/null 2>&1 || :
214 /bin/systemctl daemon-reexec > /dev/null 2>&1 || :
218 if [ $1 -ge 1 ]; then
219 /bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || :
223 if [ $1 -eq 1 ]; then
224 # Try to read default runlevel from the old inittab if it exists
225 runlevel=$(/bin/awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab 2> /dev/null)
226 if [ -z "$runlevel" ] ; then
227 target="/lib/systemd/system/graphical.target"
229 target="/lib/systemd/system/runlevel$runlevel.target"
232 # And symlink what we found to the new-style default.target
233 ln -sf "$target" /etc/systemd/system/default.target >/dev/null 2>&1 || :
235 # Enable the services we install by default.
236 /bin/systemctl enable \
239 systemd-readahead-replay.service \
240 systemd-readahead-collect.service >/dev/null 2>&1 || :
244 if [ $1 -eq 0 ] ; then
245 /bin/systemctl disable \
248 systemd-readahead-replay.service \
249 systemd-readahead-collect.service >/dev/null 2>&1 || :
251 %{__rm} -f /etc/systemd/system/default.target >/dev/null 2>&1 || :
255 if [ $1 -ge 1 ]; then
256 /bin/systemctl daemon-reload > /dev/null 2>&1 || :
260 %defattr(644,root,root,755)
261 %doc DISTRO_PORTING README TODO
262 /etc/dbus-1/system.d/org.freedesktop.hostname1.conf
263 /etc/dbus-1/system.d/org.freedesktop.locale1.conf
264 /etc/dbus-1/system.d/org.freedesktop.login1.conf
265 /etc/dbus-1/system.d/org.freedesktop.systemd1.conf
266 /etc/dbus-1/system.d/org.freedesktop.timedate1.conf
267 %dir %{_sysconfdir}/systemd
268 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/systemd/*.conf
269 %ghost %config(noreplace) %{_sysconfdir}/machine-id
271 %attr(755,root,root) /bin/systemd
272 %attr(755,root,root) /bin/systemd-ask-password
273 %attr(755,root,root) /bin/systemd-loginctl
274 %attr(755,root,root) /bin/systemd-machine-id-setup
275 %attr(755,root,root) /bin/systemd-notify
276 %attr(755,root,root) /bin/systemd-tty-ask-password-agent
277 %attr(755,root,root) %{_bindir}/systemd-analyze
278 %attr(755,root,root) %{_bindir}/systemd-cgls
279 %attr(755,root,root) %{_bindir}/systemd-nspawn
280 %attr(755,root,root) %{_bindir}/systemd-stdio-bridge
281 %attr(755,root,root) /sbin/halt
282 %attr(755,root,root) /sbin/init
283 %attr(755,root,root) /sbin/poweroff
284 %attr(755,root,root) /sbin/reboot
285 %attr(755,root,root) /sbin/runlevel
286 %attr(755,root,root) /sbin/shutdown
287 %attr(755,root,root) /sbin/telinit
288 %attr(755,root,root) /lib/systemd/systemd-*
289 %attr(755,root,root) /%{_lib}/libsystemd-daemon.so.*.*.*
290 %attr(755,root,root) %ghost /%{_lib}/libsystemd-daemon.so.0
291 %attr(755,root,root) /%{_lib}/libsystemd-login.so.*.*.*
292 %attr(755,root,root) %ghost /%{_lib}/libsystemd-login.so.0
294 %dir %{_libexecdir}/systemd
295 %{_libexecdir}/systemd/user
296 %dir /lib/systemd/system-generators
297 %attr(755,root,root) /lib/systemd/system-generators/systemd-*-generator
298 %dir /lib/systemd/system-shutdown
299 /lib/udev/rules.d/99-systemd.rules
300 /lib/udev/rules.d/70-uaccess.rules
301 /lib/udev/rules.d/71-seat.rules
302 /lib/udev/rules.d/73-seat-late.rules
303 %config(noreplace,missingok) %verify(not md5 mtime size) %{_libexecdir}/tmpfiles.d/*.conf
304 %{_datadir}/dbus-1/interfaces/org.freedesktop.hostname1.xml
305 %{_datadir}/dbus-1/interfaces/org.freedesktop.locale1.xml
306 %{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.*.xml
307 %{_datadir}/dbus-1/interfaces/org.freedesktop.timedate1.xml
308 %{_datadir}/dbus-1/services/org.freedesktop.systemd1.service
309 %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service
310 %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service
311 %{_datadir}/dbus-1/system-services/org.freedesktop.login1.service
312 %{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service
313 %{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service
314 %{_datadir}/polkit-1/actions/org.freedesktop.hostname1.policy
315 %{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy
316 %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy
317 %{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy
318 %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy
319 %dir %{_datadir}/systemd
320 %{_datadir}/systemd/kbd-model-map
321 %{_mandir}/man1/init.1
322 %{_mandir}/man1/systemd.1*
323 %{_mandir}/man1/systemd-ask-password.1*
324 %{_mandir}/man1/systemd-cgls.1*
325 %{_mandir}/man1/systemd-notify.1*
326 %{_mandir}/man1/systemd-nspawn.1*
327 %{_mandir}/man1/systemd-loginctl.1*
328 %{_mandir}/man3/sd_booted.3*
329 %{_mandir}/man3/sd_is_fifo.3*
330 %{_mandir}/man3/sd_is_socket.3
331 %{_mandir}/man3/sd_is_socket_inet.3
332 %{_mandir}/man3/sd_is_socket_unix.3
333 %{_mandir}/man3/sd_listen_fds.3*
334 %{_mandir}/man3/sd_notify.3*
335 %{_mandir}/man3/sd_notifyf.3
336 %{_mandir}/man3/sd_readahead.3*
337 %{_mandir}/man5/binfmt.d.5*
338 %{_mandir}/man5/hostname.5*
339 %{_mandir}/man5/locale.conf.5*
340 %{_mandir}/man5/machine-id.5*
341 %{_mandir}/man5/machine-info.5*
342 %{_mandir}/man5/modules-load.d.5*
343 %{_mandir}/man5/os-release.5*
344 %{_mandir}/man5/sysctl.d.5*
345 %{_mandir}/man5/systemd.automount.5*
346 %{_mandir}/man5/systemd.conf.5*
347 %{_mandir}/man5/systemd.device.5*
348 %{_mandir}/man5/systemd.exec.5*
349 %{_mandir}/man5/systemd.mount.5*
350 %{_mandir}/man5/systemd.path.5*
351 %{_mandir}/man5/systemd.service.5*
352 %{_mandir}/man5/systemd.snapshot.5*
353 %{_mandir}/man5/systemd.socket.5*
354 %{_mandir}/man5/systemd.swap.5*
355 %{_mandir}/man5/systemd.target.5*
356 %{_mandir}/man5/systemd.timer.5*
357 %{_mandir}/man5/systemd.unit.5*
358 %{_mandir}/man5/systemd-logind.conf.5*
359 %{_mandir}/man5/timezone.5*
360 %{_mandir}/man5/vconsole.conf.5*
361 %{_mandir}/man7/daemon.7*
362 %{_mandir}/man7/sd-daemon.7*
363 %{_mandir}/man7/sd-readahead.7*
364 %{_mandir}/man7/systemd.special.7*
365 %{_mandir}/man8/halt.8*
366 %{_mandir}/man8/poweroff.8
367 %{_mandir}/man8/reboot.8
368 %{_mandir}/man8/runlevel.8*
369 %{_mandir}/man8/shutdown.8*
370 %{_mandir}/man8/telinit.8*
373 %attr(755,root,root) /%{_lib}/security/pam_systemd.so
374 %{_mandir}/man8/pam_systemd.8*
378 %defattr(644,root,root,755)
379 %dir %{_sysconfdir}/binfmt.d
380 %dir %{_sysconfdir}/modules-load.d
381 %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/modules-load.d/modules.conf
382 %dir %{_sysconfdir}/sysctl.d
383 %dir %{_sysconfdir}/systemd
384 %dir %{_sysconfdir}/systemd/system
385 %dir %{_sysconfdir}/tmpfiles.d
387 %config(noreplace,missingok) %verify(not md5 mtime size) /lib/systemd/system
388 %dir %{_libexecdir}/binfmt.d
389 %dir %{_libexecdir}/modules-load.d
390 %dir %{_libexecdir}/sysctl.d
391 %dir %{_libexecdir}/tmpfiles.d
392 %attr(755,root,root) /bin/systemctl
393 %attr(755,root,root) /bin/systemd-tmpfiles
394 %{_mandir}/man5/tmpfiles.d.5*
395 %{_mandir}/man1/systemctl.1*
396 %{_mandir}/man8/systemd-tmpfiles.8*
397 %{_npkgconfigdir}/systemd.pc
401 %defattr(644,root,root,755)
402 %attr(755,root,root) %{_bindir}/systemadm
403 %attr(755,root,root) %{_bindir}/systemd-gnome-ask-password-agent
404 %{_mandir}/man1/systemadm.1*
407 %files -n bash-completion-systemd
408 %defattr(644,root,root,755)
409 /etc/bash_completion.d/systemctl-bash-completion.sh
412 %defattr(644,root,root,755)
413 %{_includedir}/systemd
414 %attr(755,root,root) /%{_lib}/libsystemd-daemon.so
415 %attr(755,root,root) /%{_lib}/libsystemd-login.so
416 %{_pkgconfigdir}/libsystemd-daemon.pc
417 %{_pkgconfigdir}/libsystemd-login.pc