]> git.pld-linux.org Git - packages/systemd.git/blame - systemd.spec
- add libs subpackage - now it is possible to install systemd-devel without systemd
[packages/systemd.git] / systemd.spec
CommitLineData
85879912
ER
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
9c4bd736 8#
5d32f234
TP
9# TODO: - move %_libexecdir/tmpfiles.d/* to /etc/tmpfiles.d?
10# - shouldn't ../bin/systemctl symlinks be absolute?
0669f0db
TP
11# - separate init subpackage (with symlink), one can switch to
12# systemd using init=/bin/systemd with other one installed
5d32f234
TP
13# - verify %_sysconfdir usage vs literal '/etc'
14#
c3037397 15# Conditional build:
6c89bbd4
ER
16%bcond_without audit # without audit support
17%bcond_without cryptsetup # without cryptsetup support
23107006
TP
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
9c0b975d 22
c3037397 23Summary: A System and Service Manager
ede8d3e5 24Summary(pl.UTF-8): systemd - zarządca systemu i usług dla Linuksa
25Name: systemd
961baf80 26Version: 37
2ff27c26 27Release: 0.5
ede8d3e5 28License: GPL v2+
29Group: Base
30Source0: http://www.freedesktop.org/software/systemd/%{name}-%{version}.tar.bz2
961baf80 31# Source0-md5: 1435f23be79c8c38d1121c6b150510f3
7619c097 32Patch0: target-pld.patch
ede8d3e5 33URL: http://www.freedesktop.org/wiki/Software/systemd
6c89bbd4 34%{?with_audit:BuildRequires: audit-libs-devel}
6e34428f
MB
35BuildRequires: autoconf >= 2.63
36BuildRequires: automake >= 1:1.11
37%{?with_cryptsetup:BuildRequires: cryptsetup-luks-devel}
23107006 38BuildRequires: dbus-devel >= 1.3.2
c3037397 39BuildRequires: docbook-style-xsl
23107006
TP
40%if %{with gtk}
41BuildRequires: glib2-devel >= 1:2.26.1
42BuildRequires: gtk+2-devel >= 2:2.24.0
43BuildRequires: libnotify-devel >= 0.7.0
44%endif
3fc7a1cc 45BuildRequires: gperf
b82d0bf2 46BuildRequires: libcap-devel
6c89bbd4
ER
47%{?with_selinux:BuildRequires: libselinux-devel}
48BuildRequires: libtool >= 2:2.2
49%{?with_tcpd:BuildRequires: libwrap-devel}
6e34428f 50BuildRequires: libxslt-progs
961baf80 51BuildRequires: m4
6c89bbd4 52%{?with_pam:BuildRequires: pam-devel}
23107006 53BuildRequires: pkgconfig >= 0.9.0
6c89bbd4 54BuildRequires: rpmbuild(macros) >= 1.527
ede8d3e5 55BuildRequires: udev-devel >= 160
6e34428f 56BuildRequires: vala >= 0.10.0
011bccb6 57Requires: %{name}-libs = %{version}-%{release}
c3037397 58Requires: %{name}-units = %{version}-%{release}
2ff27c26 59Requires: SysVinit-tools
37b8df82 60Requires: agetty
c3037397 61Requires: dbus >= 1.3.2
2ff27c26 62Requires: dbus-systemd
9c9b3944
ZU
63# python modules required by systemd-analyze
64Requires: python-dbus
65Requires: python-modules
c3037397
ER
66Requires: rc-scripts
67Requires: udev-core >= 160
2ff27c26 68Requires: udev-systemd
9e606de5 69Provides: SysVinit = 2.86-26
c3037397 70Provides: readahead = 1:1.5.7-3
1dcb74bb 71Provides: virtual(init-daemon)
9e606de5 72Obsoletes: SysVinit < 2.86-26
c3037397 73Obsoletes: readahead < 1:1.5.7-3
1dcb74bb 74Obsoletes: virtual(init-daemon)
643ecf7b
BZ
75Suggests: ConsoleKit-systemd
76Suggests: rsyslog-systemd
77Suggests: udev-systemd
ede8d3e5 78BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
79
85879912
ER
80%define _libexecdir %{_prefix}/lib
81
ede8d3e5 82%description
1c239f8b 83systemd is a system and service manager for Linux, compatible with
ede8d3e5 84SysV and LSB init scripts. systemd provides aggressive parallelization
85capabilities, uses socket and D-Bus activation for starting services,
86offers on-demand starting of daemons, keeps track of processes using
87Linux cgroups, supports snapshotting and restoring of the system
88state, maintains mount and automount points and implements an
89elaborate transactional dependency-based service control logic. It can
1c239f8b 90work as a drop-in replacement for sysvinit.
ede8d3e5 91
92%description -l pl.UTF-8
93systemd jest zarządcą systemu i usług dla Linuksa, kompatybilny ze
94skryptami SysV i LSB. systemd udostępnia rozbudowane zdolności
95paralelizacji, do uruchamiania usług używa socketów oraz D-Busa,
96oferuje uruchamianie usług na życzenie, monitoruje procesy używając
97linuksowych cgroups, wspomaga zapisywanie (snapshot) i odczytywanie
98(restore) stanu systemu, zarządza (auto)mount pointami oraz
99implementuje starannie opracowaną transakcjonalną, bazującą na
d45dfc3a 100zależnościach logikę kontroli usług. Może pracować jako zastępca dla
ede8d3e5 101sysvinit.
102
c3037397
ER
103%package units
104Summary: Configuration files, directories and installation tool for systemd
105Group: Base
c3037397
ER
106Requires(post): coreutils
107Requires(post): gawk
961baf80 108Requires: pkgconfig
c3037397
ER
109
110%description units
111Basic configuration files, directories and installation tool for the
112systemd system and service manager.
113
114%package gtk
115Summary: Graphical frontend for systemd
116Group: Base
117Requires: %{name} = %{version}-%{release}
118Requires: polkit
119
120%description gtk
121Graphical front-end for systemd.
122
6c89bbd4
ER
123%package -n bash-completion-systemd
124Summary: bash-completion for systemd
125Group: Applications/Shells
126Requires: %{name}
127Requires: bash-completion
128
129%description -n bash-completion-systemd
130bash-completion for systemd.
131
011bccb6
BZ
132%package libs
133Summary: Shared systemd library
134Group: Libraries
135
136%description libs
137Shared systemd library.
138
961baf80
AF
139%package devel
140Summary: Header files for systemd libraries
141Summary(pl.UTF-8): Pliki nagłówkowe bibliotek systemd
142Group: Development/Libraries
011bccb6 143Requires: %{name}-libs = %{version}-%{release}
961baf80
AF
144
145%description devel
146Header files for systemd libraries.
147
148%description devel -l pl.UTF-8
149Pliki nagłówkowe bibliotek systemd.
150
ede8d3e5 151%prep
152%setup -q
4c5b5ab6 153%patch0 -p1
ede8d3e5 154
155%build
4c5b5ab6 156%{__aclocal} -I m4
ede8d3e5 157%{__autoconf}
6e34428f 158%{__autoheader}
ede8d3e5 159%{__automake}
9c0b975d 160%configure \
6c89bbd4
ER
161 %{__enable_disable audit} \
162 %{__enable_disable cryptsetup libcryptsetup} \
163 %{__enable_disable gtk} \
164 %{__enable_disable pam} \
165 %{__enable_disable selinux} \
166 %{__enable_disable tcpd tcpwrap} \
167 --disable-silent-rules \
961baf80 168 --disable-static \
1dcb74bb 169 --with-rootdir=
e1d9cc15 170
ede8d3e5 171%{__make}
172
173%install
174rm -rf $RPM_BUILD_ROOT
23107006 175
ede8d3e5 176%{__make} install \
177 DESTDIR=$RPM_BUILD_ROOT
178
23107006
TP
179%{__mv} $RPM_BUILD_ROOT{%{_libdir}/lib%{name}-*.so*,/%{_lib}}
180
1dcb74bb 181# Create SysV compatibility symlinks. systemctl/systemd are smart
182# enough to detect in which way they are called.
183install -d $RPM_BUILD_ROOT/sbin
184ln -s ../bin/systemd $RPM_BUILD_ROOT/sbin/init
1dcb74bb 185ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/halt
186ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/poweroff
23107006
TP
187ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/reboot
188ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/runlevel
1dcb74bb 189ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/shutdown
190ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/telinit
1dcb74bb 191
5d32f234
TP
192ln -s ../modules $RPM_BUILD_ROOT%{_sysconfdir}/modules-load.d/modules.conf
193
c3037397
ER
194# We create all wants links manually at installation time to make sure
195# they are not owned and hence overriden by rpm after the used deleted
196# them.
23107006 197%{__rm} -r $RPM_BUILD_ROOT%{_sysconfdir}/systemd/system/*.target.wants
c3037397 198
961baf80 199# Make sure these directories are properly owned
23107006 200install -d $RPM_BUILD_ROOT/lib/systemd/system/{basic,dbus,default,halt,kexec,poweroff,reboot,syslog}.target.wants
961baf80
AF
201
202# Create new-style configuration files so that we can ghost-own them
23107006 203touch $RPM_BUILD_ROOT%{_sysconfdir}/{hostname,locale.conf,machine-id,machine-info,os-release,timezone,vconsole.conf}
4bbef33c 204
5d32f234
TP
205%if %{without gtk}
206# to shut up check-files
207rm -f $RPM_BUILD_ROOT%{_bindir}/systemadm
208rm -f $RPM_BUILD_ROOT%{_bindir}/systemd-gnome-ask-password-agent
209%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/systemadm.1*
210%endif
211
212%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
213%{__rm} $RPM_BUILD_ROOT/%{_lib}/security/pam_systemd.la
214%{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
215
ede8d3e5 216%clean
217rm -rf $RPM_BUILD_ROOT
218
9638c72f 219%post
4bbef33c 220/bin/systemd-machine-id-setup > /dev/null 2>&1 || :
9638c72f 221/bin/systemctl daemon-reexec > /dev/null 2>&1 || :
c3037397 222
961baf80 223%postun
85879912 224if [ $1 -ge 1 ]; then
961baf80 225 /bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || :
9638c72f 226fi
227
011bccb6
BZ
228%post libs -p /sbin/ldconfig
229%postun libs -p /sbin/ldconfig
230
961baf80 231%post units
85879912 232if [ $1 -eq 1 ]; then
961baf80
AF
233 # Try to read default runlevel from the old inittab if it exists
234 runlevel=$(/bin/awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab 2> /dev/null)
235 if [ -z "$runlevel" ] ; then
236 target="/lib/systemd/system/graphical.target"
237 else
238 target="/lib/systemd/system/runlevel$runlevel.target"
239 fi
240
241 # And symlink what we found to the new-style default.target
85879912
ER
242 ln -sf "$target" /etc/systemd/system/default.target >/dev/null 2>&1 || :
243
961baf80
AF
244 # Enable the services we install by default.
245 /bin/systemctl enable \
246 getty@.service \
247 remote-fs.target \
248 systemd-readahead-replay.service \
249 systemd-readahead-collect.service >/dev/null 2>&1 || :
9638c72f 250fi
c3037397
ER
251
252%preun units
961baf80
AF
253if [ $1 -eq 0 ] ; then
254 /bin/systemctl disable \
255 getty@.service \
256 remote-fs.target \
257 systemd-readahead-replay.service \
258 systemd-readahead-collect.service >/dev/null 2>&1 || :
259
85879912 260 %{__rm} -f /etc/systemd/system/default.target >/dev/null 2>&1 || :
c3037397 261fi
9638c72f 262
961baf80 263%postun units
85879912 264if [ $1 -ge 1 ]; then
9638c72f 265 /bin/systemctl daemon-reload > /dev/null 2>&1 || :
266fi
267
ede8d3e5 268%files
269%defattr(644,root,root,755)
1c239f8b 270%doc DISTRO_PORTING README TODO
6e34428f 271/etc/dbus-1/system.d/org.freedesktop.hostname1.conf
961baf80
AF
272/etc/dbus-1/system.d/org.freedesktop.locale1.conf
273/etc/dbus-1/system.d/org.freedesktop.login1.conf
c3037397 274/etc/dbus-1/system.d/org.freedesktop.systemd1.conf
961baf80 275/etc/dbus-1/system.d/org.freedesktop.timedate1.conf
c3037397 276%dir %{_sysconfdir}/systemd
5d32f234 277%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/systemd/*.conf
4bbef33c 278%ghost %config(noreplace) %{_sysconfdir}/machine-id
abd479ee 279/etc/xdg/systemd
1dcb74bb 280%attr(755,root,root) /bin/systemd
281%attr(755,root,root) /bin/systemd-ask-password
961baf80 282%attr(755,root,root) /bin/systemd-loginctl
7a76bc86 283%attr(755,root,root) /bin/systemd-machine-id-setup
1dcb74bb 284%attr(755,root,root) /bin/systemd-notify
285%attr(755,root,root) /bin/systemd-tty-ask-password-agent
57cd0d13 286%attr(755,root,root) %{_bindir}/systemd-analyze
23107006 287%attr(755,root,root) %{_bindir}/systemd-cgls
57cd0d13
ZU
288%attr(755,root,root) %{_bindir}/systemd-nspawn
289%attr(755,root,root) %{_bindir}/systemd-stdio-bridge
c3037397
ER
290%attr(755,root,root) /sbin/halt
291%attr(755,root,root) /sbin/init
292%attr(755,root,root) /sbin/poweroff
293%attr(755,root,root) /sbin/reboot
294%attr(755,root,root) /sbin/runlevel
295%attr(755,root,root) /sbin/shutdown
296%attr(755,root,root) /sbin/telinit
abd479ee 297%attr(755,root,root) /lib/systemd/systemd-*
85879912
ER
298
299%dir %{_libexecdir}/systemd
300%{_libexecdir}/systemd/user
c3037397 301%dir /lib/systemd/system-generators
5d32f234 302%attr(755,root,root) /lib/systemd/system-generators/systemd-*-generator
abd479ee 303%dir /lib/systemd/system-shutdown
1c239f8b 304/lib/udev/rules.d/99-systemd.rules
961baf80
AF
305/lib/udev/rules.d/70-uaccess.rules
306/lib/udev/rules.d/71-seat.rules
307/lib/udev/rules.d/73-seat-late.rules
5d32f234 308%config(noreplace,missingok) %verify(not md5 mtime size) %{_libexecdir}/tmpfiles.d/*.conf
961baf80
AF
309%{_datadir}/dbus-1/interfaces/org.freedesktop.hostname1.xml
310%{_datadir}/dbus-1/interfaces/org.freedesktop.locale1.xml
c3037397 311%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.*.xml
961baf80 312%{_datadir}/dbus-1/interfaces/org.freedesktop.timedate1.xml
1c239f8b 313%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service
6e34428f 314%{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service
961baf80
AF
315%{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service
316%{_datadir}/dbus-1/system-services/org.freedesktop.login1.service
1c239f8b 317%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service
961baf80 318%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service
6e34428f 319%{_datadir}/polkit-1/actions/org.freedesktop.hostname1.policy
961baf80
AF
320%{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy
321%{_datadir}/polkit-1/actions/org.freedesktop.login1.policy
322%{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy
323%{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy
324%dir %{_datadir}/systemd
325%{_datadir}/systemd/kbd-model-map
1c239f8b 326%{_mandir}/man1/init.1
7a76bc86 327%{_mandir}/man1/systemd.1*
6e34428f 328%{_mandir}/man1/systemd-ask-password.1*
1c239f8b 329%{_mandir}/man1/systemd-cgls.1*
330%{_mandir}/man1/systemd-notify.1*
6e34428f 331%{_mandir}/man1/systemd-nspawn.1*
961baf80 332%{_mandir}/man1/systemd-loginctl.1*
1c239f8b 333%{_mandir}/man3/sd_booted.3*
334%{_mandir}/man3/sd_is_fifo.3*
335%{_mandir}/man3/sd_is_socket.3
336%{_mandir}/man3/sd_is_socket_inet.3
337%{_mandir}/man3/sd_is_socket_unix.3
338%{_mandir}/man3/sd_listen_fds.3*
339%{_mandir}/man3/sd_notify.3*
340%{_mandir}/man3/sd_notifyf.3
341%{_mandir}/man3/sd_readahead.3*
6e34428f 342%{_mandir}/man5/binfmt.d.5*
1c239f8b 343%{_mandir}/man5/hostname.5*
344%{_mandir}/man5/locale.conf.5*
7a76bc86 345%{_mandir}/man5/machine-id.5*
6e34428f 346%{_mandir}/man5/machine-info.5*
1c239f8b 347%{_mandir}/man5/modules-load.d.5*
348%{_mandir}/man5/os-release.5*
6e34428f 349%{_mandir}/man5/sysctl.d.5*
1c239f8b 350%{_mandir}/man5/systemd.automount.5*
351%{_mandir}/man5/systemd.conf.5*
352%{_mandir}/man5/systemd.device.5*
353%{_mandir}/man5/systemd.exec.5*
354%{_mandir}/man5/systemd.mount.5*
355%{_mandir}/man5/systemd.path.5*
356%{_mandir}/man5/systemd.service.5*
357%{_mandir}/man5/systemd.snapshot.5*
358%{_mandir}/man5/systemd.socket.5*
359%{_mandir}/man5/systemd.swap.5*
360%{_mandir}/man5/systemd.target.5*
361%{_mandir}/man5/systemd.timer.5*
362%{_mandir}/man5/systemd.unit.5*
961baf80
AF
363%{_mandir}/man5/systemd-logind.conf.5*
364%{_mandir}/man5/timezone.5*
23107006 365%{_mandir}/man5/vconsole.conf.5*
1c239f8b 366%{_mandir}/man7/daemon.7*
367%{_mandir}/man7/sd-daemon.7*
368%{_mandir}/man7/sd-readahead.7*
369%{_mandir}/man7/systemd.special.7*
370%{_mandir}/man8/halt.8*
1c239f8b 371%{_mandir}/man8/poweroff.8
372%{_mandir}/man8/reboot.8
373%{_mandir}/man8/runlevel.8*
374%{_mandir}/man8/shutdown.8*
375%{_mandir}/man8/telinit.8*
c3037397 376
6c89bbd4
ER
377%if %{with pam}
378%attr(755,root,root) /%{_lib}/security/pam_systemd.so
379%{_mandir}/man8/pam_systemd.8*
380%endif
381
011bccb6
BZ
382%files libs
383%defattr(644,root,root,755)
384%attr(755,root,root) /%{_lib}/libsystemd-daemon.so.*.*.*
385%attr(755,root,root) %ghost /%{_lib}/libsystemd-daemon.so.0
386%attr(755,root,root) /%{_lib}/libsystemd-login.so.*.*.*
387%attr(755,root,root) %ghost /%{_lib}/libsystemd-login.so.0
388
c3037397
ER
389%files units
390%defattr(644,root,root,755)
abd479ee
MB
391%dir %{_sysconfdir}/binfmt.d
392%dir %{_sysconfdir}/modules-load.d
5d32f234 393%config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/modules-load.d/modules.conf
abd479ee 394%dir %{_sysconfdir}/sysctl.d
c3037397
ER
395%dir %{_sysconfdir}/systemd
396%dir %{_sysconfdir}/systemd/system
397%dir %{_sysconfdir}/tmpfiles.d
398%dir /lib/systemd
5d32f234 399%config(noreplace,missingok) %verify(not md5 mtime size) /lib/systemd/system
85879912
ER
400%dir %{_libexecdir}/binfmt.d
401%dir %{_libexecdir}/modules-load.d
402%dir %{_libexecdir}/sysctl.d
403%dir %{_libexecdir}/tmpfiles.d
c3037397
ER
404%attr(755,root,root) /bin/systemctl
405%attr(755,root,root) /bin/systemd-tmpfiles
406%{_mandir}/man5/tmpfiles.d.5*
407%{_mandir}/man1/systemctl.1*
408%{_mandir}/man8/systemd-tmpfiles.8*
961baf80 409%{_npkgconfigdir}/systemd.pc
c3037397
ER
410
411%if %{with gtk}
412%files gtk
413%defattr(644,root,root,755)
414%attr(755,root,root) %{_bindir}/systemadm
415%attr(755,root,root) %{_bindir}/systemd-gnome-ask-password-agent
c3037397
ER
416%{_mandir}/man1/systemadm.1*
417%endif
6c89bbd4
ER
418
419%files -n bash-completion-systemd
420%defattr(644,root,root,755)
421/etc/bash_completion.d/systemctl-bash-completion.sh
961baf80
AF
422
423%files devel
424%defattr(644,root,root,755)
425%{_includedir}/systemd
23107006
TP
426%attr(755,root,root) /%{_lib}/libsystemd-daemon.so
427%attr(755,root,root) /%{_lib}/libsystemd-login.so
961baf80
AF
428%{_pkgconfigdir}/libsystemd-daemon.pc
429%{_pkgconfigdir}/libsystemd-login.pc
This page took 0.126269 seconds and 4 git commands to generate.