]> git.pld-linux.org Git - packages/dbus.git/blob - dbus.spec
- rel. 12
[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:        12
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:        %{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
58 %if %{with python}
59 BuildRequires:  python-devel >= 2.2
60 Buildrequires:  python-Pyrex >= 0.9.3
61 %endif
62 %{?with_qt:BuildRequires:       qt-devel >= %{qt_version}}
63 BuildRequires:  rpmbuild(macros) >= 1.159
64 PreReq: rc-scripts
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
74 Requires:       xinitrc
75 Provides:       group(messagebus)
76 Provides:       user(messagebus)
77 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
78
79 %description
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.
83
84 %description -l pl
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.
88
89 %package devel
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}
94
95 %description devel
96 Header files for D-BUS.
97
98 %description devel -l pl
99 Pliki nag³ówkowe D-BUS.
100
101 %package libs
102 Summary:        D-BUS libraries
103 Summary(pl):    Biblioteki D-BUS
104 Group:          Libraries
105
106 %description libs
107 D-BUS libraries.
108
109 %description libs -l pl
110 Biblioteki D-BUS.
111
112 %package static
113 Summary:        Static D-BUS libraries
114 Summary(pl):    Statyczne biblioteki D-BUS
115 Group:          Development/Libraries
116 Requires:       %{name}-devel = %{version}-%{release}
117
118 %description static
119 Static D-BUS libraries.
120
121 %description static -l pl
122 Statyczne biblioteki D-BUS.
123
124 %package glib
125 Summary:        GLib-based library for using D-BUS
126 Summary(pl):    Biblioteka do u¿ywania D-BUS oparta o GLib
127 Group:          Libraries
128 Requires:       %{name}-libs = %{version}-%{release}
129
130 %description glib
131 D-BUS add-on library to integrate the standard D-BUS library with the
132 GLib thread abstraction and main loop.
133
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.
137
138 %package glib-devel
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}
145
146 %description glib-devel
147 Header files for GLib-based library for using D-BUS.
148
149 %description glib-devel -l pl
150 Pliki nag³ówkowe biblioteki do u¿ywania D-BUS opartej o GLib.
151
152 %package glib-static
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}
157
158 %description glib-static
159 Static GLib-based library for using D-BUS.
160
161 %description glib-static -l pl
162 Statyczna biblioteka do u¿ywania D-BUS oparta o GLib.
163
164 %package glib-tools
165 Summary:        GLib-based tools for D-BUS
166 Summary(pl):    Narzêdzia dla D-BUS oparte o GLib
167 Group:          Libraries
168 Requires:       %{name} = %{version}-%{release}
169 Requires:       %{name}-glib = %{version}-%{release}
170
171 %description glib-tools
172 GLib-based tools for D-BUS.
173
174 %description glib-tools -l pl
175 Narzêdzia dla D-BUS oparte o GLib
176
177 %package gtk
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}
182
183 %description gtk
184 GTK+-based graphical D-BUS frontend utility.
185
186 %description gtk -l pl
187 Oparte na GTK+ graficzne narzêdzie do D-BUS.
188
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
193 Requires:       mono
194 Requires:       %{name} = %{version}-%{release}
195
196 %description -n dotnet-%{name}-sharp
197 .NET library for using D-BUS.
198
199 %description -n dotnet-%{name}-sharp -l pl
200 Biblioteka .NET do u¿ywania D-BUS.
201
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}
208
209 %description -n dotnet-%{name}-sharp-devel
210 .NET library for using D-BUS, with API documentation.
211
212 %description -n dotnet-%{name}-sharp-devel -l pl
213 Biblioteka .NET do u¿ywania D-BUS, zawiera dokumentacjê API.
214
215 %package qt
216 Summary:        Qt-based library for using D-BUS
217 Summary(pl):    Biblioteka do u¿ywania D-BUS oparta o Qt
218 Group:          Libraries
219 Requires:       %{name} = %{version}-%{release}
220
221 %description qt
222 D-BUS add-on library to integrate the standard D-BUS library with the
223 Qt thread abstraction and main loop.
224
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.
228
229 %package qt-devel
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
236
237 %description qt-devel
238 Header files for Qt-based library for using D-BUS.
239
240 %description qt-devel -l pl
241 Pliki nag³ówkowe biblioteki do u¿ywania D-BUS opartej o Qt.
242
243 %package qt-static
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}
248
249 %description qt-static
250 Static Qt-based library for using D-BUS.
251
252 %description qt-static -l pl
253 Statyczna biblioteka do u¿ywania D-BUS oparta o Qt.
254
255 %package gcj
256 Summary:        Java library for using D-BUS
257 Summary(pl):    Biblioteka do u¿ywania D-BUS oparta o Javê
258 Group:          Libraries
259 Requires:       %{name} = %{version}-%{release}
260
261 %description gcj
262 D-BUS add-on library to integrate the standard D-BUS library with
263 Java.
264
265 %description gcj -l pl
266 Dodatkowa biblioteka D-BUS do integracji standardowej biblioteki D-BUS
267 z Jav±.
268
269 %package gcj-devel
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}
274
275 %description gcj-devel
276 Header files for Java-based library for using D-BUS.
277
278 %description gcj-devel -l pl
279 Pliki nag³ówkowe biblioteki do u¿ywania D-BUS opartej o Javê.
280
281 %package gcj-static
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}
286
287 %description gcj-static
288 Static Java-based library for using D-BUS.
289
290 %description gcj-static -l pl
291 Statyczna biblioteka do u¿ywania D-BUS oparta o Javê.
292
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
296 Group:          Libraries
297 Requires:       %{name}-libs = %{version}-%{release}
298 %pyrequires_eq  python
299
300 %description -n python-dbus
301 D-BUS add-on library to integrate the standard D-BUS library with
302 Python.
303
304 %description -n python-dbus -l pl
305 Dodatkowa biblioteka D-BUS do integracji standardowej biblioteki D-BUS
306 z Pythonem.
307
308 %prep
309 %setup -q
310 %patch0 -p1
311 %patch1 -p1
312 %patch2 -p0
313 %patch3 -p0
314 %patch4 -p0
315 %patch5 -p0
316
317 %build
318 %{__libtoolize}
319 %{__aclocal}
320 %{__autoconf}
321 %{__autoheader}
322 %{__automake}
323 %configure \
324         QTDIR=/usr \
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} \
333         --disable-tests \
334         --enable-verbose-mode \
335         --disable-asserts \
336         --with-xml=expat \
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
340
341
342
343 %{__make} \
344         pythondir=%{py_sitedir}
345
346 %install
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
354 %if %{with dotnet}
355 install -d $RPM_BUILD_ROOT%{_libdir}/monodoc/sources
356 %endif
357
358 %{__make} install \
359         DESTDIR=$RPM_BUILD_ROOT \
360         pythondir=%{py_sitedir}
361
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
366
367 %if %{with python}
368 rm -f $RPM_BUILD_ROOT%{py_sitedir}/*.{py,la,a}
369 %endif
370
371 %clean
372 rm -rf $RPM_BUILD_ROOT
373
374 %pre
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
378                 exit 1
379         fi
380 else
381         /usr/sbin/groupadd -g 122 messagebus 1>&2
382 fi
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
386                 exit 1
387         fi
388 else
389         /usr/sbin/useradd -u 122 -d /usr/share/empty -s /bin/false \
390                 -c "System message bus" -g messagebus messagebus 1>&2
391 fi
392
393 %post
394 /sbin/chkconfig --add messagebus
395 if [ -f /var/lock/subsys/messagebus ]; then
396         /etc/rc.d/init.d/messagebus restart >&2
397 else
398         echo "Run \"/etc/rc.d/init.d/messagebus start\" to start D-Bus daemon."
399 fi
400
401 %preun
402 if [ "$1" = "0" ];then
403         if [ -f /var/lock/subsys/messagebus ]; then
404                 /etc/rc.d/init.d/messagebus stop >&2
405         fi
406         /sbin/chkconfig --del messagebus
407 fi
408
409 %postun
410 if [ "$1" = "0" ]; then
411         %userremove messagebus
412         %groupremove messagebus
413 fi
414
415 %post   libs -p /sbin/ldconfig
416 %postun libs -p /sbin/ldconfig
417                 
418 %post   glib -p /sbin/ldconfig
419 %postun glib -p /sbin/ldconfig
420
421 %post   qt -p /sbin/ldconfig
422 %postun qt -p /sbin/ldconfig
423
424 %post   gcj -p /sbin/ldconfig
425 %postun gcj -p /sbin/ldconfig
426
427 %files
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*
447
448 %files libs
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-*
453
454 %files devel
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
461 %{_includedir}/dbus*
462 %{?with_glib:%exclude %{_includedir}/dbus*/dbus/dbus-glib*.h}
463 %{?with_qt:%exclude %{_includedir}/dbus*/dbus/dbus-qt.h}
464
465 %files static
466 %defattr(644,root,root,755)
467 %{_libdir}/libdbus-1.a
468
469 %if %{with glib}
470 %files glib
471 %defattr(644,root,root,755)
472 %attr(755,root,root) %{_libdir}/libdbus-glib-1.so.*.*.*
473
474 %files glib-devel
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
481
482 %files glib-static
483 %defattr(644,root,root,755)
484 %{_libdir}/libdbus-glib-1.a
485
486 %files glib-tools
487 %defattr(644,root,root,755)
488 %attr(755,root,root) %{_bindir}/dbus-monitor
489 %{_mandir}/man1/dbus-monitor.1*
490 %endif
491
492 %if %{with gtk}
493 %files gtk
494 %defattr(644,root,root,755)
495 %attr(755,root,root) %{_bindir}/dbus-viewer
496 %endif
497
498 %if %{with dotnet}
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/*
503
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
510 %endif
511
512 %if %{with qt}
513 %files qt
514 %defattr(644,root,root,755)
515 %attr(755,root,root) %{_libdir}/libdbus-qt-1.so.*.*.*
516
517 %files qt-devel
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
522
523 %files qt-static
524 %defattr(644,root,root,755)
525 %{_libdir}/libdbus-qt-1.a
526 %endif
527
528 %if %{with gcj}
529 %files gcj
530 %defattr(644,root,root,755)
531 %attr(755,root,root) %{_libdir}/lib*gcj*.so.*.*.*
532
533 %files gcj-devel
534 %defattr(644,root,root,755)
535 %attr(755,root,root) %{_libdir}/lib*gcj*.so
536 %{_libdir}/lib*gcj*.la
537 %{_datadir}/java/*.jar
538
539 %files gcj-static
540 %defattr(644,root,root,755)
541 %{_libdir}/lib*gcj*.a
542 %endif
543
544 %if %{with python}
545 %files -n python-dbus
546 %defattr(644,root,root,755)
547 %attr(755,root,root) %{py_sitedir}/*.so
548 %{py_sitedir}/*.py[co]
549 %endif
This page took 0.157893 seconds and 3 git commands to generate.