Increase max inotify instance
[external/systemd.git] / packaging / systemd.spec
1 %define _sbindir /sbin
2 Name:       systemd
3 Summary:    System and Session Manager
4 Version:    43
5 Release:    2
6 Group:      System/System Control
7 License:    GPLv2
8 URL:        http://www.freedesktop.org/wiki/Software/systemd
9 Source0:    http://www.freedesktop.org/software/systemd/%{name}-%{version}.tar.xz
10 Source1:    pamconsole-tmp.conf
11 Source1001: systemd.manifest
12 Source1002: max_user_inotify.conf
13 Patch1:     0002-systemd-fsck-disable-l-until-linux.patch
14 Patch2:     add-tmp.mount-as-tmpfs.patch
15 Patch3:     tizen-login-location.patch
16 Patch4:     tizen-service-file-workaround.patch
17 Patch5:     journal-make-sure-to-refresh-window-position-and-poi.patch
18 Patch6:     tizen-preserve-hostname.patch
19 Patch7:     util-never-follow-symlinks-in-rm_rf_children.patch
20 Patch8:     util-introduce-memdup.patch
21 Patch9:     main-allow-system-wide-limits-for-services.patch
22 Patch10:    enable-core-dumps-globally.patch
23 Patch11:    SMACK-Add-configuration-options.-v3.patch
24 Patch12:    reboot_syscall_param.patch
25 Patch13:        default_oom_score.patch
26
27 BuildRequires:  pkgconfig(dbus-1) >= 1.4.0
28 BuildRequires:  pkgconfig(dbus-glib-1)
29 BuildRequires:  pkgconfig(gio-unix-2.0)
30 BuildRequires:  pkgconfig(libudev) >= 174
31 BuildRequires:  libcap-devel
32 BuildRequires:  gperf
33 BuildRequires:  libxslt
34 BuildRequires:  pam-devel
35 BuildRequires:  intltool >= 0.40.0
36 BuildRequires:  libacl-devel
37 BuildRequires:  fdupes
38 BuildRequires:  pkgconfig(libkmod)
39 Requires(post): %{_sbindir}/ldconfig
40 Requires(postun): %{_sbindir}/ldconfig
41
42 %description
43 system and session manager for Linux, compatible with SysV and
44 LSB init scripts. systemd provides aggressive parallelization
45 capabilities, uses socket and D-Bus activation for starting
46 services, offers on-demand starting of daemons, keeps track of
47 processes using Linux cgroups, supports snapshotting and restoring
48 of the system state, maintains mount and automount points and
49 implements an elaborate transactional dependency-based service
50 control logic. It can work as a drop-in replacement for sysvinit.
51
52 # tools package dislabled because of pycairo package dependency
53 # %package tools
54 # Summary:    Analyze systemd startup timing
55 # Group:      Development/Tools
56 # Requires:   pycairo
57 # Requires:   python-xml
58 # Requires:   %{name} = %{version}-%{release}
59
60 # %description tools
61 # This package installs the systemd-analyze tool, which allows one to
62 # inspect and graph service startup timing in table or graph format.
63
64 %package devel
65 Summary:    Development tools for systemd
66 Group:      Development/Libraries
67 Requires:   %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
68 Requires(post): %{_sbindir}/ldconfig
69 Requires(postun): %{_sbindir}/ldconfig
70
71 %description devel
72 This package includes the libraries and header files you will need
73 to compile applications for systemd.
74
75 %package console-ttyS0
76 Summary:    Systemd console ttyS0
77 Group:      System/System Control
78 Requires:   %{name}
79
80 %description console-ttyS0
81 This package will setup a serial getty for ttyS0 is desired.
82
83
84 %package console-ttyS1
85 Summary:    Systemd console ttyS1
86 Group:      System/System Control
87 Requires:   %{name}
88
89 %description console-ttyS1
90 This package will setup a serial getty for ttyS1 is desired.
91
92
93 %package console-tty01
94 Summary:    Systemd console tty01
95 Group:      System/System Control
96 Requires:   %{name}
97
98 %description console-tty01
99 This package will setup a serial getty for tty01 is desired.
100
101
102 %package console-ttyO2
103 Summary:    Systemd console ttyO2
104 Group:      System/System Control
105 Requires:   %{name}
106
107 %description console-ttyO2
108 This package will setup a serial getty for ttyO2 is desired.
109
110 %package console-ttyMFD2
111 Summary:    Systemd console ttyMFD2
112 Group:      System/System Control
113 Requires:   %{name}
114
115 %description console-ttyMFD2
116 This package will setup a serial getty for ttyMFD2 is desired.
117
118 %package console-ttySAC2
119 Summary:    Systemd console ttySAC2
120 Group:      System/System Control
121 Requires:   %{name}
122
123 %description console-ttySAC2
124 This package will setup a serial getty for ttySAC2 is desired.
125
126
127 %package docs
128 Summary:   System and session manager man pages
129 Group:     Development/Libraries
130 Requires:  %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
131
132 %description docs
133 This package includes the man pages for systemd.
134
135
136 # %package sysv-docs
137 # Summary:   System and session manager man pages - SysV links
138 # Group:     Development/Libraries
139 # Requires:  %{name} = %{version}-%{release}
140
141 # %description sysv-docs
142 # This package provides the manual pages needed for systemd
143 # to replace sysvinit.
144
145 # %package sysv
146 # Summary:   System and session manager - SysV links
147 # Group:     System/Startup Services
148 # Requires:  %{name} = %{version}-%{release}
149 # Obsoletes: sysvinit < 3.0
150 # Provides:  sysvinit = 3.0
151
152
153  #%description sysv
154 # Systemd is a replacement for sysvinit.  It is dependency-based and
155 # able to read the LSB init script headers in addition to parsing rcN.d
156 # links as hints.
157
158 # It also provides process supervision using cgroups and the ability to
159 # not only depend on other init script being started, but also
160 # availability of a given mount point or dbus service.
161
162 # This package provides the links needed for systemd
163 # to replace sysvinit.
164
165
166 %prep
167 %setup -q -n %{name}-%{version}
168 %patch1 -p1
169 %patch2 -p1
170 %patch3 -p1
171 %patch4 -p1
172 %patch5 -p1
173 %patch6 -p1
174 %patch7 -p1
175 %patch8 -p1
176 %patch9 -p1
177 %patch10 -p1
178 %patch11 -p1
179 %patch12 -p1
180 %patch13 -p1
181
182 %build
183 cp %{SOURCE1001} .
184 %autogen
185 %configure --disable-static \
186     --with-rootdir="" \
187     --with-distro=meego \
188     --disable-gtk \
189     --disable-selinux \
190     --disable-tcpwrap \
191     --disable-coredump \
192     --enable-split-usr \
193     --disable-manpages \
194     --with-pamlibdir="/%{_libdir}/security" \
195     --with-udevrulesdir="%{_libdir}/udev/rules.d"
196
197 make %{?_smp_mflags}
198
199 %install
200 %make_install
201
202 # Create SysV compatibility symlinks. systemctl/systemd are smart
203 # enough to detect in which way they are called.
204 # install -d %{buildroot}%{_sbindir}/
205 # ln -s ..%{_libdir}/systemd/systemd %{buildroot}%{_sbindir}/init
206 # ln -s ..%{_bindir}/systemctl %{buildroot}%{_sbindir}/halt
207 # ln -s ..%{_bindir}/systemctl %{buildroot}%{_sbindir}/poweroff
208 # ln -s ..%{_bindir}/systemctl %{buildroot}%{_sbindir}/reboot
209 # ln -s ..%{_bindir}/systemctl %{buildroot}%{_sbindir}/runlevel
210 # ln -s ..%{_bindir}/systemctl %{buildroot}%{_sbindir}/shutdown
211 # ln -s ..%{_bindir}/systemctl %{buildroot}%{_sbindir}/telinit
212
213 # /usr compat - delete when no longer needed
214 install -d %{buildroot}/bin/
215 ln -s ..%{_bindir}/systemctl %{buildroot}/bin/systemctl
216
217 mkdir %{buildroot}/run
218
219 # Make sure these directories are properly owned
220 mkdir -p %{buildroot}%{_libdir}/systemd/system/basic.target.wants
221 mkdir -p %{buildroot}%{_libdir}/systemd/system/dbus.target.wants
222
223 # enable readahead by default
224 ln -s ../systemd-readahead-collect.service %{buildroot}%{_libdir}/systemd/system/sysinit.target.wants/systemd-readahead-collect.service
225 ln -s ../systemd-readahead-replay.service %{buildroot}%{_libdir}/systemd/system/sysinit.target.wants/systemd-readahead-replay.service
226
227 # Don't ship documentation in the wrong place
228 rm %{buildroot}/%{_docdir}/systemd/*
229
230 mkdir -p %{buildroot}/etc/systemd/system/basic.target.wants
231 mkdir -p %{buildroot}/etc/systemd/system/getty.target.wants
232 mkdir -p %{buildroot}%{_libdir}/systemd/system/getty.target.wants
233
234 # Modify inotify max_user_instances
235 mkdir -p %{buildroot}/%{_libdir}/sysctl.d
236 cp %{SOURCE1002} %{buildroot}%{_libdir}/sysctl.d/
237
238 #console-ttyMFD2
239 ln -s ../serial-getty@.service %{buildroot}%{_libdir}/systemd/system/getty.target.wants/serial-getty@ttyMFD2.service
240
241 #console-ttySAC2
242 ln -s ../serial-getty@.service %{buildroot}%{_libdir}/systemd/system/getty.target.wants/serial-getty@ttySAC2.service
243
244 #console-ttyS0
245 ln -s ../serial-getty@.service %{buildroot}%{_libdir}/systemd/system/getty.target.wants/serial-getty@ttyS0.service
246
247 #console-ttyS1
248 ln -s ../serial-getty@.service %{buildroot}%{_libdir}/systemd/system/getty.target.wants/serial-getty@ttyS1.service
249
250 #console-tty01
251 ln -s ../serial-getty@.service %{buildroot}%{_libdir}/systemd/system/getty.target.wants/serial-getty@tty01.service
252
253 #console-ttyO2
254 ln -s ../serial-getty@.service %{buildroot}%{_libdir}/systemd/system/getty.target.wants/serial-getty@ttyO2.service
255
256 %post
257 rm -f /etc/mtab
258 ln -sf /proc/self/mounts /etc/mtab
259
260 /usr/bin/systemd-machine-id-setup >/dev/null 2>&1 || :
261
262 %{_sbindir}/ldconfig
263
264 %postun -p %{_sbindir}/ldconfig
265 %post devel -p %{_sbindir}/ldconfig
266 %postun devel -p %{_sbindir}/ldconfig
267
268
269 %files
270 %defattr(-,root,root,-)
271 %manifest systemd.manifest
272 /bin/systemctl
273 %{_bindir}/*
274 # systemd-analyze is excluded for removing dependency with python-base
275 %exclude %{_bindir}/systemd-analyze
276 /run
277 %config %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf
278 %config %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf
279 %config %{_sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf
280 %config %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf
281 %config %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf
282 %attr(0644,root,root) %{_libdir}/udev/rules.d/70-uaccess.rules
283 %attr(0644,root,root) %{_libdir}/udev/rules.d/71-seat.rules
284 %attr(0644,root,root) %{_libdir}/udev/rules.d/73-seat-late.rules
285 %config %{_sysconfdir}/systemd
286 %config %{_sysconfdir}/xdg/systemd/user
287 %config %{_sysconfdir}/bash_completion.d/systemd-bash-completion.sh
288 %{_prefix}/%{_lib}/tmpfiles.d/*
289 %{_libdir}/systemd
290 /%{_libdir}/security/pam_systemd.so
291 %{_libdir}/udev/rules.d/99-systemd.rules
292 %{_libdir}/libsystemd-daemon.so.0
293 %{_libdir}/libsystemd-daemon.so.0.0.1
294 %{_libdir}/libsystemd-login.so.0
295 %{_libdir}/libsystemd-login.so.0.2.0
296 %{_libdir}/libsystemd-id128.so.0
297 %{_libdir}/libsystemd-id128.so.0.0.2
298 %{_libdir}/libsystemd-journal.so.0
299 %{_libdir}/libsystemd-journal.so.0.0.2
300 %{_libdir}/sysctl.d/*
301 %{_datadir}/dbus-1/*/org.freedesktop.systemd1.*
302 %{_defaultdocdir}/systemd
303 %{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy
304 %{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy
305 %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy
306 %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy
307 %{_datadir}/polkit-1/actions/org.freedesktop.hostname1.policy
308 %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service
309 %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service
310 %{_datadir}/dbus-1/system-services/org.freedesktop.login1.service
311 %{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service
312 %{_datadir}/dbus-1/interfaces/org.freedesktop.hostname1.xml
313 %{_datadir}/dbus-1/interfaces/org.freedesktop.locale1.xml
314 %{_datadir}/dbus-1/interfaces/org.freedesktop.timedate1.xml
315 %exclude %{_libdir}/systemd/system/getty.target.wants/serial-getty@tty01.service
316 %exclude %{_libdir}/systemd/system/getty.target.wants/serial-getty@ttyMFD2.service
317 %exclude %{_libdir}/systemd/system/getty.target.wants/serial-getty@ttySAC2.service
318 %exclude %{_libdir}/systemd/system/getty.target.wants/serial-getty@ttyO2.service
319 %exclude %{_libdir}/systemd/system/getty.target.wants/serial-getty@ttyS0.service
320 %exclude %{_libdir}/systemd/system/getty.target.wants/serial-getty@ttyS1.service
321 %exclude %{_libdir}/systemd/system/sysinit.target.wants/systemd-vconsole-setup.service
322 %exclude %{_libdir}/systemd/user/default.target
323
324 %files console-ttySAC2
325 %defattr(-,root,root,-)
326 %{_libdir}/systemd/system/getty.target.wants/serial-getty@ttySAC2.service
327
328 %files console-ttyMFD2
329 %defattr(-,root,root,-)
330 %{_libdir}/systemd/system/getty.target.wants/serial-getty@ttyMFD2.service
331
332 %files console-ttyS0
333 %defattr(-,root,root,-)
334 %{_libdir}/systemd/system/getty.target.wants/serial-getty@ttyS0.service
335
336 %files console-ttyS1
337 %defattr(-,root,root,-)
338 %{_libdir}/systemd/system/getty.target.wants/serial-getty@ttyS1.service
339
340 %files console-tty01
341 %defattr(-,root,root,-)
342 %{_libdir}/systemd/system/getty.target.wants/serial-getty@tty01.service
343
344 %files console-ttyO2
345 %defattr(-,root,root,-)
346 %{_libdir}/systemd/system/getty.target.wants/serial-getty@ttyO2.service
347
348
349 # tools package dislabled because of pycairo package dependency
350 # %files tools
351 # %defattr(-,root,root,-)
352 # %manifest systemd.manifest
353 # %{_bindir}/systemd-analyze
354
355 %files devel
356 %defattr(-,root,root,-)
357 %manifest systemd.manifest
358 %{_datadir}/pkgconfig/systemd.pc
359 %{_includedir}/systemd/sd-daemon.h
360 %{_includedir}/systemd/sd-login.h
361 %{_includedir}/systemd/sd-id128.h
362 %{_includedir}/systemd/sd-journal.h
363 %{_includedir}/systemd/sd-messages.h
364 %{_libdir}/libsystemd-daemon.so
365 %{_libdir}/libsystemd-login.so
366 %{_libdir}/libsystemd-journal.so
367 %{_libdir}/libsystemd-id128.so
368 %{_libdir}/pkgconfig/libsystemd-daemon.pc
369 %{_libdir}/pkgconfig/libsystemd-login.pc
370 %{_libdir}/pkgconfig/libsystemd-id128.pc
371 %{_libdir}/pkgconfig/libsystemd-journal.pc
372 %{_datadir}/systemd/kbd-model-map
373
374 # %files sysv
375 # %defattr(-,root,root,-)
376 # %doc LICENSE
377 # %{_sbindir}/halt
378 # %{_sbindir}/init
379 # %{_sbindir}/poweroff
380 # %{_sbindir}/reboot
381 # %{_sbindir}/runlevel
382 # %{_sbindir}/shutdown
383 # %{_sbindir}/telinit