2 # TODO: SELinux support
5 %bcond_without glib # without glib support
6 %bcond_without gtk # without GTK+ programs
7 %bcond_without qt # without qt support
8 %bcond_with gcj # with Java support
9 %bcond_without python # without python support
10 %bcond_without dotnet # without .net support
19 %define expat_version 1.95.5
20 %define glib2_version 2.2.0
21 %define qt_version 3.1.0
22 Summary: D-BUS message bus
23 Summary(pl): Magistrala przesy³ania komunikatów D-BUS
27 License: AFL v2.1 or GPL v2
29 Source0: http://www.freedesktop.org/software/%{name}/releases/%{name}-%{version}.tar.gz
30 # Source0-md5: 6b1c2476ea8b82dd9fb7f29ef857cb9f
31 Source1: messagebus.init
32 Source2: %{name}-daemon-1-profile.d-sh
33 Source3: %{name}-sysconfig
34 Source4: %{name}-xinitrc.sh
35 Patch0: %{name}-ac.patch
36 Patch1: %{name}-nolibs.patch
37 Patch2: %{name}-monodoc-destdir.patch
38 Patch3: %{name}-mint.patch
39 Patch4: %{name}-config.patch
40 Patch5: %{name}-hello.patch
41 # NOTE: it's not directory, don't add /
42 URL: http://www.freedesktop.org/software/dbus
43 BuildRequires: XFree86-devel
44 BuildRequires: autoconf >= 2.52
45 BuildRequires: automake
46 BuildRequires: expat-devel >= %{expat_version}
47 BuildRequires: doxygen
48 %{?with_glib:BuildRequires: glib2-devel >= %{glib2_version}}
49 %{?with_gcj:BuildRequires: gcc-java-tools}
50 %{?with_gcj:BuildRequires: libgcj-devel}
51 %{?with_gtk:BuildRequires: gtk+2-devel >= %{glib2_version}}
52 %{?with_qt:BuildRequires: kdelibs-devel}
53 %{?with_dotnet:BuildRequires: dotnet-gtk-sharp-devel}
54 %{?with_dotnet:BuildRequires: mono-csharp >= 0.95}
55 %{?with_dotnet:BuildRequires: monodoc >= 0.16}
56 BuildRequires: libtool
57 BuildRequires: pkgconfig
59 BuildRequires: python-devel >= 2.2
60 Buildrequires: python-Pyrex >= 0.9.3
62 %{?with_qt:BuildRequires: qt-devel >= %{qt_version}}
63 BuildRequires: rpmbuild(macros) >= 1.159
65 Requires: %{name}-libs = %{version}-%{release}
66 Requires(pre): /bin/id
67 Requires(pre): /usr/bin/getgid
68 Requires(pre): /usr/sbin/groupadd
69 Requires(pre): /usr/sbin/useradd
70 Requires(post,preun): /sbin/chkconfig
71 Requires(post,postun): /sbin/ldconfig
72 Requires(postun): /usr/sbin/groupdel
73 Requires(postun): /usr/sbin/userdel
75 Provides: group(messagebus)
76 Provides: user(messagebus)
77 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
80 D-BUS is a system for sending messages between applications. It is
81 used both for the systemwide message bus service, and as a
82 per-user-login-session messaging facility.
85 D-BUS to system przesy³ania komunikatów pomiêdzy aplikacjami. Jest
86 u¿ywany zarówno jako ogólnosystemowa us³uga magistrali komunikatów jak
87 i mo¿liwo¶æ przesy³ania komunikatów w ramach jednej sesji u¿ytkownika.
90 Summary: Header files for D-BUS
91 Summary(pl): Pliki nag³ówkowe D-BUS
92 Group: Development/Libraries
93 Requires: %{name}-libs = %{version}-%{release}
96 Header files for D-BUS.
98 %description devel -l pl
99 Pliki nag³ówkowe D-BUS.
102 Summary: D-BUS libraries
103 Summary(pl): Biblioteki D-BUS
109 %description libs -l pl
113 Summary: Static D-BUS libraries
114 Summary(pl): Statyczne biblioteki D-BUS
115 Group: Development/Libraries
116 Requires: %{name}-devel = %{version}-%{release}
119 Static D-BUS libraries.
121 %description static -l pl
122 Statyczne biblioteki D-BUS.
125 Summary: GLib-based library for using D-BUS
126 Summary(pl): Biblioteka do u¿ywania D-BUS oparta o GLib
128 Requires: %{name}-libs = %{version}-%{release}
131 D-BUS add-on library to integrate the standard D-BUS library with the
132 GLib thread abstraction and main loop.
134 %description glib -l pl
135 Dodatkowa biblioteka D-BUS do integracji standardowej biblioteki D-BUS
136 z abstrakcj± w±tków i g³ówn± pêtl± GLib.
139 Summary: Header files for GLib-based library for using D-BUS
140 Summary(pl): Pliki nag³ówkowe biblioteki do u¿ywania D-BUS opartej o GLib
141 Group: Development/Libraries
142 Requires: %{name}-devel = %{version}-%{release}
143 Requires: %{name}-glib = %{version}-%{release}
144 Requires: glib2-devel >= %{glib_version}
146 %description glib-devel
147 Header files for GLib-based library for using D-BUS.
149 %description glib-devel -l pl
150 Pliki nag³ówkowe biblioteki do u¿ywania D-BUS opartej o GLib.
153 Summary: Static GLib-based library for using D-BUS
154 Summary(pl): Statyczna biblioteka do u¿ywania D-BUS oparta o GLib
155 Group: Development/Libraries
156 Requires: %{name}-glib-devel = %{version}-%{release}
158 %description glib-static
159 Static GLib-based library for using D-BUS.
161 %description glib-static -l pl
162 Statyczna biblioteka do u¿ywania D-BUS oparta o GLib.
165 Summary: GLib-based tools for D-BUS
166 Summary(pl): Narzêdzia dla D-BUS oparte o GLib
168 Requires: %{name} = %{version}-%{release}
169 Requires: %{name}-glib = %{version}-%{release}
171 %description glib-tools
172 GLib-based tools for D-BUS.
174 %description glib-tools -l pl
175 Narzêdzia dla D-BUS oparte o GLib
178 Summary: GTK+-based graphical D-BUS frontend utility
179 Summary(pl): Oparte na GTK+ graficzne narzêdzie do D-BUS
180 Group: X11/Applications
181 Requires: %{name} = %{version}-%{release}
184 GTK+-based graphical D-BUS frontend utility.
186 %description gtk -l pl
187 Oparte na GTK+ graficzne narzêdzie do D-BUS.
189 %package -n dotnet-%{name}-sharp
190 Summary: .NET library for using D-BUS
191 Summary(pl): Biblioteka .NET do u¿ywania D-BUS
192 Group: Development/Libraries
194 Requires: %{name} = %{version}-%{release}
196 %description -n dotnet-%{name}-sharp
197 .NET library for using D-BUS.
199 %description -n dotnet-%{name}-sharp -l pl
200 Biblioteka .NET do u¿ywania D-BUS.
202 %package -n dotnet-%{name}-sharp-devel
203 Summary: .NET library for using D-BUS with API documentation
204 Summary(pl): Biblioteka .NET do u¿ywania D-BUS, zawiera dokumentacjê API
205 Group: Development/Libraries
206 Requires: dotnet-%{name}-sharp = %{version}-%{release}
207 Requires: %{name} = %{version}-%{release}
209 %description -n dotnet-%{name}-sharp-devel
210 .NET library for using D-BUS, with API documentation.
212 %description -n dotnet-%{name}-sharp-devel -l pl
213 Biblioteka .NET do u¿ywania D-BUS, zawiera dokumentacjê API.
216 Summary: Qt-based library for using D-BUS
217 Summary(pl): Biblioteka do u¿ywania D-BUS oparta o Qt
219 Requires: %{name} = %{version}-%{release}
222 D-BUS add-on library to integrate the standard D-BUS library with the
223 Qt thread abstraction and main loop.
225 %description qt -l pl
226 Dodatkowa biblioteka D-BUS do integracji standardowej biblioteki D-BUS
227 z abstrakcj± w±tków i g³ówn± pêtl± Qt.
230 Summary: Header files for Qt-based library for using D-BUS
231 Summary(pl): Pliki nag³ówkowe biblioteki do u¿ywania D-BUS opartej o Qt
232 Group: Development/Libraries
233 Requires: %{name}-devel = %{version}-%{release}
234 Requires: %{name}-qt = %{version}-%{release}
235 Requires: kdelibs-devel
237 %description qt-devel
238 Header files for Qt-based library for using D-BUS.
240 %description qt-devel -l pl
241 Pliki nag³ówkowe biblioteki do u¿ywania D-BUS opartej o Qt.
244 Summary: Static Qt-based library for using D-BUS
245 Summary(pl): Statyczna biblioteka do u¿ywania D-BUS oparta o Qt
246 Group: Development/Libraries
247 Requires: %{name}-qt-devel = %{version}-%{release}
249 %description qt-static
250 Static Qt-based library for using D-BUS.
252 %description qt-static -l pl
253 Statyczna biblioteka do u¿ywania D-BUS oparta o Qt.
256 Summary: Java library for using D-BUS
257 Summary(pl): Biblioteka do u¿ywania D-BUS oparta o Javê
259 Requires: %{name} = %{version}-%{release}
262 D-BUS add-on library to integrate the standard D-BUS library with
265 %description gcj -l pl
266 Dodatkowa biblioteka D-BUS do integracji standardowej biblioteki D-BUS
270 Summary: Header files for Java-based library for using D-BUS
271 Summary(pl): Pliki nag³ówkowe biblioteki do u¿ywania D-BUS opartej o Javê
272 Group: Development/Libraries
273 Requires: %{name}-gcj = %{version}-%{release}
275 %description gcj-devel
276 Header files for Java-based library for using D-BUS.
278 %description gcj-devel -l pl
279 Pliki nag³ówkowe biblioteki do u¿ywania D-BUS opartej o Javê.
282 Summary: Static Java-based library for using D-BUS
283 Summary(pl): Statyczna biblioteka do u¿ywania D-BUS oparta o Javê
284 Group: Development/Libraries
285 Requires: %{name}-gcj-devel = %{version}-%{release}
287 %description gcj-static
288 Static Java-based library for using D-BUS.
290 %description gcj-static -l pl
291 Statyczna biblioteka do u¿ywania D-BUS oparta o Javê.
293 %package -n python-dbus
294 Summary: Python library for using D-BUS
295 Summary(pl): Biblioteka do u¿ywania D-BUS oparta o Pythona
297 Requires: %{name}-libs = %{version}-%{release}
298 %pyrequires_eq python
300 %description -n python-dbus
301 D-BUS add-on library to integrate the standard D-BUS library with
304 %description -n python-dbus -l pl
305 Dodatkowa biblioteka D-BUS do integracji standardowej biblioteki D-BUS
325 %{!?with_glib:--disable-glib} \
326 %{!?with_gtk:--disable-gtk} \
327 %{!?with_qt:--disable-qt} \
328 %{!?with_python:--disable-python} \
329 %{!?with_gcj:--disable-gcj} \
330 %{?with_gcj:--enable-gcj} \
331 %{!?with_dotnet:--disable-mono} \
332 %{!?with_dotnet:--disable-mono-docs} \
334 --enable-verbose-mode \
337 --with-session-socket-dir=/tmp \
338 --with-system-pid-file=%{_localstatedir}/run/dbus.pid \
339 --with-system-socket=%{_localstatedir}/lib/dbus-1.0/system_bus_socket
344 pythondir=%{py_sitedir}
347 rm -rf $RPM_BUILD_ROOT
348 install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
349 install -d $RPM_BUILD_ROOT/etc/profile.d
350 install -d $RPM_BUILD_ROOT/etc/sysconfig
351 install -d $RPM_BUILD_ROOT/etc/X11/xinit/xinitrc.d
352 install -d $RPM_BUILD_ROOT%{_datadir}/dbus-1.0/services
353 install -d $RPM_BUILD_ROOT%{_localstatedir}/lib/dbus-1.0
355 install -d $RPM_BUILD_ROOT%{_libdir}/monodoc/sources
359 DESTDIR=$RPM_BUILD_ROOT \
360 pythondir=%{py_sitedir}
362 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/messagebus
363 install %{SOURCE2} $RPM_BUILD_ROOT/etc/profile.d/dbus-daemon-1.sh
364 install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/dbus
365 install %{SOURCE4} $RPM_BUILD_ROOT/etc/X11/xinit/xinitrc.d/dbus.sh
368 rm -f $RPM_BUILD_ROOT%{py_sitedir}/*.{py,la,a}
372 rm -rf $RPM_BUILD_ROOT
375 if [ -n "`/usr/bin/getgid messagebus`" ]; then
376 if [ "`/usr/bin/getgid messagebus`" != 122 ]; then
377 echo "Error: group messagebus doesn't have gid=122. Correct this before installing dbus." 1>&2
381 /usr/sbin/groupadd -g 122 messagebus 1>&2
383 if [ -n "`/bin/id -u messagebus 2>/dev/null`" ]; then
384 if [ "`/bin/id -u messagebus`" != 122 ]; then
385 echo "Error: user messagebus doesn't have uid=122. Correct this before installing dbus." 1>&2
389 /usr/sbin/useradd -u 122 -d /usr/share/empty -s /bin/false \
390 -c "System message bus" -g messagebus messagebus 1>&2
394 /sbin/chkconfig --add messagebus
395 if [ -f /var/lock/subsys/messagebus ]; then
396 /etc/rc.d/init.d/messagebus restart >&2
398 echo "Run \"/etc/rc.d/init.d/messagebus start\" to start D-Bus daemon."
402 if [ "$1" = "0" ];then
403 if [ -f /var/lock/subsys/messagebus ]; then
404 /etc/rc.d/init.d/messagebus stop >&2
406 /sbin/chkconfig --del messagebus
410 if [ "$1" = "0" ]; then
411 %userremove messagebus
412 %groupremove messagebus
415 %post libs -p /sbin/ldconfig
416 %postun libs -p /sbin/ldconfig
418 %post glib -p /sbin/ldconfig
419 %postun glib -p /sbin/ldconfig
421 %post qt -p /sbin/ldconfig
422 %postun qt -p /sbin/ldconfig
424 %post gcj -p /sbin/ldconfig
425 %postun gcj -p /sbin/ldconfig
428 %defattr(644,root,root,755)
429 %attr(755,root,root) %{_bindir}/dbus-cleanup-sockets
430 %attr(755,root,root) %{_bindir}/dbus-daemon-1
431 # dbus-launch R: XFree86-libs
432 %attr(755,root,root) %{_bindir}/dbus-launch
433 %attr(755,root,root) %{_bindir}/dbus-send
434 %dir %{_sysconfdir}/dbus-1
435 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/dbus-1/*.conf
436 %config(noreplace) %verify(not md5 size mtime) /etc/sysconfig/dbus
437 %attr(754,root,root) /etc/rc.d/init.d/*
438 %attr(755,root,root) /etc/profile.d/dbus-daemon-1.sh
439 %attr(755,root,root) /etc/X11/xinit/xinitrc.d/dbus.sh
440 %dir %{_sysconfdir}/dbus-1/system.d
441 %dir %{_datadir}/dbus-1.0/services
442 %dir %{_localstatedir}/lib/dbus-1.0
443 %{_mandir}/man1/dbus-cleanup-sockets.1*
444 %{_mandir}/man1/dbus-daemon-1.1*
445 %{_mandir}/man1/dbus-launch.1*
446 %{_mandir}/man1/dbus-send.1*
449 %defattr(644,root,root,755)
450 %doc AUTHORS COPYING ChangeLog NEWS README doc/TODO
451 %attr(755,root,root) %{_libdir}/libdbus-1.so.*.*.*
452 %dir %{_libdir}/dbus-*
455 %defattr(644,root,root,755)
456 %doc doc/*.{html,txt}
457 %attr(755,root,root) %{_libdir}/libdbus-1.so
458 %{_libdir}/libdbus-1.la
459 %{_libdir}/dbus-*/include
460 %{_pkgconfigdir}/dbus-1.pc
462 %{?with_glib:%exclude %{_includedir}/dbus*/dbus/dbus-glib*.h}
463 %{?with_qt:%exclude %{_includedir}/dbus*/dbus/dbus-qt.h}
466 %defattr(644,root,root,755)
467 %{_libdir}/libdbus-1.a
471 %defattr(644,root,root,755)
472 %attr(755,root,root) %{_libdir}/libdbus-glib-1.so.*.*.*
475 %defattr(644,root,root,755)
476 %attr(755,root,root) %{_bindir}/dbus-glib-tool
477 %attr(755,root,root) %{_libdir}/libdbus-glib-1.so
478 %{_libdir}/libdbus-glib-1.la
479 %{_includedir}/dbus*/dbus/dbus-glib*.h
480 %{_pkgconfigdir}/dbus-glib-1.pc
483 %defattr(644,root,root,755)
484 %{_libdir}/libdbus-glib-1.a
487 %defattr(644,root,root,755)
488 %attr(755,root,root) %{_bindir}/dbus-monitor
489 %{_mandir}/man1/dbus-monitor.1*
494 %defattr(644,root,root,755)
495 %attr(755,root,root) %{_bindir}/dbus-viewer
499 %files -n dotnet-%{name}-sharp
500 %defattr(644,root,root,755)
501 %dir %{_libdir}/mono/gac/dbus-sharp
502 %{_libdir}/mono/gac/dbus-sharp/*
504 %files -n dotnet-%{name}-sharp-devel
505 %defattr(644,root,root,755)
506 %{_libdir}/monodoc/sources/*
507 %dir %{_libdir}/mono/dbus-sharp
508 %{_libdir}/mono/dbus-sharp/*
509 %{_pkgconfigdir}/dbus-sharp.pc
514 %defattr(644,root,root,755)
515 %attr(755,root,root) %{_libdir}/libdbus-qt-1.so.*.*.*
518 %defattr(644,root,root,755)
519 %attr(755,root,root) %{_libdir}/libdbus-qt-1.so
520 %{_libdir}/libdbus-qt-1.la
521 %{_includedir}/dbus*/dbus/dbus-qt.h
524 %defattr(644,root,root,755)
525 %{_libdir}/libdbus-qt-1.a
530 %defattr(644,root,root,755)
531 %attr(755,root,root) %{_libdir}/lib*gcj*.so.*.*.*
534 %defattr(644,root,root,755)
535 %attr(755,root,root) %{_libdir}/lib*gcj*.so
536 %{_libdir}/lib*gcj*.la
537 %{_datadir}/java/*.jar
540 %defattr(644,root,root,755)
541 %{_libdir}/lib*gcj*.a
545 %files -n python-dbus
546 %defattr(644,root,root,755)
547 %attr(755,root,root) %{py_sitedir}/*.so
548 %{py_sitedir}/*.py[co]