]> git.pld-linux.org Git - packages/dbus.git/blob - dbus.spec
- check for SESSION_BUS_X_SESSION and launch dbus session daemon while start X session
[packages/dbus.git] / dbus.spec
1 #
2 # TODO: SELinux support
3 #
4 # Conditional build:
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
11 #
12 %if %{without glib}
13 %undefine       with_gtk
14 %endif
15 %ifarch alpha
16 # mono still broken
17 %undefine       with_dotnet
18 %endif
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
24 Name:           dbus
25 Version:        0.22
26 Release:        11
27 License:        AFL v2.1 or GPL v2
28 Group:          Libraries
29 Source0:        http://www.freedesktop.org/software/%{name}/releases/%{name}-%{version}.tar.gz
30 # Source0-md5:  6b1c2476ea8b82dd9fb7f29ef857cb9f
31 Source1:        messagebus.init
32 Source2:        dbus-daemon-1-profile.d-sh
33 Patch0:         %{name}-ac.patch
34 Patch1:         %{name}-nolibs.patch
35 Patch2:         %{name}-monodoc-destdir.patch
36 Patch3:         %{name}-mint.patch
37 Patch4:         %{name}-config.patch
38 Patch5:         %{name}-hello.patch
39 # NOTE: it's not directory, don't add /
40 URL:            http://www.freedesktop.org/software/dbus
41 BuildRequires:  XFree86-devel
42 BuildRequires:  autoconf >= 2.52
43 BuildRequires:  automake
44 BuildRequires:  expat-devel >= %{expat_version}
45 BuildRequires:  doxygen
46 %{?with_glib:BuildRequires:     glib2-devel >= %{glib2_version}}
47 %{?with_gcj:BuildRequires:      gcc-java-tools}
48 %{?with_gcj:BuildRequires:      libgcj-devel}
49 %{?with_gtk:BuildRequires:      gtk+2-devel >= %{glib2_version}}
50 %{?with_qt:BuildRequires:       kdelibs-devel}
51 %{?with_dotnet:BuildRequires:   dotnet-gtk-sharp-devel}
52 %{?with_dotnet:BuildRequires:   mono-csharp >= 0.95}
53 %{?with_dotnet:BuildRequires:   monodoc >= 0.16}
54 BuildRequires:  libtool
55 BuildRequires:  pkgconfig
56 %if %{with python}
57 BuildRequires:  python-devel >= 2.2
58 Buildrequires:  python-Pyrex >= 0.9.3
59 %endif
60 %{?with_qt:BuildRequires:       qt-devel >= %{qt_version}}
61 BuildRequires:  rpmbuild(macros) >= 1.159
62 PreReq: rc-scripts
63 Requires:       %{name}-libs = %{version}-%{release}
64 Requires(pre):  /bin/id
65 Requires(pre):  /usr/bin/getgid
66 Requires(pre):  /usr/sbin/groupadd
67 Requires(pre):  /usr/sbin/useradd
68 Requires(post,preun):   /sbin/chkconfig
69 Requires(post,postun):  /sbin/ldconfig
70 Requires(postun):       /usr/sbin/groupdel
71 Requires(postun):       /usr/sbin/userdel
72 Provides:       group(messagebus)
73 Provides:       user(messagebus)
74 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
75
76 %description
77 D-BUS is a system for sending messages between applications. It is
78 used both for the systemwide message bus service, and as a
79 per-user-login-session messaging facility.
80
81 %description -l pl
82 D-BUS to system przesy³ania komunikatów pomiêdzy aplikacjami. Jest
83 u¿ywany zarówno jako ogólnosystemowa us³uga magistrali komunikatów jak
84 i mo¿liwo¶æ przesy³ania komunikatów w ramach jednej sesji u¿ytkownika.
85
86 %package devel
87 Summary:        Header files for D-BUS
88 Summary(pl):    Pliki nag³ówkowe D-BUS
89 Group:          Development/Libraries
90 Requires:       %{name}-libs = %{version}-%{release}
91
92 %description devel
93 Header files for D-BUS.
94
95 %description devel -l pl
96 Pliki nag³ówkowe D-BUS.
97
98 %package libs
99 Summary:        D-BUS libraries
100 Summary(pl):    Biblioteki D-BUS
101 Group:          Libraries
102
103 %description libs
104 D-BUS libraries.
105
106 %description libs -l pl
107 Biblioteki D-BUS.
108
109 %package static
110 Summary:        Static D-BUS libraries
111 Summary(pl):    Statyczne biblioteki D-BUS
112 Group:          Development/Libraries
113 Requires:       %{name}-devel = %{version}-%{release}
114
115 %description static
116 Static D-BUS libraries.
117
118 %description static -l pl
119 Statyczne biblioteki D-BUS.
120
121 %package glib
122 Summary:        GLib-based library for using D-BUS
123 Summary(pl):    Biblioteka do u¿ywania D-BUS oparta o GLib
124 Group:          Libraries
125 Requires:       %{name}-libs = %{version}-%{release}
126
127 %description glib
128 D-BUS add-on library to integrate the standard D-BUS library with the
129 GLib thread abstraction and main loop.
130
131 %description glib -l pl
132 Dodatkowa biblioteka D-BUS do integracji standardowej biblioteki D-BUS
133 z abstrakcj± w±tków i g³ówn± pêtl± GLib.
134
135 %package glib-devel
136 Summary:        Header files for GLib-based library for using D-BUS
137 Summary(pl):    Pliki nag³ówkowe biblioteki do u¿ywania D-BUS opartej o GLib
138 Group:          Development/Libraries
139 Requires:       %{name}-devel = %{version}-%{release}
140 Requires:       %{name}-glib = %{version}-%{release}
141 Requires:       glib2-devel >= %{glib_version}
142
143 %description glib-devel
144 Header files for GLib-based library for using D-BUS.
145
146 %description glib-devel -l pl
147 Pliki nag³ówkowe biblioteki do u¿ywania D-BUS opartej o GLib.
148
149 %package glib-static
150 Summary:        Static GLib-based library for using D-BUS
151 Summary(pl):    Statyczna biblioteka do u¿ywania D-BUS oparta o GLib
152 Group:          Development/Libraries
153 Requires:       %{name}-glib-devel = %{version}-%{release}
154
155 %description glib-static
156 Static GLib-based library for using D-BUS.
157
158 %description glib-static -l pl
159 Statyczna biblioteka do u¿ywania D-BUS oparta o GLib.
160
161 %package glib-tools
162 Summary:        GLib-based tools for D-BUS
163 Summary(pl):    Narzêdzia dla D-BUS oparte o GLib
164 Group:          Libraries
165 Requires:       %{name} = %{version}-%{release}
166 Requires:       %{name}-glib = %{version}-%{release}
167
168 %description glib-tools
169 GLib-based tools for D-BUS.
170
171 %description glib-tools -l pl
172 Narzêdzia dla D-BUS oparte o GLib
173
174 %package gtk
175 Summary:        GTK+-based graphical D-BUS frontend utility
176 Summary(pl):    Oparte na GTK+ graficzne narzêdzie do D-BUS
177 Group:          X11/Applications
178 Requires:       %{name} = %{version}-%{release}
179
180 %description gtk
181 GTK+-based graphical D-BUS frontend utility.
182
183 %description gtk -l pl
184 Oparte na GTK+ graficzne narzêdzie do D-BUS.
185
186 %package -n dotnet-%{name}-sharp
187 Summary:        .NET library for using D-BUS
188 Summary(pl):    Biblioteka .NET do u¿ywania D-BUS
189 Group:          Development/Libraries
190 Requires:       mono
191 Requires:       %{name} = %{version}-%{release}
192
193 %description -n dotnet-%{name}-sharp
194 .NET library for using D-BUS.
195
196 %description -n dotnet-%{name}-sharp -l pl
197 Biblioteka .NET do u¿ywania D-BUS.
198
199 %package -n dotnet-%{name}-sharp-devel
200 Summary:        .NET library for using D-BUS with API documentation
201 Summary(pl):    Biblioteka .NET do u¿ywania D-BUS, zawiera dokumentacjê API
202 Group:          Development/Libraries
203 Requires:       dotnet-%{name}-sharp = %{version}-%{release}
204 Requires:       %{name} = %{version}-%{release}
205
206 %description -n dotnet-%{name}-sharp-devel
207 .NET library for using D-BUS, with API documentation.
208
209 %description -n dotnet-%{name}-sharp-devel -l pl
210 Biblioteka .NET do u¿ywania D-BUS, zawiera dokumentacjê API.
211
212 %package qt
213 Summary:        Qt-based library for using D-BUS
214 Summary(pl):    Biblioteka do u¿ywania D-BUS oparta o Qt
215 Group:          Libraries
216 Requires:       %{name} = %{version}-%{release}
217
218 %description qt
219 D-BUS add-on library to integrate the standard D-BUS library with the
220 Qt thread abstraction and main loop.
221
222 %description qt -l pl
223 Dodatkowa biblioteka D-BUS do integracji standardowej biblioteki D-BUS
224 z abstrakcj± w±tków i g³ówn± pêtl± Qt.
225
226 %package qt-devel
227 Summary:        Header files for Qt-based library for using D-BUS
228 Summary(pl):    Pliki nag³ówkowe biblioteki do u¿ywania D-BUS opartej o Qt
229 Group:          Development/Libraries
230 Requires:       %{name}-devel = %{version}-%{release}
231 Requires:       %{name}-qt = %{version}-%{release}
232 Requires:       kdelibs-devel
233
234 %description qt-devel
235 Header files for Qt-based library for using D-BUS.
236
237 %description qt-devel -l pl
238 Pliki nag³ówkowe biblioteki do u¿ywania D-BUS opartej o Qt.
239
240 %package qt-static
241 Summary:        Static Qt-based library for using D-BUS
242 Summary(pl):    Statyczna biblioteka do u¿ywania D-BUS oparta o Qt
243 Group:          Development/Libraries
244 Requires:       %{name}-qt-devel = %{version}-%{release}
245
246 %description qt-static
247 Static Qt-based library for using D-BUS.
248
249 %description qt-static -l pl
250 Statyczna biblioteka do u¿ywania D-BUS oparta o Qt.
251
252 %package gcj
253 Summary:        Java library for using D-BUS
254 Summary(pl):    Biblioteka do u¿ywania D-BUS oparta o Javê
255 Group:          Libraries
256 Requires:       %{name} = %{version}-%{release}
257
258 %description gcj
259 D-BUS add-on library to integrate the standard D-BUS library with
260 Java.
261
262 %description gcj -l pl
263 Dodatkowa biblioteka D-BUS do integracji standardowej biblioteki D-BUS
264 z Jav±.
265
266 %package gcj-devel
267 Summary:        Header files for Java-based library for using D-BUS
268 Summary(pl):    Pliki nag³ówkowe biblioteki do u¿ywania D-BUS opartej o Javê
269 Group:          Development/Libraries
270 Requires:       %{name}-gcj = %{version}-%{release}
271
272 %description gcj-devel
273 Header files for Java-based library for using D-BUS.
274
275 %description gcj-devel -l pl
276 Pliki nag³ówkowe biblioteki do u¿ywania D-BUS opartej o Javê.
277
278 %package gcj-static
279 Summary:        Static Java-based library for using D-BUS
280 Summary(pl):    Statyczna biblioteka do u¿ywania D-BUS oparta o Javê
281 Group:          Development/Libraries
282 Requires:       %{name}-gcj-devel = %{version}-%{release}
283
284 %description gcj-static
285 Static Java-based library for using D-BUS.
286
287 %description gcj-static -l pl
288 Statyczna biblioteka do u¿ywania D-BUS oparta o Javê.
289
290 %package -n python-dbus
291 Summary:        Python library for using D-BUS
292 Summary(pl):    Biblioteka do u¿ywania D-BUS oparta o Pythona
293 Group:          Libraries
294 Requires:       %{name}-libs = %{version}-%{release}
295 %pyrequires_eq  python
296
297 %description -n python-dbus
298 D-BUS add-on library to integrate the standard D-BUS library with
299 Python.
300
301 %description -n python-dbus -l pl
302 Dodatkowa biblioteka D-BUS do integracji standardowej biblioteki D-BUS
303 z Pythonem.
304
305 %prep
306 %setup -q
307 %patch0 -p1
308 %patch1 -p1
309 %patch2 -p0
310 %patch3 -p0
311 %patch4 -p0
312 %patch5 -p0
313
314 %build
315 %{__libtoolize}
316 %{__aclocal}
317 %{__autoconf}
318 %{__autoheader}
319 %{__automake}
320 %configure \
321         QTDIR=/usr \
322         %{!?with_glib:--disable-glib} \
323         %{!?with_gtk:--disable-gtk} \
324         %{!?with_qt:--disable-qt} \
325         %{!?with_python:--disable-python} \
326         %{!?with_gcj:--disable-gcj} \
327         %{?with_gcj:--enable-gcj} \
328         %{!?with_dotnet:--disable-mono} \
329         %{!?with_dotnet:--disable-mono-docs} \
330         --disable-tests \
331         --enable-verbose-mode \
332         --disable-asserts \
333         --with-xml=expat \
334         --with-session-socket-dir=/tmp \
335         --with-system-pid-file=%{_localstatedir}/run/dbus.pid \
336         --with-system-socket=%{_localstatedir}/lib/dbus-1.0/system_bus_socket
337
338
339
340 %{__make} \
341         pythondir=%{py_sitedir}
342
343 %install
344 rm -rf $RPM_BUILD_ROOT
345 install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
346 install -d $RPM_BUILD_ROOT/etc/profile.d
347 install -d $RPM_BUILD_ROOT%{_datadir}/dbus-1.0/services
348 install -d $RPM_BUILD_ROOT%{_localstatedir}/lib/dbus-1.0
349 %if %{with dotnet}
350 install -d $RPM_BUILD_ROOT%{_libdir}/monodoc/sources
351 %endif
352
353 %{__make} install \
354         DESTDIR=$RPM_BUILD_ROOT \
355         pythondir=%{py_sitedir}
356
357 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/messagebus
358 install %{SOURCE2} $RPM_BUILD_ROOT/etc/profile.d/dbus-daemon-1.sh
359
360 %if %{with python}
361 rm -f $RPM_BUILD_ROOT%{py_sitedir}/*.{py,la,a}
362 %endif
363
364 %clean
365 rm -rf $RPM_BUILD_ROOT
366
367 %pre
368 if [ -n "`/usr/bin/getgid messagebus`" ]; then
369         if [ "`/usr/bin/getgid messagebus`" != 122 ]; then
370                 echo "Error: group messagebus doesn't have gid=122. Correct this before installing dbus." 1>&2
371                 exit 1
372         fi
373 else
374         /usr/sbin/groupadd -g 122 messagebus 1>&2
375 fi
376 if [ -n "`/bin/id -u messagebus 2>/dev/null`" ]; then
377         if [ "`/bin/id -u messagebus`" != 122 ]; then
378                 echo "Error: user messagebus doesn't have uid=122. Correct this before installing dbus." 1>&2
379                 exit 1
380         fi
381 else
382         /usr/sbin/useradd -u 122 -d /usr/share/empty -s /bin/false \
383                 -c "System message bus" -g messagebus messagebus 1>&2
384 fi
385
386 %post
387 /sbin/chkconfig --add messagebus
388 if [ -f /var/lock/subsys/messagebus ]; then
389         /etc/rc.d/init.d/messagebus restart >&2
390 else
391         echo "Run \"/etc/rc.d/init.d/messagebus start\" to start D-Bus daemon."
392 fi
393
394 %preun
395 if [ "$1" = "0" ];then
396         if [ -f /var/lock/subsys/messagebus ]; then
397                 /etc/rc.d/init.d/messagebus stop >&2
398         fi
399         /sbin/chkconfig --del messagebus
400 fi
401
402 %postun
403 if [ "$1" = "0" ]; then
404         %userremove messagebus
405         %groupremove messagebus
406 fi
407
408 %post   libs -p /sbin/ldconfig
409 %postun libs -p /sbin/ldconfig
410                 
411 %post   glib -p /sbin/ldconfig
412 %postun glib -p /sbin/ldconfig
413
414 %post   qt -p /sbin/ldconfig
415 %postun qt -p /sbin/ldconfig
416
417 %post   gcj -p /sbin/ldconfig
418 %postun gcj -p /sbin/ldconfig
419
420 %files
421 %defattr(644,root,root,755)
422 %attr(755,root,root) %{_bindir}/dbus-cleanup-sockets
423 %attr(755,root,root) %{_bindir}/dbus-daemon-1
424 # dbus-launch R: XFree86-libs
425 %attr(755,root,root) %{_bindir}/dbus-launch
426 %attr(755,root,root) %{_bindir}/dbus-send
427 %dir %{_sysconfdir}/dbus-1
428 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/dbus-1/*.conf
429 %attr(754,root,root) /etc/rc.d/init.d/*
430 %attr(755,root,root) /etc/profile.d/dbus-daemon-1.sh
431 %dir %{_sysconfdir}/dbus-1/system.d
432 %dir %{_datadir}/dbus-1.0/services
433 %dir %{_localstatedir}/lib/dbus-1.0
434 %{_mandir}/man1/dbus-cleanup-sockets.1*
435 %{_mandir}/man1/dbus-daemon-1.1*
436 %{_mandir}/man1/dbus-launch.1*
437 %{_mandir}/man1/dbus-send.1*
438
439 %files libs
440 %defattr(644,root,root,755)
441 %doc AUTHORS COPYING ChangeLog NEWS README doc/TODO
442 %attr(755,root,root) %{_libdir}/libdbus-1.so.*.*.*
443 %dir %{_libdir}/dbus-*
444
445 %files devel
446 %defattr(644,root,root,755)
447 %doc doc/*.{html,txt}
448 %attr(755,root,root) %{_libdir}/libdbus-1.so
449 %{_libdir}/libdbus-1.la
450 %{_libdir}/dbus-*/include
451 %{_pkgconfigdir}/dbus-1.pc
452 %{_includedir}/dbus*
453 %{?with_glib:%exclude %{_includedir}/dbus*/dbus/dbus-glib*.h}
454 %{?with_qt:%exclude %{_includedir}/dbus*/dbus/dbus-qt.h}
455
456 %files static
457 %defattr(644,root,root,755)
458 %{_libdir}/libdbus-1.a
459
460 %if %{with glib}
461 %files glib
462 %defattr(644,root,root,755)
463 %attr(755,root,root) %{_libdir}/libdbus-glib-1.so.*.*.*
464
465 %files glib-devel
466 %defattr(644,root,root,755)
467 %attr(755,root,root) %{_bindir}/dbus-glib-tool
468 %attr(755,root,root) %{_libdir}/libdbus-glib-1.so
469 %{_libdir}/libdbus-glib-1.la
470 %{_includedir}/dbus*/dbus/dbus-glib*.h
471 %{_pkgconfigdir}/dbus-glib-1.pc
472
473 %files glib-static
474 %defattr(644,root,root,755)
475 %{_libdir}/libdbus-glib-1.a
476
477 %files glib-tools
478 %defattr(644,root,root,755)
479 %attr(755,root,root) %{_bindir}/dbus-monitor
480 %{_mandir}/man1/dbus-monitor.1*
481 %endif
482
483 %if %{with gtk}
484 %files gtk
485 %defattr(644,root,root,755)
486 %attr(755,root,root) %{_bindir}/dbus-viewer
487 %endif
488
489 %if %{with dotnet}
490 %files -n dotnet-%{name}-sharp
491 %defattr(644,root,root,755)
492 %dir %{_libdir}/mono/gac/dbus-sharp
493 %{_libdir}/mono/gac/dbus-sharp/*
494
495 %files -n dotnet-%{name}-sharp-devel
496 %defattr(644,root,root,755)
497 %{_libdir}/monodoc/sources/*
498 %dir %{_libdir}/mono/dbus-sharp
499 %{_libdir}/mono/dbus-sharp/*
500 %{_pkgconfigdir}/dbus-sharp.pc
501 %endif
502
503 %if %{with qt}
504 %files qt
505 %defattr(644,root,root,755)
506 %attr(755,root,root) %{_libdir}/libdbus-qt-1.so.*.*.*
507
508 %files qt-devel
509 %defattr(644,root,root,755)
510 %attr(755,root,root) %{_libdir}/libdbus-qt-1.so
511 %{_libdir}/libdbus-qt-1.la
512 %{_includedir}/dbus*/dbus/dbus-qt.h
513
514 %files qt-static
515 %defattr(644,root,root,755)
516 %{_libdir}/libdbus-qt-1.a
517 %endif
518
519 %if %{with gcj}
520 %files gcj
521 %defattr(644,root,root,755)
522 %attr(755,root,root) %{_libdir}/lib*gcj*.so.*.*.*
523
524 %files gcj-devel
525 %defattr(644,root,root,755)
526 %attr(755,root,root) %{_libdir}/lib*gcj*.so
527 %{_libdir}/lib*gcj*.la
528 %{_datadir}/java/*.jar
529
530 %files gcj-static
531 %defattr(644,root,root,755)
532 %{_libdir}/lib*gcj*.a
533 %endif
534
535 %if %{with python}
536 %files -n python-dbus
537 %defattr(644,root,root,755)
538 %attr(755,root,root) %{py_sitedir}/*.so
539 %{py_sitedir}/*.py[co]
540 %endif
This page took 0.092108 seconds and 3 git commands to generate.