]> git.pld-linux.org Git - packages/PackageKit.git/blobdiff - PackageKit.spec
Merge branch 'master' of git://git.pld-linux.org/packages/PackageKit
[packages/PackageKit.git] / PackageKit.spec
index c215f3f9316d85fe65629d62c51ab22494ebf994..a53551d3ce92c15646fdf66c6a2aae08e3dc855d 100644 (file)
@@ -1,34 +1,76 @@
-Summary:       System daemon that is a D-BUS abstraction layer for package management
+# TODO:
+# - BASH command-not-found functionality disabled for now as it needs patched bash
+#   (details in bash from Fedora Rawhide)
+#
+# Conditional build:
+%bcond_without doc             # build without docs
+%bcond_without introspection   # gobject introspection, time to time broken
+%bcond_without poldek          # Poldek backend
+%bcond_with    python          # Python binding (only for a few backends)
+%bcond_with    browser         # browser plugin (patrys says: it's flawed by concept)
+
+Summary:       System daemon that is a D-Bus abstraction layer for package management
+Summary(pl.UTF-8):     Demon systemowy będący warstwą abstrakcji D-Bus do zarządzania pakietami
 Name:          PackageKit
-Version:       0.3.1
+Version:       1.0.4
 Release:       1
 License:       GPL v2+
-Group:         Applications
-Source0:       http://www.packagekit.org/releases/%{name}-%{version}.tar.gz
-# Source0-md5: e7586a3560e76966d2968946fbe7f846
+Group:         Applications/System
+Source0:       http://www.freedesktop.org/software/PackageKit/releases/%{name}-%{version}.tar.xz
+# Source0-md5: 4a07aa7e4c76052b2edf0765c26d2e35
+Patch0:                %{name}-poldek.patch
+Patch1:                %{name}-bashcomp.patch
 URL:           http://www.packagekit.org/
 BuildRequires: NetworkManager-devel >= 0.6.5
-BuildRequires: PolicyKit-devel >= 0.8
-BuildRequires: autoconf >= 2.52
-BuildRequires: automake
+BuildRequires: autoconf >= 2.65
+BuildRequires: automake >= 1:1.11
+BuildRequires: connman-devel
 BuildRequires: dbus-devel >= 1.2.0
-BuildRequires: dbus-glib-devel >= 0.74
-BuildRequires: docbook-to-man
-BuildRequires: gettext-devel
-BuildRequires: glib2-devel >= 1:2.16.1
-BuildRequires: gtk-doc >= 1.9
+BuildRequires: dbus-glib-devel >= 0.76
+BuildRequires: docbook-dtd412-xml
+BuildRequires: docbook-dtd42-xml
+BuildRequires: fontconfig-devel
+BuildRequires: gettext-tools
+BuildRequires: glib2-devel >= 1:2.32.0
+%{?with_introspection:BuildRequires:   gobject-introspection-devel >= 0.9.9}
+BuildRequires: gstreamer-devel >= 1.0.0
+BuildRequires: gstreamer-plugins-base-devel >= 1.0.0
+BuildRequires: gtk+2-devel >= 2:2.14.0
+BuildRequires: gtk+3-devel >= 3.0.0
+%{?with_doc:BuildRequires:     gtk-doc >= 1.11}
+BuildRequires: intltool >= 0.35.0
 BuildRequires: libarchive-devel
 BuildRequires: libtool
+BuildRequires: libxslt-progs
+BuildRequires: pango-devel
 BuildRequires: pkgconfig
-BuildRequires: poldek-devel >= 0.30-0.20080820.23.2
-BuildRequires: python-devel
+%{?with_poldek:BuildRequires:  poldek-devel >= 0.30-1.rc6.4}
+BuildRequires: polkit-devel >= 0.98
+%{?with_python:BuildRequires:  python-devel >= 1:2.7}
+BuildRequires: readline-devel
 BuildRequires: rpm-pythonprov
-BuildRequires: sqlite3-devel
+BuildRequires: rpmbuild(macros) >= 1.311
+BuildRequires: sqlite3-devel >= 3
+BuildRequires: systemd-devel
+BuildRequires: tar >= 1:1.22
+BuildRequires: udev-glib-devel
+BuildRequires: xz
+%if %{with browser}
+BuildRequires: cairo-devel
+BuildRequires: nspr-devel >= 4.8
+BuildRequires: xulrunner-devel >= 8.0
+%endif
 Requires(post,postun): shared-mime-info
+Requires:      %{name}-backend
 Requires:      %{name}-libs = %{version}-%{release}
-Requires:      PolicyKit >= 0.8
+Requires:      ConsoleKit-x11
 Requires:      crondaemon
-Requires:      poldek >= 0.30-0.20080820.23.2
+Requires:      polkit >= 0.98
+Obsoletes:     PackageKit-backend-hawkey
+Obsoletes:     PackageKit-backend-smart
+Obsoletes:     PackageKit-backend-yum
+Obsoletes:     PackageKit-docs < 0.8.4
+Obsoletes:     pm-utils-packagekit
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -36,47 +78,58 @@ PackageKit is a D-Bus abstraction layer that allows the session user
 to manage packages in a secure way using a cross-distro,
 cross-architecture API.
 
+%description -l pl.UTF-8
+PackageKit to warstwa abstrakcji D-Bus pozwalająca użytkownikowi
+sesyjnemu w bezpieczny sposob zarządzać pakietami przy użyciu API
+zgodnego z wieloma dystrybucjami i architekturami.
+
 %package libs
-Summary:       PackageKit library
-Summary(pl.UTF-8):     Biblioteka PackageKit
+Summary:       packagekit-glib library
+Summary(pl.UTF-8):     Biblioteka packagekit-glib
 Group:         Libraries
+Requires:      glib2 >= 1:2.32.0
 
 %description libs
-PackageKit library.
+packagekit-glib library.
 
 %description libs -l pl.UTF-8
-Biblioteka PackageKit.
+Biblioteka packagekit-glib.
 
 %package devel
-Summary:       Header files for PackageKit
-Summary(pl.UTF-8):     Pliki nagłówkowe biblioteki PackageKit
+Summary:       Header files for packagekit-glib library
+Summary(pl.UTF-8):     Pliki nagłówkowe biblioteki packagekit-glib
 Group:         Development/Libraries
 Requires:      %{name}-libs = %{version}-%{release}
-Requires:      glib2-devel >= 1:2.16.1
+Requires:      dbus-devel >= 1.2.0
+Requires:      glib2-devel >= 1:2.32.0
+Requires:      sqlite3-devel
 
 %description devel
-Header files for PackageKit library.
+Header files for packagekit-glib library.
 
 %description devel -l pl.UTF-8
-Pliki nagłówkowe biblioteki PackageKit.
+Pliki nagłówkowe biblioteki packagekit-glib.
 
 %package static
-Summary:       Static PackageKit library
-Summary(pl.UTF-8):     Statyczna biblioteka PackageKit
+Summary:       Static packagekit-glib library
+Summary(pl.UTF-8):     Statyczna biblioteka packagekit-glib
 Group:         Development/Libraries
 Requires:      %{name}-devel = %{version}-%{release}
 
 %description static
-Static PackageKit library.
+Static packagekit-glib library.
 
 %description static -l pl.UTF-8
-Statyczna biblioteka PackageKit.
+Statyczna biblioteka packagekit-glib.
 
 %package apidocs
 Summary:       PackageKit library API documentation
 Summary(pl.UTF-8):     Dokumentacja API biblioteki PackageKit
 Group:         Documentation
 Requires:      gtk-doc-common
+%if "%{_rpmversion}" >= "5"
+BuildArch:     noarch
+%endif
 
 %description apidocs
 PackageKit library API documentation.
@@ -84,25 +137,78 @@ PackageKit library API documentation.
 %description apidocs -l pl.UTF-8
 Dokumentacja API biblioteki PackageKit.
 
+%package backend-poldek
+Summary:       PackageKit Poldek backend
+Summary(pl.UTF-8):     Backend PackageKit oparty na Poldku
+Group:         Libraries
+Requires:      %{name} = %{version}-%{release}
+Requires:      poldek >= 0.30-1.rc6.4
+Provides:      %{name}-backend = %{version}-%{release}
+Conflicts:     PackageKit < 0.6.8-3
+
+%description backend-poldek
+A backend for PackageKit to enable Poldek functionality.
+
+%description backend-poldek -l pl.UTF-8
+Backend PackageKit dodający obsługę Poldka.
+
+%package gstreamer-plugin
+Summary:       GStreamer codecs installer
+Summary(pl.UTF-8):     Instalator kodeków GStreamera
+Group:         Applications
+Requires:      %{name} = %{version}-%{release}
+Requires:      %{name}-gtk-module = %{version}-%{release}
+
+%description gstreamer-plugin
+The PackageKit GStreamer plugin allows any GStreamer application to
+install codecs from configured repositories using PackageKit.
+
+%description gstreamer-plugin -l pl.UTF-8
+Wtyczka GStreamer pozwala każdej aplikacji używającej GStreamera
+zainstalować kodeki ze skonfigurowanych źródeł PackageKit.
+
+%package gtk-module
+Summary:       GTK+ module to detect and install missing fonts
+Summary(pl.UTF-8):     Moduł GTK+ do wykrywania i instalowania brakujących czcionek
+Group:         X11/Libraries
+
+%description gtk-module
+The PackageKit GTK+ module allows any pango application to install
+missing fonts from configured repositories using PackageKit.
+
+%description gtk-module -l pl.UTF-8
+Moduł GTK+ pozwala każdej aplikacji używającej pango zainstalować
+brakującą czcionkę ze skonfigurowanych źródeł PackageKit.
+
+%package gtk3-module
+Summary:       GTK+ 3.x module to detect and install missing fonts
+Summary(pl.UTF-8):     Moduł GTK+ 3.x do wykrywania i instalowania brakujących czcionek
+Group:         X11/Libraries
+
+%description gtk3-module
+The PackageKit GTK+ 3.x module allows any pango application to install
+missing fonts from configured repositories using PackageKit.
+
+%description gtk3-module -l pl.UTF-8
+Moduł GTK+ 3.x pozwala każdej aplikacji używającej pango zainstalować
+brakującą czcionkę ze skonfigurowanych źródeł PackageKit.
+
 %package -n bash-completion-packagekit
-Summary:       bash-completion for PackageKit
-Summary(pl.UTF-8):     bashowe uzupełnianie nazw dla PackageKit
+Summary:       Bash completion for PackageKit console commands
+Summary(pl.UTF-8):     Bashowe uzupełnianie parametrów dla poleceń konsolowych PackageKit
 Group:         Applications/Shells
-Requires:      bash-completion
+Requires:      %{name} = %{version}-%{release}
+Requires:      bash-completion >= 2
+%if "%{_rpmversion}" >= "5"
+BuildArch:     noarch
+%endif
 
 %description -n bash-completion-packagekit
-This package provides bash-completion for PackageKit.
+This package provides bash-completion for PackageKit console commands.
 
 %description -n bash-completion-packagekit -l pl.UTF-8
-Pakiet ten dostarcza bashowe uzupełnianie nazw dla PackageKit.
-
-%package -n pm-utils-packagekit
-Summary:       PackageKit script for pm-utils
-Group:         Applications/System
-Requires:      pm-utils
-
-%description -n pm-utils-packagekit
-PackageKit script for pm-utils.
+Pakiet ten dostarcza bashowe uzupełnianie parametrów dla poleceń
+konsolowych PackageKit.
 
 %package -n python-packagekit
 Summary:       PackageKit Python bindings
@@ -114,23 +220,50 @@ Requires: python-pygobject
 %description -n python-packagekit
 PackageKit Python bindings.
 
-%description -n python-packagekit
+%description -n python-packagekit -l pl.UTF-8
 Wiązania PackageKit dla Pythona.
 
+%package -n browser-plugin-packagekit
+Summary:       PackageKit's browser plugin
+Summary(pl.UTF-8):     Wtyczka PackageKit do przeglądarek WWW
+Group:         X11/Libraries
+Requires:      %{name} = %{version}-%{release}
+Requires:      browser-plugins >= 2.0
+Requires:      browser-plugins(%{_target_base_arch})
+
+%description -n browser-plugin-packagekit
+PackageKit's plugin for browsers.
+
+%description -n browser-plugin-packagekit -l pl.UTF-8
+Wtyczka PackageKit do przeglądarek WWW.
+
 %prep
 %setup -q
+%patch0 -p1
+%patch1 -p1
 
 %build
+%if %{with doc}
+%{__gtkdocize}
+%endif
 %{__intltoolize}
 %{__libtoolize}
-%{__aclocal}
+%{__aclocal} -I m4
 %{__autoconf}
 %{__autoheader}
 %{__automake}
 %configure \
-       --enable-poldek \
+       --disable-command-not-found \
+       --disable-dummy \
+       %{!?with_doc:--disable-gtk-doc} \
+       %{!?with_introspection:--disable-introspection} \
+       --disable-silent-rules \
+       --enable-bash-completion=%{bash_compdir} \
+       %{__enable_disable browser browser-plugin} \
+       %{__enable_disable poldek} \
        --with-html-dir=%{_gtkdocdir} \
-       --with-default-backend=poldek
+       --with-mozilla-plugin-dir=%{_browserpluginsdir} \
+       --with-security-framework=polkit
 %{__make}
 
 %install
@@ -139,14 +272,26 @@ rm -rf $RPM_BUILD_ROOT
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
 
-rm -f $RPM_BUILD_ROOT%{_libdir}/packagekit-backend/*.{la,a}
+# use pk-gstreamer-install as codec installer
+ln -s pk-gstreamer-install $RPM_BUILD_ROOT%{_libdir}/gst-install-plugins-helper
 
-mv -f $RPM_BUILD_ROOT%{_datadir}/locale/{no_nb,nb}
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/gtk-{2,3}.0/modules/*.{la,a}
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/packagekit-backend/*.{la,a}
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/packagekit-backend/libpk_backend_test_*.so
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
+%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/PackageKit/helpers/test_spawn
 
-%if "%{_lib}" != "lib"
-mv $RPM_BUILD_ROOT/{lib,%{_lib}}
+%if %{with browser}
+%{__rm} $RPM_BUILD_ROOT%{_browserpluginsdir}/*.{la,a}
 %endif
 
+# empty version of bg
+%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/bg_BG
+# empty version of fa (empty as well BTW)
+%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/fa_IR
+# outdated copy of it
+%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/it_IT
+
 %py_postclean
 
 %find_lang %{name}
@@ -160,73 +305,111 @@ rm -rf $RPM_BUILD_ROOT
 %postun
 %update_mime_database
 
-%post libs -p /sbin/ldconfig
+%post  libs -p /sbin/ldconfig
 %postun        libs -p /sbin/ldconfig
 
+%post -n browser-plugin-packagekit
+%update_browser_plugins
+
+%postun -n browser-plugin-packagekit
+if [ "$1" = 0 ]; then
+       %update_browser_plugins
+fi
+
 %files -f %{name}.lang
 %defattr(644,root,root,755)
-%doc AUTHORS ChangeLog HACKING NEWS README TODO
-%attr(755,root,root) %{_bindir}/packagekit-bugreport.sh
+%doc AUTHORS HACKING MAINTAINERS NEWS README
 %attr(755,root,root) %{_bindir}/pkcon
-%attr(755,root,root) %{_bindir}/pkgenpack
 %attr(755,root,root) %{_bindir}/pkmon
 %attr(750,root,root) /etc/cron.daily/packagekit-background.cron
-%attr(755,root,root) %{_libexecdir}/pk-generate-package-list
-%attr(755,root,root) %{_libexecdir}/pk-import-desktop
-%attr(755,root,root) %{_libexecdir}/pk-import-specspo
+%attr(755,root,root) %{_libexecdir}/packagekit-direct
+%attr(755,root,root) %{_libexecdir}/packagekitd
+%attr(755,root,root) %{_libexecdir}/pk-offline-update
 %dir %{_libdir}/packagekit-backend
-%attr(755,root,root) %{_libdir}/packagekit-backend/libpk_backend_poldek.so
-%attr(755,root,root) %{_sbindir}/packagekitd
 %dir %{_sysconfdir}/PackageKit
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/PackageKit/PackageKit.conf
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sysconfig/packagekit-background
-%{_sysconfdir}/dbus-1/system.d/org.freedesktop.PackageKit.conf
-%{_datadir}/PolicyKit/policy/org.freedesktop.packagekit.policy
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/PackageKit/Vendor.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/packagekit-background
+/etc/dbus-1/system.d/org.freedesktop.PackageKit.conf
+%dir %{_datadir}/PackageKit
+%dir %{_datadir}/PackageKit/helpers
+%attr(755,root,root) %{_datadir}/PackageKit/pk-upgrade-distro.sh
+%{_datadir}/polkit-1/actions/org.freedesktop.packagekit.policy
+%{_datadir}/polkit-1/rules.d/org.freedesktop.packagekit.rules
 %{_datadir}/dbus-1/system-services/org.freedesktop.PackageKit.service
-%{_datadir}/mime/packages/packagekit-catalog.xml
-%{_datadir}/mime/packages/packagekit-pack.xml
 %{_mandir}/man1/pkcon.1*
-%{_mandir}/man1/pkgenpack.1*
 %{_mandir}/man1/pkmon.1*
+%{systemdunitdir}/packagekit.service
+%{systemdunitdir}/packagekit-offline-update.service
+%dir %{systemdunitdir}/system-update.target.wants
+%{systemdunitdir}/system-update.target.wants/packagekit-offline-update.service
 %dir /var/cache/PackageKit
 %dir /var/cache/PackageKit/downloads
 %dir /var/lib/PackageKit
 %ghost /var/lib/PackageKit/transactions.db
-%dir /var/run/PackageKit
-%ghost /var/run/PackageKit/job_count.dat
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/udev/rules.d/51-packagekit-firmware.rules
-%attr(755,root,root) /%{_lib}/udev/packagekit-firmware.sh
 
 %files libs
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libpackagekit.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libpackagekit.so.4
+%attr(755,root,root) %{_libdir}/libpackagekit-glib2.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libpackagekit-glib2.so.18
+%{_libdir}/girepository-1.0/PackageKitGlib-1.0.typelib
+# NOTE: dbus interface xmls are commonly used:
+# - at runtime by packagekitd
+# - for development of applications using PK dbus interface
+%{_datadir}/dbus-1/interfaces/org.freedesktop.PackageKit.Transaction.xml
+%{_datadir}/dbus-1/interfaces/org.freedesktop.PackageKit.xml
 
 %files devel
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libpackagekit.so
-%{_libdir}/libpackagekit.la
-%{_pkgconfigdir}/packagekit.pc
-%{_includedir}/packagekit
-%{_includedir}/packagekit-backend
+%attr(755,root,root) %{_libdir}/libpackagekit-glib2.so
+%{_pkgconfigdir}/packagekit-glib2.pc
+%dir %{_includedir}/PackageKit
+%{_includedir}/PackageKit/packagekit-glib2
+%{_datadir}/gir-1.0/PackageKitGlib-1.0.gir
 
 %files static
 %defattr(644,root,root,755)
-%{_libdir}/libpackagekit.a
+%{_libdir}/libpackagekit-glib2.a
 
 %files apidocs
 %defattr(644,root,root,755)
 %{_gtkdocdir}/PackageKit
 
-%files -n bash-completion-packagekit
+%if %{with poldek}
+%files backend-poldek
 %defattr(644,root,root,755)
-%{_sysconfdir}/bash_completion.d/pk-completion.bash
+%attr(755,root,root) %{_libdir}/packagekit-backend/libpk_backend_poldek.so
+%endif
 
-%files -n pm-utils-packagekit
+%files gstreamer-plugin
 %defattr(644,root,root,755)
-%{_libdir}/pm-utils/sleep.d/95packagekit
+%doc contrib/gstreamer-plugin/README
+%attr(755,root,root) %{_libexecdir}/gst-install-plugins-helper
+%attr(755,root,root) %{_libexecdir}/pk-gstreamer-install
 
+%files gtk-module
+%defattr(644,root,root,755)
+%doc contrib/gtk-module/{GLASS.txt,README}
+%attr(755,root,root) %{_libdir}/gtk-2.0/modules/libpk-gtk-module.so
+
+%files gtk3-module
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/gtk-3.0/modules/libpk-gtk-module.so
+%{_libdir}/gnome-settings-daemon-3.0/gtk-modules/pk-gtk-module.desktop
+
+%files -n bash-completion-packagekit
+%defattr(644,root,root,755)
+%{bash_compdir}/pkcon
+
+%if %{with python}
 %files -n python-packagekit
 %defattr(644,root,root,755)
 %dir %{py_sitescriptdir}/packagekit
 %{py_sitescriptdir}/packagekit/*.py[co]
+%endif
+
+%if %{with browser}
+%files -n browser-plugin-packagekit
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_browserpluginsdir}/packagekit-plugin.so
+%endif
This page took 0.161341 seconds and 4 git commands to generate.