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