2 # - enable ducktype-docs when it works
3 # - move /etc/dbus-1 from -libs to base after external packages transition to /usr/share/dbus-1
6 %bcond_without apparmor # AppArmor support
7 %bcond_without selinux # SELinux support
8 %bcond_without systemd # systemd at_console support
9 %bcond_without X11 # X11 support
11 %define expat_version 1:1.95.5
12 Summary: D-BUS message bus
13 Summary(pl.UTF-8): Magistrala przesyłania komunikatów D-BUS
17 License: AFL v2.1 or GPL v2+
19 Source0: https://dbus.freedesktop.org/releases/dbus/%{name}-%{version}.tar.gz
20 # Source0-md5: 89745b5a6c45c26751dcf673d912f745
21 Source1: messagebus.init
22 Source2: %{name}-daemon-1-profile.d-sh
23 Source3: %{name}-sysconfig
24 Source4: %{name}-xinitrc.sh
25 Source5: %{name}.tmpfiles
26 Patch0: %{name}-nolibs.patch
27 Patch1: %{name}-config.patch
28 Patch2: %{name}-no_fatal_checks.patch
29 Patch3: %{name}-allow-introspection.patch
30 URL: https://www.freedesktop.org/Software/dbus
31 BuildRequires: audit-libs-devel
32 BuildRequires: autoconf >= 2.63
33 BuildRequires: automake >= 1:1.13
34 BuildRequires: docbook-dtd44-xml
35 BuildRequires: doxygen
36 BuildRequires: expat-devel >= %{expat_version}
37 %{?with_apparmor:BuildRequires: libapparmor-devel >= 1:2.10}
38 BuildRequires: libcap-ng-devel
39 %{?with_selinux:BuildRequires: libselinux-devel >= 2.0.86}
40 BuildRequires: libtool >= 2:2.0
41 BuildRequires: libxslt-progs
42 BuildRequires: pkgconfig
43 #BuildRequires: python3-ducktype
44 BuildRequires: rpmbuild(macros) >= 1.626
45 BuildRequires: sed >= 4.0
46 %{?with_systemd:BuildRequires: systemd-devel >= 32}
48 %{?with_X11:BuildRequires: xorg-lib-libX11-devel}
49 BuildRequires: yelp-tools
50 Requires(post,postun): /sbin/ldconfig
51 Requires(post,preun): /sbin/chkconfig
52 Requires(postun): /usr/sbin/groupdel
53 Requires(postun): /usr/sbin/userdel
54 Requires(pre): /bin/id
55 Requires(pre): /usr/bin/getgid
56 Requires(pre): /usr/sbin/groupadd
57 Requires(pre): /usr/sbin/useradd
58 Requires(post,preun,postun): systemd-units >= 38
59 Requires: %{name}-libs = %{version}-%{release}
60 Requires: expat >= %{expat_version}
61 %{?with_apparmor:Requires: libapparmor >= 1:2.10}
62 %{?with_selinux:Requires: libselinux >= 2.0.86}
63 Requires: rc-scripts >= 0.4.3.0
64 Requires: systemd-units >= 38
65 Provides: group(messagebus)
66 Provides: user(messagebus)
67 Obsoletes: dbus-glib-tools
68 Obsoletes: dbus-systemd
69 Conflicts: pam < 0.99.7.1
70 # not available for dbus 0.9x yet(?)
71 #Obsoletes: dbus-gtk dbus-gcj dbus-gcj-devel dbus-gcj-static
72 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
75 D-BUS is a system for sending messages between applications. It is
76 used both for the systemwide message bus service, and as a
77 per-user-login-session messaging facility.
79 %description -l pl.UTF-8
80 D-BUS to system przesyłania komunikatów pomiędzy aplikacjami. Jest
81 używany zarówno jako ogólnosystemowa usługa magistrali komunikatów jak
82 i możliwość przesyłania komunikatów w ramach jednej sesji użytkownika.
85 Summary: D-BUS library
86 Summary(pl.UTF-8): Biblioteka D-BUS
88 %{?with_systemd:Requires: systemd-libs >= 32}
94 %description libs -l pl.UTF-8
98 Summary: Header files for D-BUS library
99 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki D-BUS
100 Group: Development/Libraries
101 Requires: %{name}-libs = %{version}-%{release}
102 %{?with_systemd:Requires: systemd-devel >= 32}
105 Header files for D-BUS library.
107 %description devel -l pl.UTF-8
108 Pliki nagłówkowe biblioteki D-BUS.
111 Summary: Static D-BUS library
112 Summary(pl.UTF-8): Statyczna biblioteka D-BUS
113 Group: Development/Libraries
114 Requires: %{name}-devel = %{version}-%{release}
117 Static D-BUS library.
119 %description static -l pl.UTF-8
120 Statyczna biblioteka D-BUS.
123 Summary: D-BUS API documentation
124 Summary(pl.UTF-8): Dokumentacja API D-BUS
126 # dbus.devhelp refers also to common docs packaged in -devel
127 Requires: %{name}-devel = %{version}-%{release}
128 %if "%{_rpmversion}" >= "5"
133 D-BUS API documentation.
135 %description apidocs -l pl.UTF-8
136 Dokumentacja API D-BUS.
139 Summary: X11 session support for D-BUS
140 Summary(pl.UTF-8): Obsługa sesji X11 dla D-BUS
141 Group: X11/Applications
142 Requires: %{name} = %{version}-%{release}
146 This package contains D-BUS utilities to start D-BUS service together
147 with user X11 session.
149 %description x11 -l pl.UTF-8
150 Ten pakiet zawiera narzędzia D-BUS pozwalające na uruchomienie usługi
151 D-BUS wraz z sesją X11 użytkownika.
167 %{!?with_apparmor:--disable-apparmor} \
169 --disable-ducktype-docs \
170 %{?debug:--enable-verbose-mode} \
171 %{!?with_selinux:--disable-selinux} \
172 --disable-silent-rules \
173 %{!?with_systemd:--disable-systemd} \
175 --enable-user-session \
176 --with-console-auth-dir=%{_localstatedir}/run/console/ \
177 --with-session-socket-dir=/tmp \
178 --with-system-pid-file=%{_localstatedir}/run/dbus.pid \
179 --with-systemdsystemunitdir=%{systemdunitdir} \
180 %{!?with_X11:--without-x}
184 rm -rf $RPM_BUILD_ROOT
185 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{profile.d,rc.d/init.d,sysconfig,X11/xinit/xinitrc.d} \
186 $RPM_BUILD_ROOT%{_datadir}/dbus-1/{services,interfaces} \
187 $RPM_BUILD_ROOT%{_localstatedir}/run/dbus \
188 $RPM_BUILD_ROOT%{_localstatedir}/lib/dbus \
189 $RPM_BUILD_ROOT/%{_lib} \
190 $RPM_BUILD_ROOT%{systemdtmpfilesdir}
193 DESTDIR=$RPM_BUILD_ROOT
195 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/messagebus
196 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/profile.d/dbus-daemon-1.sh
197 cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/messagebus
198 install -p %{SOURCE4} $RPM_BUILD_ROOT/etc/X11/xinit/xinitrc.d
200 cp -p %{SOURCE5} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
202 ln -s dbus.service $RPM_BUILD_ROOT%{systemdunitdir}/messagebus.service
204 # for local configuration in dbus 1.10+
205 install -d $RPM_BUILD_ROOT/etc/dbus-1/{session.d,system.d}
207 # we are creating messagebus user from rpm pre
208 %{__rm} $RPM_BUILD_ROOT/usr/lib/sysusers.d/dbus.conf
211 rm -rf $RPM_BUILD_ROOT
214 %groupadd -g 122 messagebus
215 %useradd -u 122 -d /usr/share/empty -s /bin/false -c "System message bus" -g 122 messagebus
218 /sbin/chkconfig --add messagebus
219 %service -n messagebus restart "D-Bus daemon"
220 export NORESTART="yes"
221 %systemd_post messagebus.service
224 if [ "$1" = "0" ];then
225 %service messagebus stop
226 /sbin/chkconfig --del messagebus
230 if [ "$1" = "0" ]; then
231 %userremove messagebus
232 %groupremove messagebus
236 %triggerpostun -- dbus < 1.4.16-5
237 %systemd_trigger messagebus.service
238 if [ -f /etc/sysconfig/dbus ]; then
239 mv -f /etc/sysconfig/messagebus{,.rpmnew}
240 mv -f /etc/sysconfig/{dbus,messagebus}
241 elif [ -f /etc/sysconfig/dbus.rpmsave ]; then
242 mv -f /etc/sysconfig/messagebus{,.rpmnew}
243 mv -f /etc/sysconfig/{dbus.rpmsave,messagebus}
246 %post libs -p /sbin/ldconfig
247 %postun libs -p /sbin/ldconfig
250 %defattr(644,root,root,755)
251 %attr(755,root,root) %{_bindir}/dbus-cleanup-sockets
252 %attr(755,root,root) %{_bindir}/dbus-daemon
253 %attr(755,root,root) %{_bindir}/dbus-uuidgen
254 %attr(755,root,root) %{_bindir}/dbus-monitor
255 %attr(755,root,root) %{_bindir}/dbus-run-session
256 %attr(755,root,root) %{_bindir}/dbus-send
257 %attr(755,root,root) %{_bindir}/dbus-test-tool
258 %attr(755,root,root) %{_bindir}/dbus-update-activation-environment
259 %attr(4754,root,messagebus) %{_libdir}/dbus-daemon-launch-helper
260 %dir %{_datadir}/dbus-1/services
261 %dir %{_datadir}/dbus-1/system-services
262 %{_datadir}/dbus-1/session.conf
263 %{_datadir}/dbus-1/system.conf
264 %{_datadir}/xml/dbus-1
265 %config(noreplace) %verify(not md5 mtime size) /etc/dbus-1/session.conf
266 %config(noreplace) %verify(not md5 mtime size) /etc/dbus-1/system.conf
267 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/messagebus
268 %attr(754,root,root) /etc/rc.d/init.d/messagebus
269 %attr(755,root,root) /etc/profile.d/dbus-daemon-1.sh
270 %{systemdtmpfilesdir}/%{name}.conf
271 %dir %{_localstatedir}/lib/dbus
272 %dir %{_localstatedir}/run/dbus
273 %{_mandir}/man1/dbus-cleanup-sockets.1*
274 %{_mandir}/man1/dbus-daemon.1*
275 %{_mandir}/man1/dbus-uuidgen.1*
276 %{_mandir}/man1/dbus-monitor.1*
277 %{_mandir}/man1/dbus-run-session.1*
278 %{_mandir}/man1/dbus-send.1*
279 %{_mandir}/man1/dbus-test-tool.1*
280 %{_mandir}/man1/dbus-update-activation-environment.1*
282 %{systemdunitdir}/dbus.service
283 %{systemdunitdir}/dbus.socket
284 %{systemdunitdir}/messagebus.service
285 %{systemdunitdir}/multi-user.target.wants/dbus.service
286 %{systemdunitdir}/sockets.target.wants/dbus.socket
287 %{systemduserunitdir}/dbus.service
288 %{systemduserunitdir}/dbus.socket
289 %{systemduserunitdir}/sockets.target.wants/dbus.socket
292 %defattr(644,root,root,755)
293 %doc AUTHORS COPYING ChangeLog NEWS README doc/TODO
294 %attr(755,root,root) %{_libdir}/libdbus-1.so.*.*.*
295 %attr(755,root,root) %ghost %{_libdir}/libdbus-1.so.3
296 %dir %{_datadir}/dbus-1
297 %dir %{_datadir}/dbus-1/session.d
298 %dir %{_datadir}/dbus-1/system.d
299 # interfaces is basically devel thing, but keep dir here
300 # in case something uses it at runtime
301 %dir %{_datadir}/dbus-1/interfaces
302 # TODO: now it's only for local configuration - move to base dbus package
303 # after all packages place constant configuration in %{_datadir}/dbus-1
305 %dir /etc/dbus-1/session.d
306 %dir /etc/dbus-1/system.d
309 %defattr(644,root,root,755)
310 %attr(755,root,root) %{_libdir}/libdbus-1.so
311 %{_libdir}/libdbus-1.la
312 %dir %{_libdir}/dbus-1.0
313 %{_libdir}/dbus-1.0/include
314 %{_libdir}/cmake/DBus1
315 %{_includedir}/dbus-1.0
316 %{_pkgconfigdir}/dbus-1.pc
318 %{_docdir}/dbus/*.html
319 %{_docdir}/dbus/*.png
320 %{_docdir}/dbus/*.svg
321 %{_docdir}/dbus/*.txt
324 %defattr(644,root,root,755)
325 %{_libdir}/libdbus-1.a
328 %defattr(644,root,root,755)
330 %{_docdir}/dbus/dbus.devhelp
333 %defattr(644,root,root,755)
334 %attr(755,root,root) %{_bindir}/dbus-launch
335 %{_mandir}/man1/dbus-launch.1*
336 %attr(755,root,root) /etc/X11/xinit/xinitrc.d/dbus-xinitrc.sh