]> git.pld-linux.org Git - packages/PackageKit.git/blob - PackageKit.spec
do not use dot in run-parts scanned dir
[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:        2
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 mv $RPM_BUILD_ROOT/etc/cron.daily/packagekit-background{.cron,}
325
326 # use pk-gstreamer-install as codec installer
327 ln -s pk-gstreamer-install $RPM_BUILD_ROOT%{_libdir}/gst-install-plugins-helper
328
329 install -d $RPM_BUILD_ROOT%{_libdir}/pm-utils/sleep.d
330 install -p contrib/pm-utils/95packagekit $RPM_BUILD_ROOT%{_libdir}/pm-utils/sleep.d
331
332 %{__rm} $RPM_BUILD_ROOT%{_libdir}/gtk-{2,3}.0/modules/*.{la,a}
333 %{__rm} $RPM_BUILD_ROOT%{_libdir}/packagekit-backend/*.{la,a}
334 %{__rm} $RPM_BUILD_ROOT%{_libdir}/packagekit-backend/libpk_backend_test_*.so
335 %{__rm} $RPM_BUILD_ROOT%{_libdir}/packagekit-plugins/*.{la,a}
336 %{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
337 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/PackageKit/helpers/test_spawn
338
339 %if %{with browser}
340 %{__rm} $RPM_BUILD_ROOT%{_browserpluginsdir}/*.{la,a}
341 %endif
342
343 %if %{with yum}
344 # yumBackend.py can't be compiled (invoked directly), other should be compiled
345 %py_comp $RPM_BUILD_ROOT%{_datadir}/PackageKit/helpers/yum
346 %py_ocomp $RPM_BUILD_ROOT%{_datadir}/PackageKit/helpers/yum
347 %{__rm} $RPM_BUILD_ROOT%{_datadir}/PackageKit/helpers/yum/yum{Comps,Filter}.py
348 %{__rm} $RPM_BUILD_ROOT%{_datadir}/PackageKit/helpers/yum/yumBackend.py[co]
349 %endif
350
351 # outdated copy of it
352 %{__rm} -r $RPM_BUILD_ROOT%{_localedir}/it_IT
353
354 %py_postclean
355
356 %find_lang %{name}
357
358 %clean
359 rm -rf $RPM_BUILD_ROOT
360
361 %post
362 %update_mime_database
363
364 %postun
365 %update_mime_database
366
367 %post   libs -p /sbin/ldconfig
368 %postun libs -p /sbin/ldconfig
369
370 %post -n browser-plugin-packagekit
371 %update_browser_plugins
372
373 %postun -n browser-plugin-packagekit
374 if [ "$1" = 0 ]; then
375         %update_browser_plugins
376 fi
377
378 %files -f %{name}.lang
379 %defattr(644,root,root,755)
380 %doc AUTHORS HACKING MAINTAINERS NEWS README TODO
381 %attr(755,root,root) %{_bindir}/packagekit-bugreport.sh
382 %attr(755,root,root) %{_bindir}/pkcon
383 %attr(755,root,root) %{_bindir}/pkgenpack
384 %attr(755,root,root) %{_bindir}/pkmon
385 %attr(755,root,root) %{_bindir}/pk-debuginfo-install
386 %attr(750,root,root) /etc/cron.daily/packagekit-background
387 %dir %{_libdir}/packagekit-backend
388 %dir %{_libdir}/packagekit-plugins
389 %attr(755,root,root) %{_libdir}/packagekit-plugins/libpk_plugin-check-shared-libraries-in-use.so
390 %attr(755,root,root) %{_libdir}/packagekit-plugins/libpk_plugin-clear-firmware-requests.so
391 %attr(755,root,root) %{_libdir}/packagekit-plugins/libpk_plugin-no-update-process.so
392 %attr(755,root,root) %{_libdir}/packagekit-plugins/libpk_plugin-require-restart.so
393 %attr(755,root,root) %{_libdir}/packagekit-plugins/libpk_plugin-scan-desktop-files.so
394 %attr(755,root,root) %{_libdir}/packagekit-plugins/libpk_plugin-systemd-updates.so
395 %attr(755,root,root) %{_libdir}/packagekit-plugins/libpk_plugin-update-check-processes.so
396 %attr(755,root,root) %{_libdir}/packagekit-plugins/libpk_plugin-update-package-cache.so
397 %attr(755,root,root) %{_libdir}/packagekit-plugins/libpk_plugin_scripts.so
398 %attr(755,root,root) %{_libdir}/packagekitd
399 %attr(755,root,root) %{_libdir}/pk-clear-offline-update
400 %attr(755,root,root) %{_libdir}/pk-offline-update
401 %attr(755,root,root) %{_libdir}/pk-trigger-offline-update
402 %attr(755,root,root) %{_sbindir}/pk-device-rebind
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 %{_datadir}/mime/packages/packagekit-catalog.xml
418 %{_datadir}/mime/packages/packagekit-package-list.xml
419 %{_datadir}/mime/packages/packagekit-servicepack.xml
420 %{_mandir}/man1/pkcon.1*
421 %{_mandir}/man1/pk-debuginfo-install.1*
422 %{_mandir}/man1/pk-device-rebind.1*
423 %{_mandir}/man1/pkgenpack.1*
424 %{_mandir}/man1/pkmon.1*
425 %{systemdunitdir}/packagekit-offline-update.service
426 %dir /var/cache/PackageKit
427 %dir /var/cache/PackageKit/downloads
428 %dir /var/lib/PackageKit
429 %ghost /var/lib/PackageKit/transactions.db
430
431 %files libs
432 %defattr(644,root,root,755)
433 %attr(755,root,root) %{_libdir}/libpackagekit-glib2.so.*.*.*
434 %attr(755,root,root) %ghost %{_libdir}/libpackagekit-glib2.so.16
435 %{_libdir}/girepository-1.0/PackageKitGlib-1.0.typelib
436 %{_libdir}/girepository-1.0/PackageKitPlugin-1.0.typelib
437 # NOTE: dbus interface xmls are commonly used:
438 # - at runtime by packagekitd
439 # - for development of applications using PK dbus interface
440 %{_datadir}/dbus-1/interfaces/org.freedesktop.PackageKit.Transaction.xml
441 %{_datadir}/dbus-1/interfaces/org.freedesktop.PackageKit.xml
442
443 %files devel
444 %defattr(644,root,root,755)
445 %attr(755,root,root) %{_libdir}/libpackagekit-glib2.so
446 %{_pkgconfigdir}/packagekit-glib2.pc
447 %{_pkgconfigdir}/packagekit-plugin.pc
448 %dir %{_includedir}/PackageKit
449 %{_includedir}/PackageKit/packagekit-glib2
450 %{_includedir}/PackageKit/plugin
451 %{_datadir}/gir-1.0/PackageKitGlib-1.0.gir
452 %{_datadir}/gir-1.0/PackageKitPlugin-1.0.gir
453
454 %files static
455 %defattr(644,root,root,755)
456 %{_libdir}/libpackagekit-glib2.a
457
458 %files apidocs
459 %defattr(644,root,root,755)
460 %{_gtkdocdir}/PackageKit
461
462 %if %{with poldek}
463 %files backend-poldek
464 %defattr(644,root,root,755)
465 %attr(755,root,root) %{_libdir}/packagekit-backend/libpk_backend_poldek.so
466 %endif
467
468 %if %{with smart}
469 %files backend-smart
470 %defattr(644,root,root,755)
471 %{_libdir}/packagekit-backend/libpk_backend_smart.so
472 %dir %{_datadir}/PackageKit/helpers/smart
473 %attr(755,root,root) %{_datadir}/PackageKit/helpers/smart/smartBackend.py
474 %endif
475
476 %if %{with yum}
477 %files backend-yum
478 %defattr(644,root,root,755)
479 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/PackageKit/Yum.conf
480 %attr(755,root,root) %{_libdir}/packagekit-backend/libpk_backend_yum.so
481 %dir %{_datadir}/PackageKit/helpers/yum
482 %{_datadir}/PackageKit/helpers/yum/licenses.txt
483 %{_datadir}/PackageKit/helpers/yum/yum-comps-groups.conf
484 %attr(755,root,root) %{_datadir}/PackageKit/helpers/yum/yumBackend.py
485 %{_datadir}/PackageKit/helpers/yum/yumComps.py[co]
486 %{_datadir}/PackageKit/helpers/yum/yumFilter.py[co]
487
488 # yum plugin
489 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/yum/pluginconf.d/refresh-packagekit.conf
490 %{_prefix}/lib/yum-plugins/refresh-packagekit.py
491 %endif
492
493 %files gstreamer-plugin
494 %defattr(644,root,root,755)
495 %doc contrib/gstreamer-plugin/README
496 %attr(755,root,root) %{_libdir}/gst-install-plugins-helper
497 %attr(755,root,root) %{_libdir}/pk-gstreamer-install
498
499 %files gtk-module
500 %defattr(644,root,root,755)
501 %doc contrib/gtk-module/{GLASS.txt,README}
502 %attr(755,root,root) %{_libdir}/gtk-2.0/modules/libpk-gtk-module.so
503
504 %files gtk3-module
505 %defattr(644,root,root,755)
506 %attr(755,root,root) %{_libdir}/gtk-3.0/modules/libpk-gtk-module.so
507 %{_libdir}/gnome-settings-daemon-3.0/gtk-modules/pk-gtk-module.desktop
508
509 %files -n bash-completion-packagekit
510 %defattr(644,root,root,755)
511 %{bash_compdir}/pkcon
512
513 %files -n pm-utils-packagekit
514 %defattr(644,root,root,755)
515 %attr(755,root,root) %{_libdir}/pm-utils/sleep.d/95packagekit
516
517 %files -n python-packagekit
518 %defattr(644,root,root,755)
519 %dir %{py_sitescriptdir}/packagekit
520 %{py_sitescriptdir}/packagekit/*.py[co]
521
522 %if %{with browser}
523 %files -n browser-plugin-packagekit
524 %defattr(644,root,root,755)
525 %attr(755,root,root) %{_browserpluginsdir}/packagekit-plugin.so
526 %endif
This page took 0.098802 seconds and 4 git commands to generate.