]> git.pld-linux.org Git - packages/systemd.git/blob - systemd.spec
- S: ConsoleKit-systemd, rsyslog-systemd, udev-systemd
[packages/systemd.git] / systemd.spec
1 # UNPACKAGED files:
2 #   /etc/hostname
3 #   /etc/locale.conf
4 #   /etc/machine-info
5 #   /etc/os-release
6 #   /etc/timezone
7 #   /etc/vconsole.conf
8 #
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'
14 #
15 # Conditional build:
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
22
23 Summary:        A System and Service Manager
24 Summary(pl.UTF-8):      systemd - zarządca systemu i usług dla Linuksa
25 Name:           systemd
26 Version:        37
27 Release:        0.5
28 License:        GPL v2+
29 Group:          Base
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
40 %if %{with gtk}
41 BuildRequires:  glib2-devel >= 1:2.26.1
42 BuildRequires:  gtk+2-devel >= 2:2.24.0
43 BuildRequires:  libnotify-devel >= 0.7.0
44 %endif
45 BuildRequires:  gperf
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
51 BuildRequires:  m4
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
59 Requires:       agetty
60 Requires:       dbus >= 1.3.2
61 Requires:       dbus-systemd
62 # python modules required by systemd-analyze
63 Requires:       python-dbus
64 Requires:       python-modules
65 Requires:       rc-scripts
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)
78
79 %define         _libexecdir     %{_prefix}/lib
80
81 %description
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.
90
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
100 sysvinit.
101
102 %package units
103 Summary:        Configuration files, directories and installation tool for systemd
104 Group:          Base
105 Requires(post): coreutils
106 Requires(post): gawk
107 Requires:       pkgconfig
108
109 %description units
110 Basic configuration files, directories and installation tool for the
111 systemd system and service manager.
112
113 %package gtk
114 Summary:        Graphical frontend for systemd
115 Group:          Base
116 Requires:       %{name} = %{version}-%{release}
117 Requires:       polkit
118
119 %description gtk
120 Graphical front-end for systemd.
121
122 %package -n bash-completion-systemd
123 Summary:        bash-completion for systemd
124 Group:          Applications/Shells
125 Requires:       %{name}
126 Requires:       bash-completion
127
128 %description -n bash-completion-systemd
129 bash-completion for systemd.
130
131 %package devel
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}
136
137 %description devel
138 Header files for systemd libraries.
139
140 %description devel -l pl.UTF-8
141 Pliki nagłówkowe bibliotek systemd.
142
143 %prep
144 %setup -q
145 %patch0 -p1
146
147 %build
148 %{__aclocal} -I m4
149 %{__autoconf}
150 %{__autoheader}
151 %{__automake}
152 %configure \
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 \
160         --disable-static \
161         --with-rootdir=
162
163 %{__make}
164
165 %install
166 rm -rf $RPM_BUILD_ROOT
167
168 %{__make} install \
169         DESTDIR=$RPM_BUILD_ROOT
170
171 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/lib%{name}-*.so*,/%{_lib}}
172
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
183
184 ln -s ../modules $RPM_BUILD_ROOT%{_sysconfdir}/modules-load.d/modules.conf
185
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
188 # them.
189 %{__rm} -r $RPM_BUILD_ROOT%{_sysconfdir}/systemd/system/*.target.wants
190
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
193
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}
196
197 %if %{without gtk}
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*
202 %endif
203
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
207
208 %clean
209 rm -rf $RPM_BUILD_ROOT
210
211 %post
212 /sbin/ldconfig
213 /bin/systemd-machine-id-setup > /dev/null 2>&1 || :
214 /bin/systemctl daemon-reexec > /dev/null 2>&1 || :
215
216 %postun
217 /sbin/ldconfig
218 if [ $1 -ge 1 ]; then
219         /bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || :
220 fi
221
222 %post units
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"
228         else
229                 target="/lib/systemd/system/runlevel$runlevel.target"
230         fi
231
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 || :
234
235         # Enable the services we install by default.
236         /bin/systemctl enable \
237                 getty@.service \
238                 remote-fs.target \
239                 systemd-readahead-replay.service \
240                 systemd-readahead-collect.service >/dev/null 2>&1 || :
241 fi
242
243 %preun units
244 if [ $1 -eq 0 ] ; then
245         /bin/systemctl disable \
246                 getty@.service \
247                 remote-fs.target \
248                 systemd-readahead-replay.service \
249                 systemd-readahead-collect.service >/dev/null 2>&1 || :
250
251         %{__rm} -f /etc/systemd/system/default.target >/dev/null 2>&1 || :
252 fi
253
254 %postun units
255 if [ $1 -ge 1 ]; then
256         /bin/systemctl daemon-reload > /dev/null 2>&1 || :
257 fi
258
259 %files
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
270 /etc/xdg/systemd
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
293
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*
371
372 %if %{with pam}
373 %attr(755,root,root) /%{_lib}/security/pam_systemd.so
374 %{_mandir}/man8/pam_systemd.8*
375 %endif
376
377 %files units
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
386 %dir /lib/systemd
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
398
399 %if %{with gtk}
400 %files gtk
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*
405 %endif
406
407 %files -n bash-completion-systemd
408 %defattr(644,root,root,755)
409 /etc/bash_completion.d/systemctl-bash-completion.sh
410
411 %files devel
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
This page took 0.216397 seconds and 4 git commands to generate.