tizen 2.4 release
[external/systemd.git] / packaging / systemd.spec
1 %global _hardened_build 1
2
3 # We ship a .pc file but don't want to have a dep on pkg-config. We
4 # strip the automatically generated dep here and instead co-own the
5 # directory.
6 %global __requires_exclude pkg-config
7
8 %bcond_with unified_directory
9 %bcond_with kdbus
10
11 %define enable() %{expand:%%{?with_%{1}:--enable-%{1}}%%{!?with_%{1}:--disable-%{1}}}
12 # In order to reduce the root privilege daemon,
13 # '/run' directory has a group access permission for run_tmp group (gid:1902).
14 %define RUN_TMP_GID 1902
15 %define WITH_RUN_GID %{RUN_TMP_GID}
16
17 %define WITH_BASH_COMPLETION 0
18 %define WITH_ZSH_COMPLETION 0
19 %define WITH_BLACKLIGHT 0
20 %define WITH_COREDUMP 0
21 %define WITH_RANDOMSEED 0
22
23 %define WITH_LOGIND 1
24 %define WITH_PAM 1
25 %define WITH_FIRSTBOOT 0
26 %define WITH_TIMEDATED 0
27
28 %define WITH_NETWORKD 0
29 %define WITH_RESOLVED 0
30 %define WITH_TIMESYNCD 0
31 %define WITH_RFKILL 0
32
33 %define WITH_COMPAT_LIBS 1
34
35 Name:           systemd
36 Url:            http://www.freedesktop.org/wiki/Software/systemd
37 Version:        216
38 Release:        1%{?release_flags}
39 License:        LGPL-2.1+ and MIT and GPL-2.0+
40 Summary:        A System and Service Manager
41 Source0:        http://www.freedesktop.org/software/systemd/%{name}-%{version}.tar.xz
42 Source1:        apply-conf.sh
43 Source11:       tizen-system-mobile.conf
44 Source12:       tizen-system-wearable.conf
45 Source13:       tizen-journald.conf
46 Source14:       tizen-bootchart.conf
47 Source1001:     systemd.manifest
48 # The base number of patch for systemd is 101.
49
50 # The base number of patch for udev is 201.
51
52 BuildRequires:  glib2-devel
53 BuildRequires:  kmod-devel >= 15
54 BuildRequires:  hwdata
55 BuildRequires:  kernel-headers
56
57 BuildRequires:  libacl-devel
58 BuildRequires:  pkgconfig
59 BuildRequires:  pkgconfig(dbus-1) >= 1.4.0
60 BuildRequires:  libcap-devel
61 BuildRequires:  libblkid-devel >= 2.20
62 BuildRequires:  pkgconfig(libkmod) >= 5
63 BuildRequires:  pam-devel
64 BuildRequires:  dbus-devel
65 BuildRequires:  libacl-devel
66 BuildRequires:  glib2-devel
67 BuildRequires:  libblkid-devel
68 BuildRequires:  xz-devel
69 BuildRequires:  kmod-devel
70 BuildRequires:  libgcrypt-devel
71 BuildRequires:  libxslt
72 BuildRequires:  intltool >= 0.40.0
73 BuildRequires:  gperf
74
75 BuildRequires:  gawk
76 BuildRequires:  automake
77 BuildRequires:  autoconf
78 BuildRequires:  libtool
79 BuildRequires:  smack-devel
80 Requires:       dbus
81 Requires:       %{name}-libs = %{version}-%{release}
82 %if %{WITH_PAM}
83 Requires:       pam
84 %endif
85
86 Provides:       /bin/systemctl
87 Provides:       /sbin/shutdown
88 Provides:       syslog
89 Provides:       systemd-units = %{version}-%{release}
90 Provides:       udev = %{version}
91 Obsoletes:      udev < 183
92 Obsoletes:      system-setup-keyboard < 0.9
93 Provides:       system-setup-keyboard = 0.9
94 Obsoletes:      nss-myhostname < 0.4
95 Provides:       nss-myhostname = 0.4
96 Obsoletes:      systemd < 204-10
97 Obsoletes:      systemd-analyze < 198
98 Provides:       systemd-analyze = 198
99
100 %description
101 systemd is a system and service manager for Linux, compatible with
102 SysV and LSB init scripts. systemd provides aggressive parallelization
103 capabilities, uses socket and D-Bus activation for starting services,
104 offers on-demand starting of daemons, keeps track of processes using
105 Linux cgroups, supports snapshotting and restoring of the system
106 state, maintains mount and automount points and implements an
107 elaborate transactional dependency-based service control logic. It can
108 work as a drop-in replacement for sysvinit.
109
110 %package libs
111 Summary:        systemd libraries
112 License:        LGPLv2+ and MIT
113 Provides:       libudev
114 Obsoletes:      systemd < 185-4
115 Conflicts:      systemd < 185-4
116
117 %description libs
118 Libraries for systemd and udev, as well as the systemd PAM module.
119
120 %package devel
121 Summary:        Development headers for systemd
122 License:        LGPLv2+ and MIT
123 Requires:       %{name} = %{version}-%{release}
124 Provides:       pkgconfig(libudev)
125 Provides:       libudev-devel = %{version}
126 Obsoletes:      libudev-devel < 183
127
128 %description devel
129 Development headers and auxiliary files for developing applications for systemd.
130
131 %package -n libgudev1
132 Summary:        Libraries for adding libudev support to applications that use glib
133 License:        LGPLv2+
134 Requires:       %{name} = %{version}-%{release}
135
136 %description -n libgudev1
137 This package contains the libraries that make it easier to use libudev
138 functionality from applications that use glib.
139
140 %package -n libgudev1-devel
141 Summary:        Header files for adding libudev support to applications that use glib
142 Requires:       libgudev1 = %{version}-%{release}
143 License:        LGPLv2+
144
145 %description -n libgudev1-devel
146 This package contains the header and pkg-config files for developing
147 glib-based applications using libudev functionality.
148
149 %package journal-gateway
150 Summary:        Gateway for serving journal events over the network using HTTP
151 Requires:       %{name} = %{version}-%{release}
152 License:        LGPLv2+
153 Requires(pre):    /usr/bin/getent
154 Requires(post):   systemd
155 Requires(preun):  systemd
156 Requires(postun): systemd
157
158 %description journal-gateway
159 systemd-journal-gatewayd serves journal events over the network using HTTP.
160
161 %prep
162 %setup -q -n %{name}-%{version}
163
164 %build
165 cp %{SOURCE1001} .
166
167 export CFLAGS=" -g -O0 -fPIE -ftrapv"
168 export LDFLAGS=" -pie"
169 autoreconf -fiv
170 %configure \
171     %{enable kdbus} \
172 %if ! %{WITH_PAM}
173     --disable-pam \
174 %endif
175     --with-firmware-path="/%{_libdir}/firmware" \
176 %if ! %{WITH_BASH_COMPLETION}
177     --with-bashcompletiondir="" \
178 %endif
179 %if ! %{WITH_ZSH_COMPLETION}
180     --with-zshcompletiondir="" \
181 %endif
182 %if "%{?tizen_profile_name}" == "wearable"
183     --disable-xz \
184 %endif
185 %if ! %{WITH_RANDOMSEED}
186     --disable-randomseed \
187 %endif
188 %if ! %{WITH_COREDUMP}
189     --disable-coredump \
190 %endif
191 %if ! %{WITH_BLACKLIGHT}
192     --disable-backlight \
193 %endif
194 %if ! %{WITH_LOGIND}
195     --disable-logind \
196 %endif
197 %if ! %{WITH_TIMEDATED}
198     --disable-timedated \
199 %endif
200 %if %{WITH_COMPAT_LIBS}
201     --enable-compat-libs \
202 %endif
203 %if ! %{WITH_NETWORKD}
204     --disable-networkd \
205 %endif
206 %if ! %{WITH_RESOLVED}
207     --disable-resolved \
208 %endif
209 %if ! %{WITH_TIMESYNCD}
210     --disable-timesyncd \
211 %endif
212 %if ! %{WITH_RFKILL}
213     --disable-rfkill \
214 %endif
215 %if %{WITH_RUN_GID}
216     --with-run-gid=%{WITH_RUN_GID} \
217 %endif
218 %if ! %{WITH_FIRSTBOOT}
219     --disable-firstboot \
220 %endif
221 %if "%{?tizen_profile_name}" == "mobile" || "%{?tizen_profile_name}" == "wearable"
222     --with-smack-run-label="systemd" \
223     --with-smack-default-process-label="systemd::no-label" \
224     --with-process-label \
225 %endif
226     --enable-tizen \
227     --enable-tizen-wip \
228     --disable-static \
229     --with-sysvinit-path= \
230     --with-sysvrcnd-path= \
231     --disable-gtk-doc-html \
232     --disable-selinux \
233     --disable-ima \
234     --enable-split-usr \
235     --disable-nls \
236     --disable-manpages \
237     --disable-efi \
238     --disable-hostnamed \
239     --disable-machined \
240     --disable-binfmt \
241     --disable-vconsole \
242     --disable-quotacheck \
243     --disable-localed \
244     --disable-polkit \
245     --disable-myhostname \
246     --without-python
247
248 make %{?_smp_mflags}
249
250 %install
251 %make_install
252
253 rm -f %{buildroot}/usr/bin/kernel-install
254 rm -rf %{buildroot}/usr/lib/kernel
255 rm -f %{buildroot}/usr/bin/systemd-detect-virt
256 find %{buildroot} \( -name '*.a' -o -name '*.la' \) -delete
257
258 # udev links
259 mkdir -p %{buildroot}/%{_sbindir}
260 mkdir -p %{buildroot}/sbin
261 ln -sf ../bin/udevadm %{buildroot}%{_sbindir}/udevadm
262 # TODO: Below code should be removed after we go unified directory structure.
263 %if !%{with unified_directory}
264 mkdir -p %{buildroot}%{_prefix}/lib/firmware/updates
265 %endif
266
267 # Create SysV compatibility symlinks. systemctl/systemd are smart
268 # enough to detect in which way they are called.
269 ln -s ../lib/systemd/systemd %{buildroot}%{_sbindir}/init
270 # TODO: Below code should be removed after we go unified directory structure.
271 %if %{with unified_directory}
272 ln -s /usr/lib/systemd/systemd %{buildroot}/sbin/init
273 %endif
274 ln -s ../lib/systemd/systemd %{buildroot}%{_bindir}/systemd
275 ln -s ../bin/systemctl %{buildroot}%{_sbindir}/reboot
276 # TODO: Below code should be removed after we go unified directory structure.
277 %if %{with unified_directory}
278 ln -s /usr/bin/systemctl %{buildroot}/sbin/reboot
279 %endif
280 ln -s ../bin/systemctl %{buildroot}%{_sbindir}/halt
281 ln -s ../bin/systemctl %{buildroot}%{_sbindir}/poweroff
282 ln -s ../bin/systemctl %{buildroot}%{_sbindir}/shutdown
283 ln -s ../bin/systemctl %{buildroot}%{_sbindir}/telinit
284 ln -s ../bin/systemctl %{buildroot}%{_sbindir}/runlevel
285 ln -s /usr/lib/systemd/systemd-udevd %{buildroot}/%{_sbindir}/udevd
286 # TODO: Below code should be removed after we go unified directory structure.
287 %if %{with unified_directory}
288 ln -s /lib/firmware %{buildroot}%{_libdir}/firmware
289 %endif
290
291 # We create all wants links manually at installation time to make sure
292 # they are not owned and hence overriden by rpm after the user deleted
293 # them.
294 rm -r %{buildroot}%{_sysconfdir}/systemd/system/*.target.wants
295
296 # Make sure these directories are properly owned
297 mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/basic.target.wants
298 mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/default.target.wants
299 mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/dbus.target.wants
300
301 # Make sure the user generators dir exists too
302 mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-generators
303 mkdir -p %{buildroot}%{_prefix}/lib/systemd/user-generators
304
305 # Create new-style configuration files so that we can ghost-own them
306 touch %{buildroot}%{_sysconfdir}/hostname
307 touch %{buildroot}%{_sysconfdir}/locale.conf
308 touch %{buildroot}%{_sysconfdir}/machine-info
309 touch %{buildroot}%{_sysconfdir}/localtime
310 mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d
311 touch %{buildroot}%{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf
312
313 # Make sure the shutdown/sleep drop-in dirs exist
314 mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-shutdown/
315 mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-sleep/
316
317 # Make sure directories in /var exist
318 %if %{WITH_COREDUMP}
319 mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/coredump
320 %endif
321 mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/catalog
322 mkdir -p %{buildroot}%{_localstatedir}/log/journal
323 touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database
324 touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin
325
326 # To avoid making life hard for Rawhide-using developers, don't package the
327 # kernel.core_pattern setting until systemd-coredump is a part of an actual
328 # systemd release and it's made clear how to get the core dumps out of the
329 # journal.
330 rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-coredump.conf
331
332 rm -rf %{buildroot}%{_prefix}/lib/udev/hwdb.d/
333
334 # These rules doesn't make much sense on Tizen right now.
335 rm -f %{buildroot}%{_libdir}/udev/rules.d/42-usb-hid-pm.rules
336 rm -f %{buildroot}%{_libdir}/udev/rules.d/60-persistent-storage-tape.rules
337 rm -f %{buildroot}%{_libdir}/udev/rules.d/60-cdrom_id.rules
338 rm -f %{buildroot}%{_libdir}/udev/rules.d/60-keyboard.rules
339 rm -f %{buildroot}%{_libdir}/udev/rules.d/61-accelerometer.rules
340 rm -f %{buildroot}%{_libdir}/udev/rules.d/64-btrfs.rules
341 rm -f %{buildroot}%{_libdir}/udev/rules.d/70-power-switch.rules
342 rm -f %{buildroot}%{_libdir}/udev/rules.d/75-net-description.rules
343 rm -f %{buildroot}%{_libdir}/udev/rules.d/75-probe_mtd.rules
344 rm -f %{buildroot}%{_libdir}/udev/rules.d/75-tty-description.rules
345 rm -f %{buildroot}%{_libdir}/udev/rules.d/80-net-name-slot.rules
346 rm -f %{buildroot}%{_libdir}/udev/rules.d/95-keyboard-force-release.rules
347 rm -f %{buildroot}%{_libdir}/udev/rules.d/95-keymap.rules
348
349 # This will be done by tizen specific init script.
350 rm -f %{buildroot}%{_libdir}/systemd/system/local-fs.target.wants/systemd-fsck-root.service
351
352 # We will just use systemd just as system, user not yet. Until that that service will be disabled.
353 %if ! %{WITH_LOGIND}
354 rm -f %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants/systemd-logind.service
355 %endif
356
357 # Make sure default extra dependencies ignore unit directory exist
358 mkdir -p %{buildroot}%{_sysconfdir}/systemd/default-extra-dependencies/ignore-units.d
359 %if %{WITH_TIMEDATED}
360 install -m644 %{_builddir}/%{name}-%{version}/src/timedate/org.freedesktop.timedate1.service %{buildroot}%{_prefix}/share/dbus-1/system-services/
361 %endif
362
363 # Apply Tizen configs
364 chmod +x %{SOURCE1}
365 %if "%{?tizen_profile_name}" == "mobile"
366 %{SOURCE1} %{SOURCE11} %{buildroot}%{_sysconfdir}/systemd/system.conf
367 %elseif "%{?tizen_profile_name}" == "wearable"
368 %{SOURCE1} %{SOURCE12} %{buildroot}%{_sysconfdir}/systemd/system.conf
369 %endif
370 %{SOURCE1} %{SOURCE13} %{buildroot}%{_sysconfdir}/systemd/journald.conf
371 %{SOURCE1} %{SOURCE14} %{buildroot}%{_sysconfdir}/systemd/bootchart.conf
372
373 # We do not need some of systemd native unit files. Even if those are
374 # not used, it can make slower unit loading time.
375 for unit in \
376         tmp.mount \
377         local-fs.target.wants/tmp.mount;
378 do
379         rm -f %{buildroot}%{_libdir}/systemd/system/$unit
380 done
381
382 # All of licenses should be manifested in /usr/share/license.
383 mkdir -p %{buildroot}%{_datadir}/license
384 cat LICENSE.LGPL2.1 > %{buildroot}%{_datadir}/license/systemd
385 cat LICENSE.LGPL2.1 > %{buildroot}%{_datadir}/license/systemd-libs
386 cat LICENSE.LGPL2.1 > %{buildroot}%{_datadir}/license/libgudev1
387
388 %remove_docs
389
390 %pre
391 getent group cdrom >/dev/null 2>&1 || groupadd -r -g 11 cdrom >/dev/null 2>&1 || :
392 getent group tape >/dev/null 2>&1 || groupadd -r -g 33 tape >/dev/null 2>&1 || :
393 getent group dialout >/dev/null 2>&1 || groupadd -r -g 18 dialout >/dev/null 2>&1 || :
394 getent group floppy >/dev/null 2>&1 || groupadd -r -g 19 floppy >/dev/null 2>&1 || :
395 getent group systemd-journal >/dev/null 2>&1 || groupadd -r -g 190 systemd-journal 2>&1 || :
396
397 systemctl stop systemd-udevd-control.socket systemd-udevd-kernel.socket systemd-udevd.service >/dev/null 2>&1 || :
398
399 %post
400 %if %{WITH_RANDOMSEED}
401 /usr/lib/systemd/systemd-random-seed save >/dev/null 2>&1 || :
402 %endif
403 systemctl daemon-reexec >/dev/null 2>&1 || :
404 systemctl start systemd-udevd.service >/dev/null 2>&1 || :
405 udevadm hwdb --update >/dev/null 2>&1 || :
406 journalctl --update-catalog >/dev/null 2>&1 || :
407
408 # Stop-gap until rsyslog.rpm does this on its own. (This is supposed
409 # to fail when the link already exists)
410 ln -s /usr/lib/systemd/system/rsyslog.service /etc/systemd/system/syslog.service >/dev/null 2>&1 || :
411 %if %{WITH_TIMEDATED}
412 ln -s ../system-services/org.freedesktop.timedate1.service %{_datadir}/dbus-1/services/org.freedesktop.timedate1.service
413 %endif
414 # Masked unnecessary units in tizen.
415 ln -s /dev/null /etc/systemd/system/systemd-tmpfiles-clean.timer
416 ln -s /dev/null /etc/systemd/system/systemd-remount-fs.service
417 ln -s /dev/null /etc/systemd/system/systemd-journal-flush.service
418 ln -s /dev/null /etc/systemd/system/systemd-update-utmp.service
419 ln -s /dev/null /etc/systemd/system/kmod-static-nodes.service
420 ln -s /dev/null /etc/systemd/system/systemd-fsck-root.service
421
422 # Tizen is not supporting /usr/lib/macros.d yet.
423 # To avoid this, the macro will be copied to origin macro dir.
424 if [ -f %{_libdir}/rpm/macros.d/macros.systemd ]; then
425         mkdir -p %{_sysconfdir}/rpm
426         cp %{_libdir}/rpm/macros.d/macros.systemd %{_sysconfdir}/rpm
427 fi
428
429 %postun
430 if [ $1 -ge 1 ] ; then
431         systemctl daemon-reload > /dev/null 2>&1 || :
432 %if %{WITH_LOGIND}
433         systemctl try-restart systemd-logind.service >/dev/null 2>&1 || :
434 %endif
435 fi
436
437 %post libs -p /sbin/ldconfig
438 %postun libs -p /sbin/ldconfig
439
440 %post -n libgudev1 -p /sbin/ldconfig
441 %postun -n libgudev1 -p /sbin/ldconfig
442
443 %posttrans
444 # Make sure /etc/mtab is pointing /proc/self/mounts
445 ln -sf ../proc/self/mounts /etc/mtab
446
447 %files
448 %defattr(-,root,root,-)
449 %{_datadir}/license/systemd
450 %dir %{_sysconfdir}/systemd
451 %dir %{_sysconfdir}/systemd/system
452 %dir %{_sysconfdir}/systemd/user
453 %dir %{_sysconfdir}/tmpfiles.d
454 %dir %{_sysconfdir}/sysctl.d
455 %dir %{_sysconfdir}/modules-load.d
456 %dir %{_sysconfdir}/udev
457 %dir %{_sysconfdir}/udev/rules.d
458 %dir %{_sysconfdir}/systemd/default-extra-dependencies/ignore-units.d
459 %dir %{_prefix}/lib/systemd
460 %dir %{_prefix}/lib/systemd/system-generators
461 %dir %{_prefix}/lib/systemd/user-generators
462 %dir %{_prefix}/lib/systemd/system-shutdown
463 %dir %{_prefix}/lib/systemd/system-sleep
464 %dir %{_prefix}/lib/systemd/catalog
465 %dir %{_prefix}/lib/tmpfiles.d
466 %dir %{_prefix}/lib/sysctl.d
467 %dir %{_prefix}/lib/modules-load.d
468 # TODO: Below code should be removed after we go unified directory structure.
469 %if %{with unified_directory}
470 %{_prefix}/lib/firmware
471 %dir %{_datadir}/systemd
472 %else
473 %dir %{_prefix}/lib/firmware
474 %endif
475 %dir %{_datadir}/systemd
476 %dir %{_datadir}/pkgconfig
477 %dir %{_localstatedir}/log/journal
478 %dir %{_localstatedir}/lib/systemd
479 %dir %{_localstatedir}/lib/systemd/catalog
480 %if %{WITH_COREDUMP}
481 %dir %{_localstatedir}/lib/systemd/coredump
482 %endif
483 %if %{WITH_TIMEDATED}
484 %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf
485 %endif
486 %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf
487 %if %{WITH_LOGIND}
488 %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf
489 %endif
490 %config(noreplace) %{_sysconfdir}/systemd/system.conf
491 %config(noreplace) %{_sysconfdir}/systemd/user.conf
492 %if %{WITH_LOGIND}
493 %config(noreplace) %{_sysconfdir}/systemd/logind.conf
494 %endif
495 %config(noreplace) %{_sysconfdir}/systemd/journald.conf
496 %config(noreplace) %{_sysconfdir}/systemd/bootchart.conf
497 %config(noreplace) %{_sysconfdir}/udev/udev.conf
498 %ghost %{_sysconfdir}/udev/hwdb.bin
499 %{_libdir}/rpm/macros.d/macros.systemd
500 %if %{WITH_PAM}
501 %config(noreplace) %{_sysconfdir}/pam.d/systemd-user
502 %endif
503 %{_sysconfdir}/xdg/systemd
504 %ghost %config(noreplace) %{_sysconfdir}/hostname
505 %ghost %config(noreplace) %{_sysconfdir}/localtime
506 %ghost %config(noreplace) %{_sysconfdir}/locale.conf
507 %ghost %config(noreplace) %{_sysconfdir}/machine-info
508 %ghost %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/00-keyboard.conf
509 %ghost %{_localstatedir}/lib/systemd/catalog/database
510 %{_bindir}/systemd
511 %{_bindir}/systemctl
512 %{_bindir}/systemd-run
513 %{_bindir}/systemd-notify
514 %{_bindir}/systemd-analyze
515 %{_bindir}/systemd-ask-password
516 %{_bindir}/systemd-tty-ask-password-agent
517 %{_bindir}/systemd-machine-id-setup
518 %{_bindir}/busctl
519 %if %{WITH_LOGIND}
520 %{_bindir}/loginctl
521 %endif
522 %if %{WITH_TIMEDATED}
523 %{_bindir}/timedatectl
524 %endif
525 %{_bindir}/journalctl
526 %{_bindir}/systemd-tmpfiles
527 %{_bindir}/systemd-nspawn
528 %{_bindir}/systemd-stdio-bridge
529 %{_bindir}/systemd-cat
530 %{_bindir}/systemd-cgls
531 %{_bindir}/systemd-cgtop
532 %{_bindir}/systemd-delta
533 %if %{WITH_LOGIND}
534 %{_bindir}/systemd-inhibit
535 %endif
536 %if %{WITH_COREDUMP}
537 %{_bindir}/systemd-coredumpctl
538 %endif
539 %{_bindir}/systemd-escape
540 %if %{WITH_FIRSTBOOT}
541 %{_bindir}/systemd-firstboot
542 %endif
543 %{_bindir}/systemd-path
544 %{_bindir}/systemd-sysusers
545 %{_bindir}/udevadm
546 %{_prefix}/lib/systemd/systemd
547 %{_prefix}/lib/systemd/system
548 %{_prefix}/lib/systemd/user
549 %{_prefix}/lib/systemd/systemd-*
550 %{_prefix}/lib/udev
551 %{_prefix}/lib/systemd/system-generators/systemd-debug-generator
552 %{_prefix}/lib/systemd/system-generators/systemd-fstab-generator
553 %{_prefix}/lib/systemd/system-generators/systemd-getty-generator
554 %if %{with kdbus}
555 %exclude %{_prefix}/lib/systemd/system-generators/systemd-dbus1-generator
556 %exclude %{_prefix}/lib/systemd/user-generators/systemd-dbus1-generator
557 %endif
558 %exclude %{_prefix}/lib/systemd/system-generators/systemd-system-update-generator
559 %exclude %{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator
560 %{_prefix}/lib/tmpfiles.d/systemd.conf
561 %{_prefix}/lib/tmpfiles.d/systemd-nologin.conf
562 %{_prefix}/lib/tmpfiles.d/systemd-remote.conf
563 %{_prefix}/lib/tmpfiles.d/etc.conf
564 %{_prefix}/lib/tmpfiles.d/tmp.conf
565 %{_prefix}/lib/tmpfiles.d/var.conf
566 %{_prefix}/lib/tmpfiles.d/x11.conf
567 %{_prefix}/lib/sysctl.d/50-default.conf
568 %{_prefix}/lib/systemd/catalog/systemd.catalog
569 %{_prefix}/lib/systemd/catalog/systemd.fr.catalog
570 %{_prefix}/lib/systemd/catalog/systemd.it.catalog
571 %{_prefix}/lib/systemd/catalog/systemd.ru.catalog
572 %{_prefix}/lib/systemd/network/80-container-host0.network
573 %{_prefix}/lib/systemd/network/80-container-ve.network
574 %{_prefix}/lib/systemd/network/99-default.link
575 %{_prefix}/lib/systemd/system-preset/90-systemd.preset
576 %{_prefix}/lib/sysusers.d/basic.conf
577 %{_prefix}/lib/sysusers.d/systemd-remote.conf
578 %{_prefix}/lib/sysusers.d/systemd.conf
579 %exclude %{_prefix}/lib/systemd/system/systemd-bootchart.service
580 %{_sbindir}/init
581 %{_sbindir}/reboot
582 # TODO: Below code should be removed after we go unified directory structure.
583 %if %{with unified_directory}
584 /sbin/init
585 /sbin/reboot
586 %endif
587 %{_sbindir}/halt
588 %{_sbindir}/poweroff
589 %{_sbindir}/shutdown
590 %{_sbindir}/telinit
591 %{_sbindir}/runlevel
592 %{_sbindir}/udevd
593 %{_sbindir}/udevadm
594 %{_datadir}/dbus-1/services/org.freedesktop.systemd1.service
595 %if %{WITH_TIMEDATED}
596 %{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service
597 %endif
598 %{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service
599 %if %{WITH_LOGIND}
600 %{_datadir}/dbus-1/system-services/org.freedesktop.login1.service
601 %endif
602 %if %{WITH_TIMEDATED}
603 %{_datadir}/dbus-1/interfaces/org.freedesktop.timedate1.xml
604 %endif
605 %{_datadir}/pkgconfig/systemd.pc
606 %{_datadir}/pkgconfig/udev.pc
607 %if %{WITH_BASH_COMPLETION}
608 %{_datadir}/bash-completion/completions/busctl
609 %{_datadir}/bash-completion/completions/journalctl
610 %{_datadir}/bash-completion/completions/kernel-install
611 %if %{WITH_LOGIND}
612 %{_datadir}/bash-completion/completions/loginctl
613 %endif
614 %{_datadir}/bash-completion/completions/systemctl
615 %{_datadir}/bash-completion/completions/systemd-analyze
616 %{_datadir}/bash-completion/completions/systemd-cat
617 %{_datadir}/bash-completion/completions/systemd-cgls
618 %{_datadir}/bash-completion/completions/systemd-cgtop
619 %if %{WITH_COREDUMP}
620 %{_datadir}/bash-completion/completions/systemd-coredumpctl
621 %endif
622 %{_datadir}/bash-completion/completions/systemd-delta
623 %{_datadir}/bash-completion/completions/systemd-detect-virt
624 %{_datadir}/bash-completion/completions/systemd-nspawn
625 %{_datadir}/bash-completion/completions/systemd-run
626 %if %{WITH_TIMEDATED}
627 %{_datadir}/bash-completion/completions/timedatectl
628 %endif
629 %{_datadir}/bash-completion/completions/udevadm
630 %endif
631 %exclude %{_datadir}/factory/etc/nsswitch.conf
632 %{_datadir}/factory/etc/pam.d/other
633 %{_datadir}/factory/etc/pam.d/system-auth
634 %manifest systemd.manifest
635
636 %files libs
637 %defattr(-,root,root,-)
638 %{_datadir}/license/systemd-libs
639 %if %{WITH_PAM}
640 %{_libdir}/security/pam_systemd.so
641 %endif
642 %{_libdir}/libsystemd.so.*
643 %if %{WITH_COMPAT_LIBS}
644 %{_libdir}/libsystemd-daemon.so.*
645 %{_libdir}/libsystemd-journal.so.*
646 %{_libdir}/libsystemd-id128.so.*
647 %{_libdir}/libsystemd-login.so.*
648 %endif
649 %{_libdir}/libudev.so.*
650 %manifest systemd.manifest
651
652 %files devel
653 %defattr(-,root,root,-)
654 %dir %{_includedir}/systemd
655 %{_libdir}/libsystemd.so
656 %if %{WITH_COMPAT_LIBS}
657 %{_libdir}/libsystemd-daemon.so
658 %{_libdir}/libsystemd-journal.so
659 %{_libdir}/libsystemd-id128.so
660 %{_libdir}/libsystemd-login.so
661 %endif
662 %{_libdir}/libudev.so
663 %{_includedir}/systemd/_sd-common.h
664 %{_includedir}/systemd/sd-daemon.h
665 %{_includedir}/systemd/sd-login.h
666 %{_includedir}/systemd/sd-journal.h
667 %{_includedir}/systemd/sd-id128.h
668 %{_includedir}/systemd/sd-messages.h
669 %{_includedir}/libudev.h
670 %if %{with kdbus}
671 %{_includedir}/systemd/sd-bus-protocol.h
672 %{_includedir}/systemd/sd-bus-vtable.h
673 %{_includedir}/systemd/sd-bus.h
674 %{_includedir}/systemd/sd-event.h
675 %{_includedir}/systemd/sd-memfd.h
676 %{_includedir}/systemd/sd-path.h
677 %{_includedir}/systemd/sd-resolve.h
678 %{_includedir}/systemd/sd-rtnl.h
679 %{_includedir}/systemd/sd-utf8.h
680 %endif
681 %{_libdir}/pkgconfig/libsystemd.pc
682 %if %{WITH_COMPAT_LIBS}
683 %{_libdir}/pkgconfig/libsystemd-daemon.pc
684 %{_libdir}/pkgconfig/libsystemd-journal.pc
685 %{_libdir}/pkgconfig/libsystemd-id128.pc
686 %{_libdir}/pkgconfig/libsystemd-login.pc
687 %endif
688 %{_libdir}/pkgconfig/libudev.pc
689 %manifest systemd.manifest
690
691 %files -n libgudev1
692 %defattr(-,root,root,-)
693 %{_datadir}/license/libgudev1
694 %{_libdir}/libgudev-1.0.so.*
695 %manifest systemd.manifest
696
697 %files -n libgudev1-devel
698 %defattr(-,root,root,-)
699 %{_libdir}/libgudev-1.0.so
700 %dir %{_includedir}/gudev-1.0
701 %dir %{_includedir}/gudev-1.0/gudev
702 %{_includedir}/gudev-1.0/gudev/*.h
703 %{_libdir}/pkgconfig/gudev-1.0*
704 %manifest systemd.manifest