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