# (details in bash from Fedora Rawhide)
#
# Conditional build:
-%bcond_without qt # don't build packagekit-qt library
-%bcond_without doc # build without docs
-%bcond_without gir # gobject introspection, time to time broken
-%bcond_without poldek # build Poldek backend
-%bcond_without smart # build SMART backend
-%bcond_without yum # build YUM backend
-%bcond_with browser # build browser plugin (patrys says: it's flawed by concept)
+%bcond_without doc # build without docs
+%bcond_without introspection # gobject introspection, time to time broken
+%bcond_without poldek # Poldek backend
+%bcond_without smart # SMART backend
+%bcond_without yum # YUM backend
+%bcond_with hawkey # Hawkey backend
+%bcond_with browser # browser plugin (patrys says: it's flawed by concept)
# default backend, configurable at runtime
%define backend poldek
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.6.15
-Release: 3
+Version: 0.8.17
+Release: 1
License: GPL v2+
Group: Applications/System
-Source0: http://www.packagekit.org/releases/%{name}-%{version}.tar.bz2
-# Source0-md5: 432f505462a00473c941ff907d97953e
-Patch1: %{name}-PLD.patch
-Patch2: bashism.patch
+Source0: http://www.freedesktop.org/software/PackageKit/releases/%{name}-%{version}.tar.xz
+# Source0-md5: a2b1a602fee21430b735e52aaf33bd1a
+Patch0: %{name}-hawkey-rpm5.patch
Patch3: smart-at-fix.patch
+Patch4: %{name}-gstreamer.patch
+Patch5: %{name}-bashcomp.patch
+Patch6: %{name}-connman.patch
URL: http://www.packagekit.org/
BuildRequires: NetworkManager-devel >= 0.6.5
-%if %{with qt}
-BuildRequires: QtCore-devel >= 4.4.0
-BuildRequires: QtDBus-devel >= 4.4.0
-BuildRequires: QtGui-devel >= 4.4.0
-BuildRequires: QtSql-devel >= 4.4.0
-BuildRequires: QtXml-devel >= 4.4.0
-%endif
BuildRequires: autoconf >= 2.65
-BuildRequires: automake >= 1.11
-%{?with_qt:BuildRequires: cppunit-devel}
+BuildRequires: automake >= 1:1.11
+BuildRequires: connman-devel
BuildRequires: dbus-devel >= 1.2.0
BuildRequires: dbus-glib-devel >= 0.76
BuildRequires: docbook-dtd412-xml
BuildRequires: docbook-dtd42-xml
BuildRequires: fontconfig-devel
BuildRequires: gettext-devel
-BuildRequires: glib2-devel >= 1:2.22.0
-%{?with_gir:BuildRequires: gobject-introspection-devel}
-BuildRequires: gstreamer-devel
-BuildRequires: gstreamer-plugins-base-devel
+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.9}
+%{?with_doc:BuildRequires: gtk-doc >= 1.11}
+%{?with_hawkey:BuildRequires: hawkey-devel >= 0.4.6}
BuildRequires: intltool >= 0.35.0
BuildRequires: libarchive-devel
+%{?with_hawkey:BuildRequires: librepo-devel >= 0.1.5}
BuildRequires: libtool
BuildRequires: libxslt-progs
BuildRequires: pango-devel
BuildRequires: pkgconfig
-BuildRequires: pm-utils
-%{?with_poldek:BuildRequires: poldek-devel >= 0.30-0.20080820.23.20}
-BuildRequires: polkit-devel >= 0.97
-BuildRequires: python-devel
-%{?with_qt:BuildRequires: qt4-build >= 4.4.0}
+%{?with_poldek:BuildRequires: poldek-devel >= 0.30-1.rc6.4}
+BuildRequires: polkit-devel >= 0.98
+BuildRequires: python-devel >= 1:2.7
BuildRequires: readline-devel
+%{?with_hawkey:BuildRequires: rpm-devel >= 4.11.0}
BuildRequires: rpm-pythonprov
BuildRequires: rpmbuild(macros) >= 1.311
-BuildRequires: sqlite3-devel
+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
-BuildRequires: xulrunner-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: ConsoleKit
+Requires: ConsoleKit-x11
Requires: crondaemon
-Requires: polkit >= 0.92
+Requires: polkit >= 0.98
+Obsoletes: PackageKit-docs < 0.8.4
+Obsoletes: pm-utils-packagekit
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
Summary: packagekit-glib library
Summary(pl.UTF-8): Biblioteka packagekit-glib
Group: Libraries
-Requires: glib2 >= 1:2.22.0
+Requires: glib2 >= 1:2.32.0
%description libs
packagekit-glib library.
Group: Development/Libraries
Requires: %{name}-libs = %{version}-%{release}
Requires: dbus-devel >= 1.2.0
-Requires: glib2-devel >= 1:2.22.0
+Requires: glib2-devel >= 1:2.32.0
Requires: sqlite3-devel
%description devel
%description static -l pl.UTF-8
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
+
+%description apidocs
+PackageKit library API documentation.
+
+%description apidocs -l pl.UTF-8
+Dokumentacja API biblioteki PackageKit.
+
+%package backend-hawkey
+Summary: PackageKit Hawkey backend
+Summary(pl.UTF-8): Backend PackageKit oparty na Hawkeyu
+Group: Libraries
+Requires: %{name} = %{version}-%{release}
+Requires: hawkey >= 0.4.6
+Requires: librepo >= 0.1.5
+Provides: %{name}-backend = %{version}-%{release}
+Obsoletes: PackageKit-backend-zif < 0.8.14
+
+%description backend-hawkey
+A backend for PackageKit to enable Hawkey functionality.
+
+%description backend-hawkey -l pl.UTF-8
+Backend PackageKit dodający obsługę Hawkeya.
+
%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-0.20080820.23.20}
-Provides: %{name}-backend
-Conflicts: %{name} < 0.6.8-3
+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 backend-smart
Summary: PackageKit SMART backend
+Summary(pl.UTF-8): Backend PackageKit oparty na zarządcy pakietów SMART
Group: Libraries
Requires: %{name} = %{version}-%{release}
Requires: smart
%description backend-smart
A backend for PackageKit to enable SMART functionality.
+%description backend-smart -l pl.UTF-8
+Backend PackageKit dodający obsługę zarządcy pakietów SMART.
+
%package backend-yum
Summary: PackageKit YUM backend
+Summary(pl.UTF-8): Backend PackageKit oparty na Yumie
Group: Libraries
Requires: %{name} = %{version}-%{release}
Requires: python-packagekit = %{version}-%{release}
Requires: yum >= 3.2.19
-Provides: %{name}-backend
+Provides: %{name}-backend = %{version}-%{release}
%description backend-yum
A backend for PackageKit to enable yum functionality.
-%package qt
-Summary: packagekit-qt library
-Summary(pl.UTF-8): Biblioteka packagekit-qt
-Group: Libraries
-Obsoletes: packagekit-qt < 0.4.0
-Obsoletes: qpackagekit < 0.4.0
-
-%description qt
-packagekit-qt library.
-
-%description qt -l pl.UTF-8
-Biblioteka packagekit-qt.
-
-%package qt-devel
-Summary: Header files for packagekit-qt library
-Summary(pl.UTF-8): Pliki nagłówkowe biblioteki packagekit-qt
-Group: Development/Libraries
-Requires: %{name}-qt = %{version}-%{release}
-Requires: QtCore-devel >= 4.4.0
-Requires: QtDBus-devel >= 4.4.0
-Requires: QtGui-devel >= 4.4.0
-Requires: QtSql-devel >= 4.4.0
-Requires: QtXml-devel >= 4.4.0
-Obsoletes: qpackagekit-devel < 0.4.0
-
-%description qt-devel
-Header files for packagekit-qt library.
-
-%description qt-devel -l pl.UTF-8
-Pliki nagłówkowe biblioteki packagekit-qt.
-
-%package qt-static
-Summary: Static packagekit-qt library
-Summary(pl.UTF-8): Statyczna biblioteka packagekit-qt
-Group: Development/Libraries
-Requires: %{name}-qt-devel = %{version}-%{release}
-
-%description qt-static
-Static packagekit-qt library.
-
-%description qt-static -l pl.UTF-8
-Statyczna biblioteka packagekit-qt.
-
-%package qt2
-Summary: packagekit-qt2 library
-Summary(pl.UTF-8): Biblioteka packagekit-qt2
-Group: Libraries
-Obsoletes: qpackagekit < 0.4.0
-
-%description qt2
-packagekit-qt2 library.
-
-%description qt2 -l pl.UTF-8
-Biblioteka packagekit-qt2.
-
-%package qt2-devel
-Summary: Header files for packagekit-qt2 library
-Summary(pl.UTF-8): Pliki nagłówkowe biblioteki packagekit-qt2
-Group: Development/Libraries
-Requires: %{name}-qt2 = %{version}-%{release}
-Requires: QtCore-devel >= 4.4.0
-Requires: QtDBus-devel >= 4.4.0
-Requires: QtGui-devel >= 4.4.0
-Requires: QtSql-devel >= 4.4.0
-Requires: QtXml-devel >= 4.4.0
-Obsoletes: qpackagekit-devel < 0.4.0
-
-%description qt2-devel
-Header files for packagekit-qt2 library.
-
-%description qt2-devel -l pl.UTF-8
-Pliki nagłówkowe biblioteki packagekit-qt2.
-
-%package qt2-static
-Summary: Static packagekit-qt2 library
-Summary(pl.UTF-8): Statyczna biblioteka packagekit-qt2
-Group: Development/Libraries
-Requires: %{name}-qt2-devel = %{version}-%{release}
-
-%description qt2-static
-Static packagekit-qt2 library.
-
-%description qt2-static -l pl.UTF-8
-Statyczna biblioteka packagekit-qt2.
-
-%package apidocs
-Summary: PackageKit library API documentation
-Summary(pl.UTF-8): Dokumentacja API biblioteki PackageKit
-Group: Documentation
-Requires: gtk-doc-common
-
-%description apidocs
-PackageKit library API documentation.
-
-%description apidocs -l pl.UTF-8
-Dokumentacja API biblioteki PackageKit.
-
-%package docs
-Summary: PackageKit documentation
-Summary(pl.UTF-8): Dokumentacja PackageKit
-Group: Documentation
-
-%description docs
-PackageKit documentation.
-
-%description docs -l pl.UTF-8
-Dokumentacja PackageKit.
+%description backend-yum -l pl.UTF-8
+Backend PackageKit dodający obsługę Yuma.
%package gstreamer-plugin
Summary: GStreamer codecs installer
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
-Summary(pl.UTF-8): Skrypt PackageKit dla pm-utils
-Group: Applications/System
-Requires: pm-utils
-
-%description -n pm-utils-packagekit
-PackageKit script for pm-utils.
-
-%description -n pm-utils-packagekit -l pl.UTF-8
-Skrypt PackageKit dla pm-utils.
+Pakiet ten dostarcza bashowe uzupełnianie parametrów dla poleceń
+konsolowych PackageKit.
%package -n python-packagekit
Summary: PackageKit Python bindings
%prep
%setup -q
-%patch1 -p1
-%patch2 -p1
+%patch0 -p1
%patch3 -p0
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
%build
%if %{with doc}
%{__autoheader}
%{__automake}
%configure \
- --disable-silent-rules \
- --disable-dummy \
--disable-command-not-found \
- %{!?with_gir:--disable-introspection} \
+ --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 hawkey} \
%{__enable_disable poldek} \
%{__enable_disable smart} \
%{__enable_disable yum} \
- %{__enable_disable dok gtk-doc}\
- %{__enable_disable qt} \
- --with-html-dir=%{_gtkdocdir} \
--with-default-backend=%{backend} \
- --with-security-framework=polkit \
- --with-mozilla-plugin-dir=%{_browserpluginsdir}
+ --with-html-dir=%{_gtkdocdir} \
+ --with-mozilla-plugin-dir=%{_browserpluginsdir} \
+ --with-security-framework=polkit
%{__make}
%install
# use pk-gstreamer-install as codec installer
ln -s pk-gstreamer-install $RPM_BUILD_ROOT%{_libdir}/gst-install-plugins-helper
-install -d $RPM_BUILD_ROOT%{_libdir}/pm-utils/sleep.d
-install -p contrib/pm-utils/95packagekit $RPM_BUILD_ROOT%{_libdir}/pm-utils/sleep.d
-
%{__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}/packagekit-plugins/*.{la,a}
%{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/PackageKit/helpers/test_spawn
%{__rm} $RPM_BUILD_ROOT%{_datadir}/PackageKit/helpers/yum/yumBackend.py[co]
%endif
-# unsupported
-#%%{__rm} $RPM_BUILD_ROOT%{_datadir}/locale/it_IT
+# outdated copies of bg,it
+%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/{bg_BG,it_IT}
+# fa_IR uses short dir name
+%{__mv} $RPM_BUILD_ROOT%{_localedir}/{fa_IR,fa}
%py_postclean
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
-%post qt -p /sbin/ldconfig
-%postun qt -p /sbin/ldconfig
-
%post -n browser-plugin-packagekit
%update_browser_plugins
%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc AUTHORS ChangeLog HACKING NEWS README TODO
+%doc AUTHORS HACKING MAINTAINERS NEWS README TODO
%attr(755,root,root) %{_bindir}/packagekit-bugreport.sh
%attr(755,root,root) %{_bindir}/pkcon
-%attr(755,root,root) %{_bindir}/pkgenpack
%attr(755,root,root) %{_bindir}/pkmon
%attr(755,root,root) %{_bindir}/pk-debuginfo-install
%attr(750,root,root) /etc/cron.daily/packagekit-background.cron
%dir %{_libdir}/packagekit-backend
+%dir %{_libdir}/packagekit-plugins
+%attr(755,root,root) %{_libdir}/packagekit-plugins/libpk_plugin-scan-desktop-files.so
+%attr(755,root,root) %{_libdir}/packagekit-plugins/libpk_plugin-systemd-updates.so
+%attr(755,root,root) %{_libdir}/packagekit-plugins/libpk_plugin-update-package-cache.so
+%attr(755,root,root) %{_libdir}/packagekit-plugins/libpk_plugin_scripts.so
%attr(755,root,root) %{_libdir}/packagekitd
-%attr(755,root,root) %{_sbindir}/pk-device-rebind
+%attr(755,root,root) %{_libdir}/pk-clear-offline-update
+%attr(755,root,root) %{_libdir}/pk-offline-update
+%attr(755,root,root) %{_libdir}/pk-trigger-offline-update
%dir %{_sysconfdir}/PackageKit
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/PackageKit/PackageKit.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/PackageKit/Vendor.conf
%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-package-list.xml
-%{_datadir}/mime/packages/packagekit-servicepack.xml
%{_mandir}/man1/pkcon.1*
%{_mandir}/man1/pk-debuginfo-install.1*
-%{_mandir}/man1/pk-device-rebind.1*
-%{_mandir}/man1/pkgenpack.1*
%{_mandir}/man1/pkmon.1*
+%{systemdunitdir}/packagekit.service
+%{systemdunitdir}/packagekit-offline-update.service
%dir /var/cache/PackageKit
%dir /var/cache/PackageKit/downloads
%dir /var/lib/PackageKit
%files libs
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libpackagekit-glib2.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libpackagekit-glib2.so.14
+%attr(755,root,root) %ghost %{_libdir}/libpackagekit-glib2.so.16
%{_libdir}/girepository-1.0/PackageKitGlib-1.0.typelib
+%{_libdir}/girepository-1.0/PackageKitPlugin-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-glib2.so
%{_pkgconfigdir}/packagekit-glib2.pc
+%{_pkgconfigdir}/packagekit-plugin.pc
%dir %{_includedir}/PackageKit
-%{_includedir}/PackageKit/backend
%{_includedir}/PackageKit/packagekit-glib2
+%{_includedir}/PackageKit/plugin
%{_datadir}/gir-1.0/PackageKitGlib-1.0.gir
+%{_datadir}/gir-1.0/PackageKitPlugin-1.0.gir
%files static
%defattr(644,root,root,755)
%{_libdir}/libpackagekit-glib2.a
+%files apidocs
+%defattr(644,root,root,755)
+%{_gtkdocdir}/PackageKit
+
+%if %{with hawkey}
+%files backend-hawkey
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/packagekit-backend/libpk_backend_hawkey.so
+%endif
+
%if %{with poldek}
%files backend-poldek
%defattr(644,root,root,755)
%if %{with yum}
%files backend-yum
%defattr(644,root,root,755)
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/PackageKit/Yum.conf
%attr(755,root,root) %{_libdir}/packagekit-backend/libpk_backend_yum.so
%dir %{_datadir}/PackageKit/helpers/yum
%{_datadir}/PackageKit/helpers/yum/licenses.txt
%{_prefix}/lib/yum-plugins/refresh-packagekit.py
%endif
-%if %{with qt}
-%files qt
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libpackagekit-qt.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libpackagekit-qt.so.14
-
-%files qt-devel
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libpackagekit-qt.so
-%{_pkgconfigdir}/packagekit-qt.pc
-%{_includedir}/PackageKit/packagekit-qt
-%{_datadir}/cmake/Modules/FindQPackageKit.cmake
-
-%files qt-static
-%defattr(644,root,root,755)
-%{_libdir}/libpackagekit-qt.a
-
-%files qt2
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libpackagekit-qt2.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libpackagekit-qt2.so.2
-
-%files qt2-devel
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libpackagekit-qt2.so
-%{_pkgconfigdir}/packagekit-qt2.pc
-%{_includedir}/PackageKit/packagekit-qt2
-%{_datadir}/cmake/Modules/FindPackageKitQt2.cmake
-
-%files qt2-static
-%defattr(644,root,root,755)
-%{_libdir}/libpackagekit-qt2.a
-%endif
-
-%files apidocs
-%defattr(644,root,root,755)
-%{_gtkdocdir}/PackageKit
-
-%files docs
-%defattr(644,root,root,755)
-%{_datadir}/PackageKit/website
-
%files gstreamer-plugin
%defattr(644,root,root,755)
%doc contrib/gstreamer-plugin/README
%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)
-%{_sysconfdir}/bash_completion.d/pk-completion.bash
-
-%files -n pm-utils-packagekit
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/pm-utils/sleep.d/95packagekit
+%{bash_compdir}/pkcon
%files -n python-packagekit
%defattr(644,root,root,755)