3 %bcond_without audit # without audit support
4 %bcond_without cryptsetup # without cryptsetup support
5 %bcond_without gtk # build gtk tools
6 %bcond_without pam # PAM authentication support
7 %bcond_without selinux # without SELinux support
8 %bcond_without tcpd # libwrap (tcp_wrappers) support
10 Summary: A System and Service Manager
11 Summary(pl.UTF-8): systemd - zarządca systemu i usług dla Linuksa
17 Source0: http://www.freedesktop.org/software/systemd/%{name}-%{version}.tar.xz
18 # Source0-md5: 68c66dce5a28c0efd7c210af5d11efed
19 Source1: %{name}-sysv-convert
20 Source2: systemd_booted.c
21 Source3: ifup@.service
22 Source4: network-post.service
23 Source5: network.service
24 Patch0: target-pld.patch
25 Patch1: config-pld.patch
26 Patch2: shut-sysv-up.patch
27 URL: http://www.freedesktop.org/wiki/Software/systemd
28 BuildRequires: acl-devel
29 %{?with_audit:BuildRequires: audit-libs-devel}
30 BuildRequires: autoconf >= 2.63
31 BuildRequires: automake >= 1:1.11
32 %{?with_cryptsetup:BuildRequires: cryptsetup-luks-devel}
33 BuildRequires: dbus-devel >= 1.3.2
34 BuildRequires: docbook-style-xsl
36 BuildRequires: glib2-devel >= 1:2.26.1
37 BuildRequires: gtk+2-devel >= 2:2.24.0
38 BuildRequires: libgee-devel
39 BuildRequires: libnotify-devel >= 0.7.0
42 BuildRequires: intltool >= 0.40.0
43 BuildRequires: libcap-devel
44 %{?with_selinux:BuildRequires: libselinux-devel}
45 BuildRequires: libtool >= 2:2.2
46 %{?with_tcpd:BuildRequires: libwrap-devel}
47 BuildRequires: libxslt-progs
49 %{?with_pam:BuildRequires: pam-devel}
50 BuildRequires: pkgconfig >= 0.9.0
51 BuildRequires: rpmbuild(macros) >= 1.527
52 BuildRequires: udev-devel >= 172
53 # not required for building from release (which contains *.c for *.vala)
54 #BuildRequires: vala >= 0.10.0
55 Requires: %{name}-libs = %{version}-%{release}
56 Requires: %{name}-units = %{version}-%{release}
57 Requires: SysVinit-tools
59 Requires: dbus >= 1.3.2
60 Requires: dbus-systemd
61 Requires: filesystem >= 4.0
62 Requires: rc-scripts >= 0.4.5.1-7
63 Requires: setup >= 2.8.0-2
64 Requires: udev-core >= 1:172
65 Requires: udev-systemd >= 1:172
66 Requires: udev-libs >= 1:172
67 Suggests: ConsoleKit-systemd
68 Suggests: fsck >= 2.20
69 # python modules required by systemd-analyze
71 Suggests: python-modules
72 Suggests: rsyslog-systemd
74 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
76 %define _libexecdir %{_prefix}/lib
79 systemd is a system and service manager for Linux, compatible with
80 SysV and LSB init scripts. systemd provides aggressive parallelization
81 capabilities, uses socket and D-Bus activation for starting services,
82 offers on-demand starting of daemons, keeps track of processes using
83 Linux cgroups, supports snapshotting and restoring of the system
84 state, maintains mount and automount points and implements an
85 elaborate transactional dependency-based service control logic. It can
86 work as a drop-in replacement for sysvinit.
88 %description -l pl.UTF-8
89 systemd jest zarządcą systemu i usług dla Linuksa, kompatybilny ze
90 skryptami SysV i LSB. systemd udostępnia rozbudowane zdolności
91 paralelizacji, do uruchamiania usług używa socketów oraz D-Busa,
92 oferuje uruchamianie usług na życzenie, monitoruje procesy używając
93 linuksowych cgroups, wspomaga zapisywanie (snapshot) i odczytywanie
94 (restore) stanu systemu, zarządza (auto)mount pointami oraz
95 implementuje starannie opracowaną transakcjonalną, bazującą na
96 zależnościach logikę kontroli usług. Może pracować jako zastępca dla
100 Summary: systemd /sbin/init and LSB/SysV compatibility symlinks
101 Summary(pl.UTF-8): /sbin/init z systemd i dowiązania dla kompatybilności z LSB/SysV
104 Provides: readahead = 1:1.5.7-3
105 Provides: virtual(init-daemon)
107 Obsoletes: readahead < 1:1.5.7-3
108 Obsoletes: virtual(init-daemon)
111 Install this package when you are ready to final switch to systemd.
113 %description init -l pl.UTF-8
114 Ten pakiet należy zainstalować po przygotowaniu się do ostatecznego
115 przejścia na systemd.
118 Summary: Configuration files, directories and installation tool for systemd
119 Summary(pl.UTF-8): Pliki konfiguracyjne, katalogi i narzędzie instalacyjne dla systemd
121 Requires(post): coreutils
126 Basic configuration files, directories and installation tool for the
127 systemd system and service manager.
129 This is common config, use %{_sysconfdir}/systemd/system to override.
131 %description units -l pl.UTF-8
132 Podstawowe pliki konfiguracyjne, katalogi i narzędzie instalacyjne dla
133 zarządcy systemu i usług systemd.
135 Ten pakiet zawiera ogólną konfigurację, ustawienia można nadpisać
136 poprzez katalog %{_sysconfdir}/systemd/system.
139 Summary: Graphical frontend for systemd
140 Summary(pl.UTF-8): Graficzny interfejs do systemd
142 Requires: %{name} = %{version}-%{release}
146 Graphical front-end for systemd.
148 %description gtk -l pl.UTF-8
149 Graficzny interfejs do systemd.
152 Summary: Shared systemd libraries
153 Summary(pl.UTF-8): Biblioteki współdzielone systemd
157 Shared systemd libraries.
159 %description libs -l pl.UTF-8
160 Biblioteki współdzielone systemd.
163 Summary: Header files for systemd libraries
164 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek systemd
165 Group: Development/Libraries
166 Requires: %{name}-libs = %{version}-%{release}
169 Header files for systemd libraries.
171 %description devel -l pl.UTF-8
172 Pliki nagłówkowe bibliotek systemd.
174 %package -n bash-completion-systemd
175 Summary: bash-completion for systemd
176 Summary(pl.UTF-8): Bashowe dopełnianie składni dla systemd
177 Group: Applications/Shells
179 Requires: bash-completion
181 %description -n bash-completion-systemd
182 bash-completion for systemd.
184 %description -n bash-completion-systemd -l pl.UTF-8
185 Bashowe dopełnianie składni dla systemd
192 cp -p %{SOURCE2} src/systemd_booted.c
200 %{__enable_disable audit} \
201 %{__enable_disable cryptsetup libcryptsetup} \
202 %{__enable_disable gtk} \
203 %{__enable_disable pam} \
204 %{__enable_disable selinux} \
205 %{__enable_disable tcpd tcpwrap} \
206 --disable-silent-rules \
210 --with-rootlibdir=/%{_lib}
213 ./libtool --mode=link --tag=CC %{__cc} %{rpmcppflags} %{rpmcflags} -o systemd_booted %{rpmldflags} src/systemd_booted.c -L. -lsystemd-daemon
216 rm -rf $RPM_BUILD_ROOT
219 DESTDIR=$RPM_BUILD_ROOT
221 ./libtool --mode=install install -m755 systemd_booted $RPM_BUILD_ROOT/bin/systemd_booted
223 # Create SysV compatibility symlinks. systemctl/systemd are smart
224 # enough to detect the way they were called
225 install -d $RPM_BUILD_ROOT/sbin
226 ln -s ../bin/systemd $RPM_BUILD_ROOT/sbin/init
227 ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/halt
228 ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/poweroff
229 ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/reboot
230 ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/runlevel
231 ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/shutdown
232 ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/telinit
234 ln -s ../modules $RPM_BUILD_ROOT%{_sysconfdir}/modules-load.d/modules.conf
235 # disable random and console SYSV service
236 ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/random.service
237 ln -s /dev/null $RPM_BUILD_ROOT/lib/systemd/system/console.service
239 # add static (non-NetworkManager) networking
240 install %{SOURCE3} $RPM_BUILD_ROOT/lib/systemd/system/ifup@.service
241 install %{SOURCE4} $RPM_BUILD_ROOT/lib/systemd/system/network-post.service
242 install %{SOURCE5} $RPM_BUILD_ROOT/lib/systemd/system/network.service
244 # All wants links are created at %post to make sure they are not owned
245 # and hence overriden by rpm if the user deletes them (missingok?)
246 %{__rm} -r $RPM_BUILD_ROOT%{_sysconfdir}/systemd/system/*.target.wants
248 # do not cover /media (system-specific removable mountpoints) for now
249 # needs %post code to convert existing /media structure to tmpfiles
250 %{__rm} $RPM_BUILD_ROOT/lib/systemd/system/local-fs.target.wants/media.mount
251 # do not cover /var/run until packages need rpm-provided-only subdirectories
252 %{__rm} $RPM_BUILD_ROOT/lib/systemd/system/local-fs.target.wants/var-run.mount
254 # it is in rc-scripts pkg
255 %{__rm} $RPM_BUILD_ROOT/lib/systemd/system/rc-local.service
257 # Make sure these directories are properly owned:
258 # - halt,kexec,poweroff,reboot: generic ones used by ConsoleKit-systemd,
259 # - syslog _might_ be used by some syslog implementation (none for now),
260 # - isn't dbus populated by dbus-systemd only (so to be moved there)?
261 install -d $RPM_BUILD_ROOT/lib/systemd/system/{dbus,halt,kexec,poweroff,reboot,syslog}.target.wants
263 # Create new-style configuration files so that we can ghost-own them
264 touch $RPM_BUILD_ROOT%{_sysconfdir}/{hostname,locale.conf,machine-id,machine-info,os-release,timezone,vconsole.conf}
266 # Install SysV conversion tool for systemd
267 install -p %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}
269 install -d $RPM_BUILD_ROOT/var/log
270 :> $RPM_BUILD_ROOT/var/log/btmp
271 :> $RPM_BUILD_ROOT/var/log/wtmp
274 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/systemadm.1*
277 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
278 %{__rm} $RPM_BUILD_ROOT/%{_lib}/security/pam_systemd.la
279 %{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
282 rm -rf $RPM_BUILD_ROOT
285 /bin/systemd-machine-id-setup > /dev/null 2>&1 || :
286 /bin/systemctl daemon-reexec > /dev/null 2>&1 || :
289 if [ $1 -ge 1 ]; then
290 /bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || :
293 %post libs -p /sbin/ldconfig
294 %postun libs -p /sbin/ldconfig
297 if [ $1 -eq 1 ]; then
298 # Try to read default runlevel from the old inittab if it exists
299 runlevel=$(/bin/awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab 2> /dev/null)
300 if [ -z "$runlevel" ] ; then
301 target="/lib/systemd/system/graphical.target"
303 target="/lib/systemd/system/runlevel$runlevel.target"
306 # And symlink what we found to the new-style default.target
307 ln -s "$target" %{_sysconfdir}/systemd/system/default.target >/dev/null 2>&1 || :
309 # Enable the services we install by default.
310 /bin/systemctl enable \
313 network-post.service \
315 systemd-readahead-replay.service \
316 systemd-readahead-collect.service >/dev/null 2>&1 || :
318 # Find and enable all installed interfaces
319 mkdir -p %{_sysconfdir}/systemd/system/network.target.wants >/dev/null 2>&1 || :
320 for f in /etc/sysconfig/interfaces/ifcfg-* ; do
324 *.rpmorig|*.rpmnew|*.rpmsave|*~|*.orig)
328 ln -s /lib/systemd/system/ifup@.service \
329 %{_sysconfdir}/systemd/system/network.target.wants/ifcfg@$ff.service >/dev/null 2>&1 || :
335 if [ $1 -eq 0 ] ; then
336 /bin/systemctl disable \
339 network-post.service \
341 systemd-readahead-replay.service \
342 systemd-readahead-collect.service >/dev/null 2>&1 || :
344 %{__rm} -f %{_sysconfdir}/systemd/system/default.target >/dev/null 2>&1 || :
345 %{__rm} -f %{_sysconfdir}/systemd/system/network.target.wants/ifcfg@*.service >/dev/null 2>&1 || :
349 if [ $1 -ge 1 ]; then
350 /bin/systemctl daemon-reload > /dev/null 2>&1 || :
354 %defattr(644,root,root,755)
355 %doc DISTRO_PORTING README TODO
356 /etc/dbus-1/system.d/org.freedesktop.hostname1.conf
357 /etc/dbus-1/system.d/org.freedesktop.locale1.conf
358 /etc/dbus-1/system.d/org.freedesktop.login1.conf
359 /etc/dbus-1/system.d/org.freedesktop.systemd1.conf
360 /etc/dbus-1/system.d/org.freedesktop.timedate1.conf
361 %ghost %config(noreplace) %{_sysconfdir}/machine-id
362 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/hostname
363 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/locale.conf
364 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/machine-info
365 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/os-release
366 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/timezone
367 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vconsole.conf
368 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/systemd/*.conf
369 %dir %{_sysconfdir}/systemd/user
371 %attr(755,root,root) /bin/systemd
372 %attr(755,root,root) /bin/systemd-ask-password
373 %attr(755,root,root) /bin/systemd-journalctl
374 %attr(755,root,root) /bin/systemd-loginctl
375 %attr(755,root,root) /bin/systemd-machine-id-setup
376 %attr(755,root,root) /bin/systemd-notify
377 %attr(755,root,root) /bin/systemd-tty-ask-password-agent
378 %attr(755,root,root) %{_bindir}/systemd-analyze
379 %attr(755,root,root) %{_bindir}/systemd-cgls
380 %attr(755,root,root) %{_bindir}/systemd-nspawn
381 %attr(755,root,root) %{_bindir}/systemd-stdio-bridge
382 %attr(755,root,root) %{_bindir}/systemd-sysv-convert
383 %attr(755,root,root) /lib/systemd/systemd-*
384 %dir /lib/systemd/system-generators
385 %attr(755,root,root) /lib/systemd/system-generators/systemd-*-generator
386 %dir /lib/systemd/system-shutdown
387 /lib/udev/rules.d/99-systemd.rules
388 /lib/udev/rules.d/70-uaccess.rules
389 /lib/udev/rules.d/71-seat.rules
390 /lib/udev/rules.d/73-seat-late.rules
391 %dir %{_libexecdir}/systemd
392 %{_libexecdir}/systemd/user
393 %dir %{_libexecdir}/systemd/user-generators
394 %config(noreplace,missingok) %{_libexecdir}/tmpfiles.d/*.conf
395 %{_datadir}/dbus-1/interfaces/org.freedesktop.hostname1.xml
396 %{_datadir}/dbus-1/interfaces/org.freedesktop.locale1.xml
397 %{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.*.xml
398 %{_datadir}/dbus-1/interfaces/org.freedesktop.timedate1.xml
399 %{_datadir}/dbus-1/services/org.freedesktop.systemd1.service
400 %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service
401 %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service
402 %{_datadir}/dbus-1/system-services/org.freedesktop.login1.service
403 %{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service
404 %{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service
405 %{_datadir}/polkit-1/actions/org.freedesktop.hostname1.policy
406 %{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy
407 %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy
408 %{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy
409 %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy
410 %dir %{_datadir}/systemd
411 %{_datadir}/systemd/kbd-model-map
412 %{_mandir}/man1/systemd.1*
413 %{_mandir}/man1/systemd-*.1*
414 %{_mandir}/man3/sd_booted.3*
415 %{_mandir}/man3/sd_is_fifo.3*
416 %{_mandir}/man3/sd_is_socket.3
417 %{_mandir}/man3/sd_is_socket_inet.3
418 %{_mandir}/man3/sd_is_socket_unix.3
419 %{_mandir}/man3/sd_listen_fds.3*
420 %{_mandir}/man3/sd_notify.3*
421 %{_mandir}/man3/sd_notifyf.3
422 %{_mandir}/man3/sd_readahead.3*
423 %{_mandir}/man5/binfmt.d.5*
424 %{_mandir}/man5/hostname.5*
425 %{_mandir}/man5/locale.conf.5*
426 %{_mandir}/man5/machine-id.5*
427 %{_mandir}/man5/machine-info.5*
428 %{_mandir}/man5/modules-load.d.5*
429 %{_mandir}/man5/os-release.5*
430 %{_mandir}/man5/sysctl.d.5*
431 %{_mandir}/man5/systemd.*.5*
432 %{_mandir}/man5/systemd-logind.conf.5*
433 %{_mandir}/man5/timezone.5*
434 %{_mandir}/man5/vconsole.conf.5*
435 %{_mandir}/man7/daemon.7*
436 %{_mandir}/man7/sd-daemon.7*
437 %{_mandir}/man7/sd-login.7*
438 %{_mandir}/man7/sd-readahead.7*
439 %{_mandir}/man7/systemd.special.7*
440 %attr(640,root,root) %ghost /var/log/btmp
441 %attr(664,root,utmp) %ghost /var/log/wtmp
444 %attr(755,root,root) /%{_lib}/security/pam_systemd.so
445 %{_mandir}/man8/pam_systemd.8*
449 %defattr(644,root,root,755)
450 %attr(755,root,root) /sbin/halt
451 %attr(755,root,root) /sbin/init
452 %attr(755,root,root) /sbin/poweroff
453 %attr(755,root,root) /sbin/reboot
454 %attr(755,root,root) /sbin/runlevel
455 %attr(755,root,root) /sbin/shutdown
456 %attr(755,root,root) /sbin/telinit
457 %{_mandir}/man1/init.1
458 %{_mandir}/man8/halt.8*
459 %{_mandir}/man8/poweroff.8
460 %{_mandir}/man8/reboot.8
461 %{_mandir}/man8/runlevel.8*
462 %{_mandir}/man8/shutdown.8*
463 %{_mandir}/man8/telinit.8*
466 %defattr(644,root,root,755)
467 %dir %{_sysconfdir}/binfmt.d
468 %dir %{_sysconfdir}/modules-load.d
469 %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/modules-load.d/modules.conf
470 %dir %{_sysconfdir}/sysctl.d
471 %dir %{_sysconfdir}/systemd
472 %dir %{_sysconfdir}/systemd/system
473 %dir %{_sysconfdir}/tmpfiles.d
474 %dir %{_libexecdir}/binfmt.d
475 %dir %{_libexecdir}/modules-load.d
476 %dir %{_libexecdir}/sysctl.d
477 %attr(755,root,root) /bin/systemctl
478 %attr(755,root,root) /bin/systemd-tmpfiles
479 %attr(755,root,root) /bin/systemd_booted
480 %{_mandir}/man1/systemctl.1*
481 %{_mandir}/man5/tmpfiles.d.5*
482 %{_mandir}/man8/systemd-tmpfiles.8*
483 %{_npkgconfigdir}/systemd.pc
485 /lib/systemd/system/*.automount
486 /lib/systemd/system/*.mount
487 /lib/systemd/system/*.path
488 /lib/systemd/system/*.service
489 /lib/systemd/system/*.socket
490 /lib/systemd/system/*.target
491 /lib/systemd/system/*.timer
492 %dir /lib/systemd/system/*.wants
493 %config(noreplace,missingok) /lib/systemd/system/*.wants/*
497 %defattr(644,root,root,755)
498 %attr(755,root,root) %{_bindir}/systemadm
499 %attr(755,root,root) %{_bindir}/systemd-gnome-ask-password-agent
500 %{_mandir}/man1/systemadm.1*
504 %defattr(644,root,root,755)
505 %attr(755,root,root) /%{_lib}/libsystemd-daemon.so.*.*.*
506 %attr(755,root,root) %ghost /%{_lib}/libsystemd-daemon.so.0
507 %attr(755,root,root) /%{_lib}/libsystemd-id128.so.*.*.*
508 %attr(755,root,root) %ghost /%{_lib}/libsystemd-id128.so.0
509 %attr(755,root,root) /%{_lib}/libsystemd-journal.so.*.*.*
510 %attr(755,root,root) %ghost /%{_lib}/libsystemd-journal.so.0
511 %attr(755,root,root) /%{_lib}/libsystemd-login.so.*.*.*
512 %attr(755,root,root) %ghost /%{_lib}/libsystemd-login.so.0
515 %defattr(644,root,root,755)
516 %attr(755,root,root) %{_libdir}/libsystemd-daemon.so
517 %attr(755,root,root) %{_libdir}/libsystemd-id128.so
518 %attr(755,root,root) %{_libdir}/libsystemd-journal.so
519 %attr(755,root,root) %{_libdir}/libsystemd-login.so
520 %{_includedir}/%{name}
521 %{_pkgconfigdir}/libsystemd-daemon.pc
522 %{_pkgconfigdir}/libsystemd-id128.pc
523 %{_pkgconfigdir}/libsystemd-journal.pc
524 %{_pkgconfigdir}/libsystemd-login.pc
525 %{_mandir}/man3/sd_get_seats.3*
526 %{_mandir}/man3/sd_get_sessions.3*
527 %{_mandir}/man3/sd_get_uids.3*
528 %{_mandir}/man3/sd_is_mq.3*
529 %{_mandir}/man3/sd_login_monitor_flush.3*
530 %{_mandir}/man3/sd_login_monitor_get_fd.3*
531 %{_mandir}/man3/sd_login_monitor_new.3*
532 %{_mandir}/man3/sd_login_monitor_unref.3*
533 %{_mandir}/man3/sd_pid_get_owner_uid.3*
534 %{_mandir}/man3/sd_pid_get_session.3*
535 %{_mandir}/man3/sd_pid_get_unit.3*
536 %{_mandir}/man3/sd_seat_can_multi_session.3*
537 %{_mandir}/man3/sd_seat_get_active.3*
538 %{_mandir}/man3/sd_seat_get_sessions.3*
539 %{_mandir}/man3/sd_session_get_seat.3*
540 %{_mandir}/man3/sd_session_get_uid.3*
541 %{_mandir}/man3/sd_session_is_active.3*
542 %{_mandir}/man3/sd_uid_get_seats.3*
543 %{_mandir}/man3/sd_uid_get_sessions.3*
544 %{_mandir}/man3/sd_uid_get_state.3*
545 %{_mandir}/man3/sd_uid_is_on_seat.3*
547 %files -n bash-completion-systemd
548 %defattr(644,root,root,755)
549 /etc/bash_completion.d/systemd-bash-completion.sh