6 %bcond_without dotnet # without .NET support
7 %bcond_without gcj # without Java support
8 %bcond_without glib # without glib support
9 %bcond_without gtk # without GTK+ programs
10 %bcond_without python # without Python support
11 %bcond_without qt # without Qt support
13 %{?with_dotnet:%include /usr/lib/rpm/macros.mono}
19 %ifarch i386 alpha sparc sparc64
23 %define expat_version 1.95.5
24 %define glib2_version 2.2.0
25 %define qt_version 3.1.0
26 Summary: D-BUS message bus
27 Summary(pl): Magistrala przesy³ania komunikatów D-BUS
31 License: AFL v2.1 or GPL v2
33 Source0: http://dbus.freedesktop.org/releases/%{name}-%{version}.tar.gz
34 # Source0-md5: da9561b5e579cedddc34f53427e99a93
35 Source1: messagebus.init
36 Source2: %{name}-daemon-1-profile.d-sh
37 Source3: %{name}-sysconfig
38 Source4: %{name}-xinitrc.sh
39 Patch0: %{name}-nolibs.patch
40 Patch1: %{name}-config.patch
41 Patch2: %{name}-mint.patch
42 Patch3: %{name}-python_fixes.patch
43 Patch4: %{name}-monodir.patch
44 Patch5: %{name}-gcj.patch
45 URL: http://www.freedesktop.org/Software/dbus
46 BuildRequires: autoconf >= 2.52
47 BuildRequires: automake
48 %{?with_python:BuildRequires: cpp}
49 BuildRequires: doxygen
50 BuildRequires: expat-devel >= %{expat_version}
51 %{?with_gcj:BuildRequires: gcc-java >= 5:4.0}
52 %{?with_glib:BuildRequires: glib2-devel >= %{glib2_version}}
53 %{?with_gtk:BuildRequires: gtk+2-devel >= %{glib2_version}}
54 BuildRequires: xorg-lib-libSM-devel
55 BuildRequires: xorg-lib-libX11-devel
57 # just gtk-sharp for examples
58 #BuildRequires: dotnet-gtk-sharp-devel
59 BuildRequires: mono-csharp >= 1.1.7
60 BuildRequires: monodoc >= 1.0.7-2
62 BuildRequires: libselinux-devel
63 BuildRequires: libtool
64 BuildRequires: pkgconfig
66 BuildRequires: python-Pyrex >= 0.9.3
67 BuildRequires: python-devel >= 2.2
69 %{?with_qt:BuildRequires: qt-devel >= 6:%{qt_version}}
70 %{?with_python:BuildRequires: rpm-pythonprov}
71 BuildRequires: rpmbuild(macros) >= 1.268
72 BuildRequires: sed >= 4.0
74 Requires(post,postun): /sbin/ldconfig
75 Requires(post,preun): /sbin/chkconfig
76 Requires(postun): /usr/sbin/groupdel
77 Requires(postun): /usr/sbin/userdel
78 Requires(pre): /bin/id
79 Requires(pre): /usr/bin/getgid
80 Requires(pre): /usr/sbin/groupadd
81 Requires(pre): /usr/sbin/useradd
82 Requires: %{name}-libs = %{version}-%{release}
84 Provides: group(messagebus)
85 Provides: user(messagebus)
86 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
89 D-BUS is a system for sending messages between applications. It is
90 used both for the systemwide message bus service, and as a
91 per-user-login-session messaging facility.
94 D-BUS to system przesy³ania komunikatów pomiêdzy aplikacjami. Jest
95 u¿ywany zarówno jako ogólnosystemowa us³uga magistrali komunikatów jak
96 i mo¿liwo¶æ przesy³ania komunikatów w ramach jednej sesji u¿ytkownika.
99 Summary: Header files for D-BUS
100 Summary(pl): Pliki nag³ówkowe D-BUS
101 Group: Development/Libraries
102 Requires: %{name}-libs = %{version}-%{release}
105 Header files for D-BUS.
107 %description devel -l pl
108 Pliki nag³ówkowe D-BUS.
111 Summary: D-BUS libraries
112 Summary(pl): Biblioteki D-BUS
118 %description libs -l pl
122 Summary: Static D-BUS libraries
123 Summary(pl): Statyczne biblioteki D-BUS
124 Group: Development/Libraries
125 Requires: %{name}-devel = %{version}-%{release}
128 Static D-BUS libraries.
130 %description static -l pl
131 Statyczne biblioteki D-BUS.
134 Summary: GLib-based library for using D-BUS
135 Summary(pl): Biblioteka do u¿ywania D-BUS oparta o GLib
137 Requires: %{name}-libs = %{version}-%{release}
138 Requires: glib2 >= %{glib2_version}
141 D-BUS add-on library to integrate the standard D-BUS library with the
142 GLib thread abstraction and main loop.
144 %description glib -l pl
145 Dodatkowa biblioteka D-BUS do integracji standardowej biblioteki D-BUS
146 z abstrakcj± w±tków i g³ówn± pêtl± GLib.
149 Summary: Header files for GLib-based library for using D-BUS
150 Summary(pl): Pliki nag³ówkowe biblioteki do u¿ywania D-BUS opartej o GLib
151 Group: Development/Libraries
152 Requires: %{name}-devel = %{version}-%{release}
153 Requires: %{name}-glib = %{version}-%{release}
154 Requires: glib2-devel >= %{glib2_version}
156 %description glib-devel
157 Header files for GLib-based library for using D-BUS.
159 %description glib-devel -l pl
160 Pliki nag³ówkowe biblioteki do u¿ywania D-BUS opartej o GLib.
163 Summary: Static GLib-based library for using D-BUS
164 Summary(pl): Statyczna biblioteka do u¿ywania D-BUS oparta o GLib
165 Group: Development/Libraries
166 Requires: %{name}-glib-devel = %{version}-%{release}
168 %description glib-static
169 Static GLib-based library for using D-BUS.
171 %description glib-static -l pl
172 Statyczna biblioteka do u¿ywania D-BUS oparta o GLib.
175 Summary: GLib-based tools for D-BUS
176 Summary(pl): Narzêdzia dla D-BUS oparte o GLib
178 Requires: %{name} = %{version}-%{release}
179 Requires: %{name}-glib = %{version}-%{release}
181 %description glib-tools
182 GLib-based tools for D-BUS.
184 %description glib-tools -l pl
185 Narzêdzia dla D-BUS oparte o GLib
188 Summary: GTK+-based graphical D-BUS frontend utility
189 Summary(pl): Oparte na GTK+ graficzne narzêdzie do D-BUS
190 Group: X11/Applications
191 Requires: %{name} = %{version}-%{release}
192 Requires: %{name}-X11 = %{version}-%{release}
193 Requires: %{name}-glib = %{version}-%{release}
196 GTK+-based graphical D-BUS frontend utility.
198 %description gtk -l pl
199 Oparte na GTK+ graficzne narzêdzie do D-BUS.
202 Summary: X11 D-BUS utilities
203 Summary(pl): Narzêdzia X11 D-BUSa
204 Group: X11/Applications
205 Requires: %{name} = %{version}-%{release}
211 %description X11 -l pl
212 Narzêdzia X11 D-BUSa.
214 %package -n dotnet-%{name}-sharp
215 Summary: .NET library for using D-BUS
216 Summary(pl): Biblioteka .NET do u¿ywania D-BUS
217 Group: Development/Libraries
218 Requires: %{name} = %{version}-%{release}
219 Requires: mono >= 1.1.7
221 %description -n dotnet-%{name}-sharp
222 .NET library for using D-BUS.
224 %description -n dotnet-%{name}-sharp -l pl
225 Biblioteka .NET do u¿ywania D-BUS.
227 %package -n dotnet-%{name}-sharp-devel
228 Summary: .NET library for using D-BUS with API documentation
229 Summary(pl): Biblioteka .NET do u¿ywania D-BUS, zawiera dokumentacjê API
230 Group: Development/Libraries
231 Requires: %{name} = %{version}-%{release}
232 Requires: dotnet-%{name}-sharp = %{version}-%{release}
234 %description -n dotnet-%{name}-sharp-devel
235 .NET library for using D-BUS, with API documentation.
237 %description -n dotnet-%{name}-sharp-devel -l pl
238 Biblioteka .NET do u¿ywania D-BUS, zawiera dokumentacjê API.
241 Summary: Qt-based library for using D-BUS
242 Summary(pl): Biblioteka do u¿ywania D-BUS oparta o Qt
244 Requires: %{name}-libs = %{version}-%{release}
247 D-BUS add-on library to integrate the standard D-BUS library with the
248 Qt thread abstraction and main loop.
250 %description qt -l pl
251 Dodatkowa biblioteka D-BUS do integracji standardowej biblioteki D-BUS
252 z abstrakcj± w±tków i g³ówn± pêtl± Qt.
255 Summary: Header files for Qt-based library for using D-BUS
256 Summary(pl): Pliki nag³ówkowe biblioteki do u¿ywania D-BUS opartej o Qt
257 Group: Development/Libraries
258 Requires: %{name}-devel = %{version}-%{release}
259 Requires: %{name}-qt = %{version}-%{release}
261 %description qt-devel
262 Header files for Qt-based library for using D-BUS.
264 %description qt-devel -l pl
265 Pliki nag³ówkowe biblioteki do u¿ywania D-BUS opartej o Qt.
268 Summary: Static Qt-based library for using D-BUS
269 Summary(pl): Statyczna biblioteka do u¿ywania D-BUS oparta o Qt
270 Group: Development/Libraries
271 Requires: %{name}-qt-devel = %{version}-%{release}
273 %description qt-static
274 Static Qt-based library for using D-BUS.
276 %description qt-static -l pl
277 Statyczna biblioteka do u¿ywania D-BUS oparta o Qt.
280 Summary: Java library for using D-BUS
281 Summary(pl): Biblioteka do u¿ywania D-BUS oparta o Javê
283 Requires: %{name} = %{version}-%{release}
286 D-BUS add-on library to integrate the standard D-BUS library with
289 %description gcj -l pl
290 Dodatkowa biblioteka D-BUS do integracji standardowej biblioteki D-BUS
294 Summary: Header files for Java-based library for using D-BUS
295 Summary(pl): Pliki nag³ówkowe biblioteki do u¿ywania D-BUS opartej o Javê
296 Group: Development/Libraries
297 Requires: %{name}-gcj = %{version}-%{release}
299 %description gcj-devel
300 Header files for Java-based library for using D-BUS.
302 %description gcj-devel -l pl
303 Pliki nag³ówkowe biblioteki do u¿ywania D-BUS opartej o Javê.
306 Summary: Static Java-based library for using D-BUS
307 Summary(pl): Statyczna biblioteka do u¿ywania D-BUS oparta o Javê
308 Group: Development/Libraries
309 Requires: %{name}-gcj-devel = %{version}-%{release}
311 %description gcj-static
312 Static Java-based library for using D-BUS.
314 %description gcj-static -l pl
315 Statyczna biblioteka do u¿ywania D-BUS oparta o Javê.
317 %package -n python-dbus
318 Summary: Python library for using D-BUS
319 Summary(pl): Biblioteka do u¿ywania D-BUS oparta o Pythona
321 Requires: %{name}-libs = %{version}-%{release}
322 %pyrequires_eq python
324 %description -n python-dbus
325 D-BUS add-on library to integrate the standard D-BUS library with
328 %description -n python-dbus -l pl
329 Dodatkowa biblioteka D-BUS do integracji standardowej biblioteki D-BUS
340 sed -i -e 's/DBUS_QT3_LIBS=.*/DBUS_QT3_LIBS="-lqt-mt"/' configure.in
341 # don't build dotnet-gtk-sharp based examples
342 sed -i -e 's/example//' mono/Makefile.am
351 GCJFLAGS="%{rpmcflags}" \
353 %{?debug:--enable-verbose-mode} \
354 %{?with_dotnet:--enable-mono} \
355 %{?with_dotnet:--enable-mono-docs} \
356 %{!?with_gcj:--disable-gcj} \
357 %{?with_gcj:--enable-gcj} \
358 %{!?with_glib:--disable-glib} \
359 %{!?with_gtk:--disable-gtk} \
360 %{!?with_python:--disable-python} \
361 %{?with_qt:--enable-qt3} \
364 --enable-abstract-sockets \
366 --with-console-auth-dir=%{_localstatedir}/lock/console/ \
367 --with-session-socket-dir=/tmp \
368 --with-system-pid-file=%{_localstatedir}/run/dbus.pid \
371 pythondir=%{py_sitedir}
374 rm -rf $RPM_BUILD_ROOT
375 install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
376 install -d $RPM_BUILD_ROOT/etc/profile.d
377 install -d $RPM_BUILD_ROOT/etc/sysconfig
378 install -d $RPM_BUILD_ROOT%{_sysconfdir}/X11/xinit/xinitrc.d
379 install -d $RPM_BUILD_ROOT%{_datadir}/dbus-1/services
380 install -d $RPM_BUILD_ROOT%{_localstatedir}/run/dbus
383 DESTDIR=$RPM_BUILD_ROOT \
384 pythondir=%{py_sitedir}
386 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/messagebus
387 install %{SOURCE2} $RPM_BUILD_ROOT/etc/profile.d/dbus-daemon-1.sh
388 install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/dbus
389 install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/X11/xinit/xinitrc.d/dbus.sh
392 rm -f $RPM_BUILD_ROOT%{py_sitedir}/%{name}/*.{py,la,a}
396 rm -rf $RPM_BUILD_ROOT
399 %groupadd -g 122 messagebus
400 %useradd -u 122 -d /usr/share/empty -s /bin/false -c "System message bus" -g messagebus messagebus
403 /sbin/chkconfig --add messagebus
404 %service messagebus restart "D-Bus daemon"
407 if [ "$1" = "0" ];then
408 %service messagebus stop
409 /sbin/chkconfig --del messagebus
413 if [ "$1" = "0" ]; then
414 %userremove messagebus
415 %groupremove messagebus
418 %post libs -p /sbin/ldconfig
419 %postun libs -p /sbin/ldconfig
421 %post glib -p /sbin/ldconfig
422 %postun glib -p /sbin/ldconfig
424 %post qt -p /sbin/ldconfig
425 %postun qt -p /sbin/ldconfig
427 %post gcj -p /sbin/ldconfig
428 %postun gcj -p /sbin/ldconfig
431 %defattr(644,root,root,755)
432 %attr(755,root,root) %{_bindir}/dbus-cleanup-sockets
433 %attr(755,root,root) %{_bindir}/dbus-daemon
434 %attr(755,root,root) %{_bindir}/dbus-launch
435 %attr(755,root,root) %{_bindir}/dbus-send
436 %dir %{_sysconfdir}/dbus-1
437 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/dbus-1/*.conf
438 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/dbus
439 %attr(754,root,root) /etc/rc.d/init.d/*
440 %attr(755,root,root) /etc/profile.d/dbus-daemon-1.sh
441 %dir %{_sysconfdir}/dbus-1/system.d
442 %dir %{_datadir}/dbus-1
443 %dir %{_datadir}/dbus-1/services
444 %dir %{_localstatedir}/run/dbus
445 %{_mandir}/man1/dbus-cleanup-sockets.1*
446 %{_mandir}/man1/dbus-daemon.1*
447 %{_mandir}/man1/dbus-send.1*
450 %defattr(644,root,root,755)
451 %doc AUTHORS COPYING ChangeLog NEWS README doc/TODO
452 %attr(755,root,root) %{_libdir}/libdbus-1.so.*.*.*
453 %dir %{_libdir}/dbus-*
456 %defattr(644,root,root,755)
457 %doc doc/*.{html,txt}
458 %attr(755,root,root) %{_libdir}/libdbus-1.so
459 %{_libdir}/libdbus-1.la
460 %{_libdir}/dbus-*/include
461 %{_pkgconfigdir}/dbus-1.pc
463 %{?with_glib:%exclude %{_includedir}/dbus*/dbus/dbus-glib*.h}
464 %{?with_qt:%exclude %{_includedir}/dbus*/dbus/dbus-qt.h}
467 %defattr(644,root,root,755)
468 %{_libdir}/libdbus-1.a
472 %defattr(644,root,root,755)
473 %attr(755,root,root) %{_libdir}/libdbus-glib-1.so.*.*.*
476 %defattr(644,root,root,755)
477 %attr(755,root,root) %{_bindir}/dbus-binding-tool
478 %attr(755,root,root) %{_libdir}/libdbus-glib-1.so
479 %{_libdir}/libdbus-glib-1.la
480 %{_includedir}/dbus*/dbus/dbus-glib*.h
481 %{_pkgconfigdir}/dbus-glib-1.pc
484 %defattr(644,root,root,755)
485 %{_libdir}/libdbus-glib-1.a
488 %defattr(644,root,root,755)
489 %attr(755,root,root) %{_bindir}/dbus-monitor
490 %{_mandir}/man1/dbus-monitor.1*
495 %defattr(644,root,root,755)
496 %attr(755,root,root) %{_bindir}/dbus-viewer
500 %defattr(644,root,root,755)
501 %attr(755,root,root) %{_sysconfdir}/X11/xinit/xinitrc.d/dbus.sh
502 %{_mandir}/man1/dbus-launch.1*
505 %files -n dotnet-%{name}-sharp
506 %defattr(644,root,root,755)
507 %{_prefix}/lib/mono/gac/dbus-sharp
509 %files -n dotnet-%{name}-sharp-devel
510 %defattr(644,root,root,755)
511 %{_prefix}/lib/mono/dbus-sharp
512 %{_libdir}/monodoc/sources/*
513 %{_pkgconfigdir}/dbus-sharp.pc
518 %defattr(644,root,root,755)
519 %attr(755,root,root) %{_libdir}/libdbus-qt-1.so.*.*.*
522 %defattr(644,root,root,755)
523 %attr(755,root,root) %{_libdir}/libdbus-qt-1.so
524 %{_libdir}/libdbus-qt-1.la
525 %{_includedir}/dbus*/dbus/dbus-qt.h
528 %defattr(644,root,root,755)
529 %{_libdir}/libdbus-qt-1.a
534 %defattr(644,root,root,755)
535 %attr(755,root,root) %{_libdir}/lib*gcj*.so.*.*.*
538 %defattr(644,root,root,755)
539 %attr(755,root,root) %{_libdir}/lib*gcj*.so
540 %{_libdir}/lib*gcj*.la
541 %{_datadir}/java/*.jar
544 %defattr(644,root,root,755)
545 %{_libdir}/lib*gcj*.a
549 %files -n python-dbus
550 %defattr(644,root,root,755)
551 %dir %{py_sitedir}/%{name}
552 %attr(755,root,root) %{py_sitedir}/%{name}/*.so
553 %{py_sitedir}/dbus.pth
554 %{py_sitedir}/%{name}/*.py[co]