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