X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=PackageKit.spec;h=c1930068df824e689dd54c797234cd600066b15f;hb=7cd3cbcf8bc91b12aa23351a89eb3cd01b77ceaf;hp=2e01fa12932d46e9829938ab54949ecadd54fe4f;hpb=fa5d934f486ab18cfdcd6b32663951b81210dd54;p=packages%2FPackageKit.git diff --git a/PackageKit.spec b/PackageKit.spec index 2e01fa1..c193006 100644 --- a/PackageKit.spec +++ b/PackageKit.spec @@ -1,23 +1,33 @@ # TODO: # - BASH command-not-found functionality disabled for now as it needs patched bash # (details in bash from Fedora Rawhide) -# - package browser plugin # # 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) + +# 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.1 -Release: 4 +Version: 0.8.4 +Release: 1 License: GPL v2+ Group: Applications/System -Source0: http://www.packagekit.org/releases/%{name}-%{version}.tar.bz2 -# Source0-md5: d3835290e88e534a60ca18bd4efa0479 +Source0: http://www.packagekit.org/releases/%{name}-%{version}.tar.xz +# Source0-md5: 94ca18d084c2033f31bb920562659a95 Patch1: %{name}-PLD.patch Patch2: bashism.patch +Patch3: smart-at-fix.patch +Patch4: %{name}-git.patch +Patch5: %{name}-gstreamer.patch URL: http://www.packagekit.org/ BuildRequires: NetworkManager-devel >= 0.6.5 %if %{with qt} @@ -28,39 +38,51 @@ BuildRequires: QtSql-devel >= 4.4.0 BuildRequires: QtXml-devel >= 4.4.0 %endif BuildRequires: autoconf >= 2.65 -BuildRequires: automake +BuildRequires: automake >= 1.11 %{?with_qt:BuildRequires: cppunit-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 -BuildRequires: gstreamer-plugins-base-devel +%{?with_gir:BuildRequires: gobject-introspection-devel} +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} BuildRequires: intltool >= 0.35.0 BuildRequires: libarchive-devel BuildRequires: libtool +BuildRequires: libxslt-progs +BuildRequires: pango-devel BuildRequires: pkgconfig BuildRequires: pm-utils -BuildRequires: poldek-devel >= 0.30-0.20080820.23.20 -BuildRequires: polkit-devel >= 0.92 +%{?with_poldek:BuildRequires: poldek-devel >= 0.30-1.rc6.4} +BuildRequires: polkit-devel >= 0.97 BuildRequires: python-devel %{?with_qt:BuildRequires: qt4-build >= 4.4.0} BuildRequires: readline-devel BuildRequires: rpm-pythonprov BuildRequires: rpmbuild(macros) >= 1.311 BuildRequires: sqlite3-devel +BuildRequires: tar >= 1:1.22 BuildRequires: udev-glib-devel -BuildRequires: xorg-lib-libXt-devel -BuildRequires: xulrunner-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: ConsoleKit +Requires: ConsoleKit-x11 Requires: crondaemon -Requires: poldek >= 0.30-0.20080820.23.20 Requires: polkit >= 0.92 +Obsoletes: PackageKit-docs < 0.8.4 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description @@ -112,47 +134,81 @@ Static packagekit-glib library. %description static -l pl.UTF-8 Statyczna biblioteka packagekit-glib. -%package qt -Summary: packagekit-qt library -Summary(pl.UTF-8): Biblioteka packagekit-qt +%package backend-poldek +Summary: PackageKit Poldek backend Group: Libraries -Obsoletes: qpackagekit +Requires: %{name} = %{version}-%{release} +Requires: poldek >= 0.30-1.rc6.4 +Provides: %{name}-backend +Conflicts: %{name} < 0.6.8-3 + +%description backend-poldek +A backend for PackageKit to enable Poldek functionality. -%description qt -packagekit-qt library. +%package backend-smart +Summary: PackageKit SMART backend +Group: Libraries +Requires: %{name} = %{version}-%{release} +Requires: smart + +%description backend-smart +A backend for PackageKit to enable SMART functionality. + +%package backend-yum +Summary: PackageKit YUM backend +Group: Libraries +Requires: %{name} = %{version}-%{release} +Requires: python-packagekit = %{version}-%{release} +Requires: yum >= 3.2.19 +Provides: %{name}-backend + +%description backend-yum +A backend for PackageKit to enable yum functionality. + +%package qt2 +Summary: packagekit-qt2 library +Summary(pl.UTF-8): Biblioteka packagekit-qt2 +Group: Libraries +Obsoletes: PackageKit-qt < 0.8.4 +Obsoletes: qpackagekit < 0.4.0 -%description qt -l pl.UTF-8 -Biblioteka packagekit-qt. +%description qt2 +packagekit-qt2 library. -%package qt-devel -Summary: Header files for packagekit-qt library -Summary(pl.UTF-8): Pliki nagłówkowe biblioteki packagekit-qt +%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}-qt = %{version}-%{release} +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 +Obsoletes: PackageKit-qt-devel < 0.8.4 +Obsoletes: qpackagekit-devel < 0.4.0 -%description qt-devel -Header files for packagekit-qt library. +%description qt2-devel +Header files for packagekit-qt2 library. -%description qt-devel -l pl.UTF-8 -Pliki nagłówkowe biblioteki packagekit-qt. +%description qt2-devel -l pl.UTF-8 +Pliki nagłówkowe biblioteki packagekit-qt2. -%package qt-static -Summary: Static packagekit-qt library -Summary(pl.UTF-8): Statyczna biblioteka packagekit-qt +%package qt2-static +Summary: Static packagekit-qt2 library +Summary(pl.UTF-8): Statyczna biblioteka packagekit-qt2 Group: Development/Libraries -Requires: %{name}-qt-devel = %{version}-%{release} +Requires: %{name}-qt2-devel = %{version}-%{release} +Obsoletes: PackageKit-qt-static < 0.8.4 -%description qt-static -Static packagekit-qt library. +%description qt2-static +Static packagekit-qt2 library. -%description qt-static -l pl.UTF-8 -Statyczna biblioteka packagekit-qt. +%description qt2-static -l pl.UTF-8 +Statyczna biblioteka packagekit-qt2. %package apidocs Summary: PackageKit library API documentation @@ -166,17 +222,6 @@ 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. - %package gstreamer-plugin Summary: GStreamer codecs installer Summary(pl.UTF-8): Instalator kodeków GStreamera @@ -205,6 +250,19 @@ missing fonts from configured repositories using PackageKit. 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 @@ -242,10 +300,27 @@ PackageKit Python bindings. %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 %patch1 -p1 %patch2 -p1 +%patch3 -p0 +%patch4 -p1 +%patch5 -p1 %build %if %{with doc} @@ -258,14 +333,20 @@ Wiązania PackageKit dla Pythona. %{__autoheader} %{__automake} %configure \ + --disable-silent-rules \ --disable-dummy \ - --disable-ruck \ --disable-command-not-found \ - --enable-poldek \ - --%{!?with_doc:dis}%{?with_doc:en}able-gtk-doc \ - --%{?with_qt:en}%{!?with_qt:dis}able-qt \ + %{!?with_gir:--disable-introspection} \ + %{__enable_disable browser browser-plugin} \ + %{__enable_disable poldek} \ + %{__enable_disable smart} \ + %{__enable_disable yum} \ + %{__enable_disable dok gtk-doc}\ + %{__enable_disable qt} \ --with-html-dir=%{_gtkdocdir} \ - --with-default-backend=poldek + --with-default-backend=%{backend} \ + --with-security-framework=polkit \ + --with-mozilla-plugin-dir=%{_browserpluginsdir} %{__make} %install @@ -278,17 +359,29 @@ rm -rf $RPM_BUILD_ROOT ln -s pk-gstreamer-install $RPM_BUILD_ROOT%{_libdir}/gst-install-plugins-helper install -d $RPM_BUILD_ROOT%{_libdir}/pm-utils/sleep.d -cp contrib/pm-utils/95packagekit $RPM_BUILD_ROOT%{_libdir}/pm-utils/sleep.d/ - -rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/modules/*.{la,a} -rm -f $RPM_BUILD_ROOT%{_libdir}/mozilla/plugins/*.{la,a} -rm -f $RPM_BUILD_ROOT%{_libdir}/packagekit-backend/*.{la,a} -rm -f $RPM_BUILD_ROOT%{_libdir}/packagekit-backend/libpk_backend_test_*.so -rm -f $RPM_BUILD_ROOT%{_libdir}/polkit-1/extensions/*.{la,a} -rm -f $RPM_BUILD_ROOT%{_libdir}/PackageKitDbusTest.py -rm -f $RPM_BUILD_ROOT%{_sysconfdir}/dbus-1/system.d/org.freedesktop.PackageKit{Apt,Test}Backend.conf -rm -f $RPM_BUILD_ROOT%{_datadir}/dbus-1/system-services/org.freedesktop.PackageKit{Apt,Test}Backend.service -rm -rf $RPM_BUILD_ROOT%{_datadir}/PackageKit/helpers/test_spawn +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 + +%if %{with browser} +%{__rm} $RPM_BUILD_ROOT%{_browserpluginsdir}/*.{la,a} +%endif + +%if %{with yum} +# yumBackend.py can't be compiled (invoked directly), other should be compiled +%py_comp $RPM_BUILD_ROOT%{_datadir}/PackageKit/helpers/yum +%py_ocomp $RPM_BUILD_ROOT%{_datadir}/PackageKit/helpers/yum +%{__rm} $RPM_BUILD_ROOT%{_datadir}/PackageKit/helpers/yum/yum{Comps,Filter}.py +%{__rm} $RPM_BUILD_ROOT%{_datadir}/PackageKit/helpers/yum/yumBackend.py[co] +%endif + +# unsupported +%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/it_IT %py_postclean @@ -306,8 +399,16 @@ rm -rf $RPM_BUILD_ROOT %post libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig -%post qt -p /sbin/ldconfig -%postun qt -p /sbin/ldconfig +%post qt2 -p /sbin/ldconfig +%postun qt2 -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) @@ -319,18 +420,35 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_bindir}/pk-debuginfo-install %attr(750,root,root) /etc/cron.daily/packagekit-background.cron %dir %{_libdir}/packagekit-backend -%attr(755,root,root) %{_libdir}/packagekit-backend/libpk_backend_poldek.so -%attr(755,root,root) %{_libdir}/polkit-1/extensions/libpackagekit-action-lookup.so -%attr(755,root,root) %{_sbindir}/packagekitd +%dir %{_libdir}/packagekit-plugins +%attr(755,root,root) %{_libdir}/packagekit-plugins/libpk_plugin-check-shared-libraries-in-use.so +%attr(755,root,root) %{_libdir}/packagekit-plugins/libpk_plugin-clear-firmware-requests.so +%attr(755,root,root) %{_libdir}/packagekit-plugins/libpk_plugin-clear-system-update.so +%attr(755,root,root) %{_libdir}/packagekit-plugins/libpk_plugin-no-update-process.so +%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-check-processes.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) %{_libdir}/pk-clear-offline-update +%attr(755,root,root) %{_libdir}/pk-offline-update +%attr(755,root,root) %{_libdir}/pk-trigger-offline-update %attr(755,root,root) %{_sbindir}/pk-device-rebind %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 %{_sysconfdir}/PackageKit/events +%{_sysconfdir}/PackageKit/events/post-transaction.d +%{_sysconfdir}/PackageKit/events/pre-transaction.d %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}/dbus-1/interfaces/org.freedesktop.PackageKit.Transaction.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.PackageKit.xml %{_datadir}/dbus-1/system-services/org.freedesktop.PackageKit.service %{_datadir}/mime/packages/packagekit-catalog.xml %{_datadir}/mime/packages/packagekit-package-list.xml @@ -340,6 +458,7 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/pk-device-rebind.1* %{_mandir}/man1/pkgenpack.1* %{_mandir}/man1/pkmon.1* +%{systemdunitdir}/packagekit-offline-update.service %dir /var/cache/PackageKit %dir /var/cache/PackageKit/downloads %dir /var/lib/PackageKit @@ -348,48 +467,79 @@ rm -rf $RPM_BUILD_ROOT %files libs %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libpackagekit-glib2.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libpackagekit-glib2.so.13 +%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 %files devel %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libpackagekit-glib2.so -%{_libdir}/libpackagekit-glib2.la %{_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 +%if %{with poldek} +%files backend-poldek +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/packagekit-backend/libpk_backend_poldek.so +%endif + +%if %{with smart} +%files backend-smart +%defattr(644,root,root,755) +%{_libdir}/packagekit-backend/libpk_backend_smart.so +%dir %{_datadir}/PackageKit/helpers/smart +%attr(755,root,root) %{_datadir}/PackageKit/helpers/smart/smartBackend.py +%endif + +%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 +%{_datadir}/PackageKit/helpers/yum/yum-comps-groups.conf +%attr(755,root,root) %{_datadir}/PackageKit/helpers/yum/yumBackend.py +%{_datadir}/PackageKit/helpers/yum/yumComps.py[co] +%{_datadir}/PackageKit/helpers/yum/yumFilter.py[co] + +# yum plugin +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/yum/pluginconf.d/refresh-packagekit.conf +%{_prefix}/lib/yum-plugins/refresh-packagekit.py +%endif + %if %{with qt} -%files qt +%files qt2 %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libpackagekit-qt.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libpackagekit-qt.so.13 +%attr(755,root,root) %{_libdir}/libpackagekit-qt2.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libpackagekit-qt2.so.4 -%files qt-devel +%files qt2-devel %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libpackagekit-qt.so -%{_libdir}/libpackagekit-qt.la -%{_pkgconfigdir}/packagekit-qt.pc -%{_includedir}/PackageKit/packagekit-qt -%{_datadir}/cmake/Modules/FindQPackageKit.cmake +%attr(755,root,root) %{_libdir}/libpackagekit-qt2.so +%{_pkgconfigdir}/packagekit-qt2.pc +%{_includedir}/PackageKit/packagekit-qt2 +%{_libdir}/cmake/packagekit-qt2/packagekit-qt2-config-version.cmake +%{_libdir}/cmake/packagekit-qt2/packagekit-qt2-config.cmake -%files qt-static +%files qt2-static %defattr(644,root,root,755) -%{_libdir}/libpackagekit-qt.a +%{_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 @@ -401,6 +551,11 @@ rm -rf $RPM_BUILD_ROOT %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) %{_sysconfdir}/bash_completion.d/pk-completion.bash @@ -413,3 +568,9 @@ rm -rf $RPM_BUILD_ROOT %defattr(644,root,root,755) %dir %{py_sitescriptdir}/packagekit %{py_sitescriptdir}/packagekit/*.py[co] + +%if %{with browser} +%files -n browser-plugin-packagekit +%defattr(644,root,root,755) +%attr(755,root,root) %{_browserpluginsdir}/packagekit-plugin.so +%endif