]> git.pld-linux.org Git - packages/PackageKit.git/blob - PackageKit.spec
Add note about dbus interface xmls being used at runtime
[packages/PackageKit.git] / PackageKit.spec
1 # TODO:
2 # - send poldek patch upstream
3 # - BASH command-not-found functionality disabled for now as it needs patched bash
4 #   (details in bash from Fedora Rawhide)
5 #
6 # Conditional build:
7 %bcond_without  doc     # build without docs
8 %bcond_without  gir     # gobject introspection, time to time broken
9 %bcond_without  poldek  # build Poldek backend
10 %bcond_without  smart   # build SMART backend
11 %bcond_without  yum     # build YUM backend
12 %bcond_with     browser # build browser plugin (patrys says: it's flawed by concept)
13
14 # default backend, configurable at runtime
15 %define         backend poldek
16
17 Summary:        System daemon that is a D-Bus abstraction layer for package management
18 Summary(pl.UTF-8):      Demon systemowy będący warstwą abstrakcji D-Bus do zarządzania pakietami
19 Name:           PackageKit
20 Version:        0.8.11
21 Release:        1
22 License:        GPL v2+
23 Group:          Applications/System
24 Source0:        http://www.packagekit.org/releases/%{name}-%{version}.tar.xz
25 # Source0-md5:  676ebf95830373b84d5599f4e5039b72
26 Patch0:         %{name}-poldek.patch
27 Patch1:         %{name}-PLD.patch
28 Patch2:         bashism.patch
29 Patch3:         smart-at-fix.patch
30 Patch4:         %{name}-gstreamer.patch
31 Patch5:         %{name}-bashcomp.patch
32 Patch6:         %{name}-connman.patch
33 URL:            http://www.packagekit.org/
34 BuildRequires:  NetworkManager-devel >= 0.6.5
35 BuildRequires:  autoconf >= 2.65
36 BuildRequires:  automake >= 1:1.11
37 BuildRequires:  connman-devel
38 BuildRequires:  dbus-devel >= 1.2.0
39 BuildRequires:  dbus-glib-devel >= 0.76
40 BuildRequires:  docbook-dtd412-xml
41 BuildRequires:  docbook-dtd42-xml
42 BuildRequires:  fontconfig-devel
43 BuildRequires:  gettext-devel
44 BuildRequires:  glib2-devel >= 1:2.30.0
45 %{?with_gir:BuildRequires:      gobject-introspection-devel >= 0.9.9}
46 BuildRequires:  gstreamer-devel >= 1.0.0
47 BuildRequires:  gstreamer-plugins-base-devel >= 1.0.0
48 BuildRequires:  gtk+2-devel >= 2:2.14.0
49 BuildRequires:  gtk+3-devel >= 3.0.0
50 %{?with_doc:BuildRequires:      gtk-doc >= 1.11}
51 BuildRequires:  intltool >= 0.35.0
52 BuildRequires:  libarchive-devel
53 BuildRequires:  libtool
54 BuildRequires:  libxslt-progs
55 BuildRequires:  pango-devel
56 BuildRequires:  pkgconfig
57 BuildRequires:  pm-utils
58 %{?with_poldek:BuildRequires:   poldek-devel >= 0.30-1.rc6.4}
59 BuildRequires:  polkit-devel >= 0.98
60 BuildRequires:  python-devel >= 1:2.7
61 BuildRequires:  readline-devel
62 BuildRequires:  rpm-pythonprov
63 BuildRequires:  rpmbuild(macros) >= 1.311
64 BuildRequires:  sqlite3-devel >= 3
65 BuildRequires:  systemd-devel
66 BuildRequires:  tar >= 1:1.22
67 BuildRequires:  udev-glib-devel
68 BuildRequires:  xz
69 %if %{with browser}
70 BuildRequires:  cairo-devel
71 BuildRequires:  nspr-devel >= 4.8
72 BuildRequires:  xulrunner-devel >= 8.0
73 %endif
74 Requires(post,postun):  shared-mime-info
75 Requires:       %{name}-backend
76 Requires:       %{name}-libs = %{version}-%{release}
77 Requires:       ConsoleKit-x11
78 Requires:       crondaemon
79 Requires:       polkit >= 0.92
80 Obsoletes:      PackageKit-docs < 0.8.4
81 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
82
83 %description
84 PackageKit is a D-Bus abstraction layer that allows the session user
85 to manage packages in a secure way using a cross-distro,
86 cross-architecture API.
87
88 %description -l pl.UTF-8
89 PackageKit to warstwa abstrakcji D-Bus pozwalająca użytkownikowi
90 sesyjnemu w bezpieczny sposob zarządzać pakietami przy użyciu API
91 zgodnego z wieloma dystrybucjami i architekturami.
92
93 %package libs
94 Summary:        packagekit-glib library
95 Summary(pl.UTF-8):      Biblioteka packagekit-glib
96 Group:          Libraries
97 Requires:       glib2 >= 1:2.30.0
98
99 %description libs
100 packagekit-glib library.
101
102 %description libs -l pl.UTF-8
103 Biblioteka packagekit-glib.
104
105 %package devel
106 Summary:        Header files for packagekit-glib library
107 Summary(pl.UTF-8):      Pliki nagłówkowe biblioteki packagekit-glib
108 Group:          Development/Libraries
109 Requires:       %{name}-libs = %{version}-%{release}
110 Requires:       dbus-devel >= 1.2.0
111 Requires:       glib2-devel >= 1:2.30.0
112 Requires:       sqlite3-devel
113
114 %description devel
115 Header files for packagekit-glib library.
116
117 %description devel -l pl.UTF-8
118 Pliki nagłówkowe biblioteki packagekit-glib.
119
120 %package static
121 Summary:        Static packagekit-glib library
122 Summary(pl.UTF-8):      Statyczna biblioteka packagekit-glib
123 Group:          Development/Libraries
124 Requires:       %{name}-devel = %{version}-%{release}
125
126 %description static
127 Static packagekit-glib library.
128
129 %description static -l pl.UTF-8
130 Statyczna biblioteka packagekit-glib.
131
132 %package apidocs
133 Summary:        PackageKit library API documentation
134 Summary(pl.UTF-8):      Dokumentacja API biblioteki PackageKit
135 Group:          Documentation
136 Requires:       gtk-doc-common
137
138 %description apidocs
139 PackageKit library API documentation.
140
141 %description apidocs -l pl.UTF-8
142 Dokumentacja API biblioteki PackageKit.
143
144 %package backend-poldek
145 Summary:        PackageKit Poldek backend
146 Summary(pl.UTF-8):      Backend PackageKit oparty na Poldku
147 Group:          Libraries
148 Requires:       %{name} = %{version}-%{release}
149 Requires:       poldek >= 0.30-1.rc6.4
150 Provides:       %{name}-backend = %{version}-%{release}
151 Conflicts:      PackageKit < 0.6.8-3
152
153 %description backend-poldek
154 A backend for PackageKit to enable Poldek functionality.
155
156 %description backend-poldek -l pl.UTF-8
157 Backend PackageKit dodający obsługę Poldka.
158
159 %package backend-smart
160 Summary:        PackageKit SMART backend
161 Summary(pl.UTF-8):      Backend PackageKit oparty na zarządcy pakietów SMART
162 Group:          Libraries
163 Requires:       %{name} = %{version}-%{release}
164 Requires:       smart
165
166 %description backend-smart
167 A backend for PackageKit to enable SMART functionality.
168
169 %description backend-smart -l pl.UTF-8
170 Backend PackageKit dodający obsługę zarządcy pakietów SMART.
171
172 %package backend-yum
173 Summary:        PackageKit YUM backend
174 Summary(pl.UTF-8):      Backend PackageKit oparty na Yumie
175 Group:          Libraries
176 Requires:       %{name} = %{version}-%{release}
177 Requires:       python-packagekit = %{version}-%{release}
178 Requires:       yum >= 3.2.19
179 Provides:       %{name}-backend = %{version}-%{release}
180
181 %description backend-yum
182 A backend for PackageKit to enable yum functionality.
183
184 %description backend-yum -l pl.UTF-8
185 Backend PackageKit dodający obsługę Yuma.
186
187 %package gstreamer-plugin
188 Summary:        GStreamer codecs installer
189 Summary(pl.UTF-8):      Instalator kodeków GStreamera
190 Group:          Applications
191 Requires:       %{name} = %{version}-%{release}
192 Requires:       %{name}-gtk-module = %{version}-%{release}
193
194 %description gstreamer-plugin
195 The PackageKit GStreamer plugin allows any GStreamer application to
196 install codecs from configured repositories using PackageKit.
197
198 %description gstreamer-plugin -l pl.UTF-8
199 Wtyczka GStreamer pozwala każdej aplikacji używającej GStreamera
200 zainstalować kodeki ze skonfigurowanych źródeł PackageKit.
201
202 %package gtk-module
203 Summary:        GTK+ module to detect and install missing fonts
204 Summary(pl.UTF-8):      Moduł GTK+ do wykrywania i instalowania brakujących czcionek
205 Group:          X11/Libraries
206
207 %description gtk-module
208 The PackageKit GTK+ module allows any pango application to install
209 missing fonts from configured repositories using PackageKit.
210
211 %description gtk-module -l pl.UTF-8
212 Moduł GTK+ pozwala każdej aplikacji używającej pango zainstalować
213 brakującą czcionkę ze skonfigurowanych źródeł PackageKit.
214
215 %package gtk3-module
216 Summary:        GTK+ 3.x module to detect and install missing fonts
217 Summary(pl.UTF-8):      Moduł GTK+ 3.x do wykrywania i instalowania brakujących czcionek
218 Group:          X11/Libraries
219
220 %description gtk3-module
221 The PackageKit GTK+ 3.x module allows any pango application to install
222 missing fonts from configured repositories using PackageKit.
223
224 %description gtk3-module -l pl.UTF-8
225 Moduł GTK+ 3.x pozwala każdej aplikacji używającej pango zainstalować
226 brakującą czcionkę ze skonfigurowanych źródeł PackageKit.
227
228 %package -n bash-completion-packagekit
229 Summary:        Bash completion for PackageKit console commands
230 Summary(pl.UTF-8):      Bashowe uzupełnianie parametrów dla poleceń konsolowych PackageKit
231 Group:          Applications/Shells
232 Requires:       %{name} = %{version}-%{release}
233 Requires:       bash-completion >= 2
234
235 %description -n bash-completion-packagekit
236 This package provides bash-completion for PackageKit console commands.
237
238 %description -n bash-completion-packagekit -l pl.UTF-8
239 Pakiet ten dostarcza bashowe uzupełnianie parametrów dla poleceń
240 konsolowych PackageKit.
241
242 %package -n pm-utils-packagekit
243 Summary:        PackageKit script for pm-utils
244 Summary(pl.UTF-8):      Skrypt PackageKit dla pm-utils
245 Group:          Applications/System
246 Requires:       pm-utils
247
248 %description -n pm-utils-packagekit
249 PackageKit script for pm-utils.
250
251 %description -n pm-utils-packagekit -l pl.UTF-8
252 Skrypt PackageKit dla pm-utils.
253
254 %package -n python-packagekit
255 Summary:        PackageKit Python bindings
256 Summary(pl.UTF-8):      Wiązania PackageKit dla Pythona
257 Group:          Development/Languages/Python
258 Requires:       python-dbus
259 Requires:       python-pygobject
260
261 %description -n python-packagekit
262 PackageKit Python bindings.
263
264 %description -n python-packagekit -l pl.UTF-8
265 Wiązania PackageKit dla Pythona.
266
267 %package -n browser-plugin-packagekit
268 Summary:        PackageKit's browser plugin
269 Summary(pl.UTF-8):      Wtyczka PackageKit do przeglądarek WWW
270 Group:          X11/Libraries
271 Requires:       %{name} = %{version}-%{release}
272 Requires:       browser-plugins >= 2.0
273 Requires:       browser-plugins(%{_target_base_arch})
274
275 %description -n browser-plugin-packagekit
276 PackageKit's plugin for browsers.
277
278 %description -n browser-plugin-packagekit -l pl.UTF-8
279 Wtyczka PackageKit do przeglądarek WWW.
280
281 %prep
282 %setup -q
283 %patch0 -p1
284 %patch1 -p1
285 %patch2 -p1
286 %patch3 -p0
287 %patch4 -p1
288 %patch5 -p1
289 %patch6 -p1
290
291 %build
292 %if %{with doc}
293 %{__gtkdocize}
294 %endif
295 %{__intltoolize}
296 %{__libtoolize}
297 %{__aclocal} -I m4
298 %{__autoconf}
299 %{__autoheader}
300 %{__automake}
301 %configure \
302         --disable-command-not-found \
303         --disable-dummy \
304         %{!?with_doc:--disable-gtk-doc} \
305         %{!?with_gir:--disable-introspection} \
306         --disable-silent-rules \
307         --enable-bash-completion=%{bash_compdir} \
308         %{__enable_disable browser browser-plugin} \
309         %{__enable_disable poldek} \
310         %{__enable_disable smart} \
311         %{__enable_disable yum} \
312         --with-default-backend=%{backend} \
313         --with-html-dir=%{_gtkdocdir} \
314         --with-mozilla-plugin-dir=%{_browserpluginsdir} \
315         --with-security-framework=polkit
316 %{__make}
317
318 %install
319 rm -rf $RPM_BUILD_ROOT
320
321 %{__make} install \
322         DESTDIR=$RPM_BUILD_ROOT
323
324 # use pk-gstreamer-install as codec installer
325 ln -s pk-gstreamer-install $RPM_BUILD_ROOT%{_libdir}/gst-install-plugins-helper
326
327 install -d $RPM_BUILD_ROOT%{_libdir}/pm-utils/sleep.d
328 install -p contrib/pm-utils/95packagekit $RPM_BUILD_ROOT%{_libdir}/pm-utils/sleep.d
329
330 %{__rm} $RPM_BUILD_ROOT%{_libdir}/gtk-{2,3}.0/modules/*.{la,a}
331 %{__rm} $RPM_BUILD_ROOT%{_libdir}/packagekit-backend/*.{la,a}
332 %{__rm} $RPM_BUILD_ROOT%{_libdir}/packagekit-backend/libpk_backend_test_*.so
333 %{__rm} $RPM_BUILD_ROOT%{_libdir}/packagekit-plugins/*.{la,a}
334 %{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
335 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/PackageKit/helpers/test_spawn
336
337 %if %{with browser}
338 %{__rm} $RPM_BUILD_ROOT%{_browserpluginsdir}/*.{la,a}
339 %endif
340
341 %if %{with yum}
342 # yumBackend.py can't be compiled (invoked directly), other should be compiled
343 %py_comp $RPM_BUILD_ROOT%{_datadir}/PackageKit/helpers/yum
344 %py_ocomp $RPM_BUILD_ROOT%{_datadir}/PackageKit/helpers/yum
345 %{__rm} $RPM_BUILD_ROOT%{_datadir}/PackageKit/helpers/yum/yum{Comps,Filter}.py
346 %{__rm} $RPM_BUILD_ROOT%{_datadir}/PackageKit/helpers/yum/yumBackend.py[co]
347 %endif
348
349 # outdated copy of it
350 %{__rm} -r $RPM_BUILD_ROOT%{_localedir}/it_IT
351
352 %py_postclean
353
354 %find_lang %{name}
355
356 %clean
357 rm -rf $RPM_BUILD_ROOT
358
359 %post
360 %update_mime_database
361
362 %postun
363 %update_mime_database
364
365 %post   libs -p /sbin/ldconfig
366 %postun libs -p /sbin/ldconfig
367
368 %post -n browser-plugin-packagekit
369 %update_browser_plugins
370
371 %postun -n browser-plugin-packagekit
372 if [ "$1" = 0 ]; then
373         %update_browser_plugins
374 fi
375
376 %files -f %{name}.lang
377 %defattr(644,root,root,755)
378 %doc AUTHORS HACKING MAINTAINERS NEWS README TODO
379 %attr(755,root,root) %{_bindir}/packagekit-bugreport.sh
380 %attr(755,root,root) %{_bindir}/pkcon
381 %attr(755,root,root) %{_bindir}/pkgenpack
382 %attr(755,root,root) %{_bindir}/pkmon
383 %attr(755,root,root) %{_bindir}/pk-debuginfo-install
384 %attr(750,root,root) /etc/cron.daily/packagekit-background.cron
385 %dir %{_libdir}/packagekit-backend
386 %dir %{_libdir}/packagekit-plugins
387 %attr(755,root,root) %{_libdir}/packagekit-plugins/libpk_plugin-check-shared-libraries-in-use.so
388 %attr(755,root,root) %{_libdir}/packagekit-plugins/libpk_plugin-clear-firmware-requests.so
389 %attr(755,root,root) %{_libdir}/packagekit-plugins/libpk_plugin-no-update-process.so
390 %attr(755,root,root) %{_libdir}/packagekit-plugins/libpk_plugin-require-restart.so
391 %attr(755,root,root) %{_libdir}/packagekit-plugins/libpk_plugin-scan-desktop-files.so
392 %attr(755,root,root) %{_libdir}/packagekit-plugins/libpk_plugin-systemd-updates.so
393 %attr(755,root,root) %{_libdir}/packagekit-plugins/libpk_plugin-update-check-processes.so
394 %attr(755,root,root) %{_libdir}/packagekit-plugins/libpk_plugin-update-package-cache.so
395 %attr(755,root,root) %{_libdir}/packagekit-plugins/libpk_plugin_scripts.so
396 %attr(755,root,root) %{_libdir}/packagekitd
397 %attr(755,root,root) %{_libdir}/pk-clear-offline-update
398 %attr(755,root,root) %{_libdir}/pk-offline-update
399 %attr(755,root,root) %{_libdir}/pk-trigger-offline-update
400 %attr(755,root,root) %{_sbindir}/pk-device-rebind
401 %dir %{_sysconfdir}/PackageKit
402 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/PackageKit/PackageKit.conf
403 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/PackageKit/Vendor.conf
404 %dir %{_sysconfdir}/PackageKit/events
405 %{_sysconfdir}/PackageKit/events/post-transaction.d
406 %{_sysconfdir}/PackageKit/events/pre-transaction.d
407 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/packagekit-background
408 /etc/dbus-1/system.d/org.freedesktop.PackageKit.conf
409 %dir %{_datadir}/PackageKit
410 %dir %{_datadir}/PackageKit/helpers
411 %attr(755,root,root) %{_datadir}/PackageKit/pk-upgrade-distro.sh
412 %{_datadir}/polkit-1/actions/org.freedesktop.packagekit.policy
413 %{_datadir}/polkit-1/rules.d/org.freedesktop.packagekit.rules
414 # NOTE: dbus interface xmls are used at runtime by packagekitd
415 %{_datadir}/dbus-1/interfaces/org.freedesktop.PackageKit.Transaction.xml
416 %{_datadir}/dbus-1/interfaces/org.freedesktop.PackageKit.xml
417 %{_datadir}/dbus-1/system-services/org.freedesktop.PackageKit.service
418 %{_datadir}/mime/packages/packagekit-catalog.xml
419 %{_datadir}/mime/packages/packagekit-package-list.xml
420 %{_datadir}/mime/packages/packagekit-servicepack.xml
421 %{_mandir}/man1/pkcon.1*
422 %{_mandir}/man1/pk-debuginfo-install.1*
423 %{_mandir}/man1/pk-device-rebind.1*
424 %{_mandir}/man1/pkgenpack.1*
425 %{_mandir}/man1/pkmon.1*
426 %{systemdunitdir}/packagekit-offline-update.service
427 %dir /var/cache/PackageKit
428 %dir /var/cache/PackageKit/downloads
429 %dir /var/lib/PackageKit
430 %ghost /var/lib/PackageKit/transactions.db
431
432 %files libs
433 %defattr(644,root,root,755)
434 %attr(755,root,root) %{_libdir}/libpackagekit-glib2.so.*.*.*
435 %attr(755,root,root) %ghost %{_libdir}/libpackagekit-glib2.so.16
436 %{_libdir}/girepository-1.0/PackageKitGlib-1.0.typelib
437 %{_libdir}/girepository-1.0/PackageKitPlugin-1.0.typelib
438
439 %files devel
440 %defattr(644,root,root,755)
441 %attr(755,root,root) %{_libdir}/libpackagekit-glib2.so
442 %{_pkgconfigdir}/packagekit-glib2.pc
443 %{_pkgconfigdir}/packagekit-plugin.pc
444 %dir %{_includedir}/PackageKit
445 %{_includedir}/PackageKit/packagekit-glib2
446 %{_includedir}/PackageKit/plugin
447 %{_datadir}/gir-1.0/PackageKitGlib-1.0.gir
448 %{_datadir}/gir-1.0/PackageKitPlugin-1.0.gir
449
450 %files static
451 %defattr(644,root,root,755)
452 %{_libdir}/libpackagekit-glib2.a
453
454 %files apidocs
455 %defattr(644,root,root,755)
456 %{_gtkdocdir}/PackageKit
457
458 %if %{with poldek}
459 %files backend-poldek
460 %defattr(644,root,root,755)
461 %attr(755,root,root) %{_libdir}/packagekit-backend/libpk_backend_poldek.so
462 %endif
463
464 %if %{with smart}
465 %files backend-smart
466 %defattr(644,root,root,755)
467 %{_libdir}/packagekit-backend/libpk_backend_smart.so
468 %dir %{_datadir}/PackageKit/helpers/smart
469 %attr(755,root,root) %{_datadir}/PackageKit/helpers/smart/smartBackend.py
470 %endif
471
472 %if %{with yum}
473 %files backend-yum
474 %defattr(644,root,root,755)
475 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/PackageKit/Yum.conf
476 %attr(755,root,root) %{_libdir}/packagekit-backend/libpk_backend_yum.so
477 %dir %{_datadir}/PackageKit/helpers/yum
478 %{_datadir}/PackageKit/helpers/yum/licenses.txt
479 %{_datadir}/PackageKit/helpers/yum/yum-comps-groups.conf
480 %attr(755,root,root) %{_datadir}/PackageKit/helpers/yum/yumBackend.py
481 %{_datadir}/PackageKit/helpers/yum/yumComps.py[co]
482 %{_datadir}/PackageKit/helpers/yum/yumFilter.py[co]
483
484 # yum plugin
485 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/yum/pluginconf.d/refresh-packagekit.conf
486 %{_prefix}/lib/yum-plugins/refresh-packagekit.py
487 %endif
488
489 %files gstreamer-plugin
490 %defattr(644,root,root,755)
491 %doc contrib/gstreamer-plugin/README
492 %attr(755,root,root) %{_libdir}/gst-install-plugins-helper
493 %attr(755,root,root) %{_libdir}/pk-gstreamer-install
494
495 %files gtk-module
496 %defattr(644,root,root,755)
497 %doc contrib/gtk-module/{GLASS.txt,README}
498 %attr(755,root,root) %{_libdir}/gtk-2.0/modules/libpk-gtk-module.so
499
500 %files gtk3-module
501 %defattr(644,root,root,755)
502 %attr(755,root,root) %{_libdir}/gtk-3.0/modules/libpk-gtk-module.so
503 %{_libdir}/gnome-settings-daemon-3.0/gtk-modules/pk-gtk-module.desktop
504
505 %files -n bash-completion-packagekit
506 %defattr(644,root,root,755)
507 %{bash_compdir}/pkcon
508
509 %files -n pm-utils-packagekit
510 %defattr(644,root,root,755)
511 %attr(755,root,root) %{_libdir}/pm-utils/sleep.d/95packagekit
512
513 %files -n python-packagekit
514 %defattr(644,root,root,755)
515 %dir %{py_sitescriptdir}/packagekit
516 %{py_sitescriptdir}/packagekit/*.py[co]
517
518 %if %{with browser}
519 %files -n browser-plugin-packagekit
520 %defattr(644,root,root,755)
521 %attr(755,root,root) %{_browserpluginsdir}/packagekit-plugin.so
522 %endif
This page took 0.071634 seconds and 4 git commands to generate.