X-Git-Url: http://git.pld-linux.org/?p=packages%2FPackageKit.git;a=blobdiff_plain;f=PackageKit.spec;h=8d2cf23e20c1221e9481b4e5ce9968fd1f052bde;hp=2974cbaa47588c0ac0483a4bee44ae1ac00b087a;hb=HEAD;hpb=6e3a9d05bb6ef829296cc542bf3cb1111237c666 diff --git a/PackageKit.spec b/PackageKit.spec index 2974cba..4d281e4 100644 --- a/PackageKit.spec +++ b/PackageKit.spec @@ -1,82 +1,112 @@ # TODO: # - BASH command-not-found functionality disabled for now as it needs patched bash # (details in bash from Fedora Rawhide) +# - setup dnf vendor properly? (see meson command) +# - daemon user (see meson command) # # 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 +%bcond_without apidocs # API documentation +%bcond_without introspection # gobject introspection, time to time broken +%bcond_without static_libs # static library +%bcond_without python # Python binding (used by entropy and portage backends) +%bcond_without vala # Vala binding +# backends +%bcond_with alpm # ALPM (Arch Linux package manager) backend +%bcond_with apt # APT (Debian/Ubuntu) backend using C++ API +%bcond_without dnf # DNF (Fedora/RHEL/Mageia/OpenMandriva/OpenSUSE/Rosa) backend +%bcond_with entropy # Entropy (Sabayon) backend (Python) +%bcond_with nix # Nix (NixOS) backend [broken as of 1.2.0-1.2.5] +%bcond_with pisi # PiSi (Pardus) backend (Python) +%bcond_without poldek # Poldek (PLD) backend +%bcond_with portage # portage (Gentoo) backend (Python) +%bcond_with slack # Slack (Slackware) backend +%bcond_with zypp # ZYPP (openSUSE/SLE) backend + +%if %{without python} +%undefine with_entropy +%undefine with_pisi +%undefine with_portage +%endif 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.13 -Release: 1 +Version: 1.2.8 +Release: 2 License: GPL v2+ Group: Applications/System -Source0: http://www.packagekit.org/releases/%{name}-%{version}.tar.bz2 -# Source0-md5: afc7cfa2674e81511784af46f71f1142 -Patch1: %{name}-PLD.patch -Patch2: bashism.patch -Patch3: smart-at-fix.patch -URL: http://www.packagekit.org/ +Source0: https://www.freedesktop.org/software/PackageKit/releases/%{name}-%{version}.tar.xz +# Source0-md5: 78cb918f4128a57bfc8a454b60f5a3c1 +Patch0: %{name}-poldek.patch +Patch2: %{name}-meson.patch +Patch3: consolekit-fallback.patch +URL: https://www.freedesktop.org/software/PackageKit/ +%{?with_dnf:BuildRequires: AppStream-devel >= 0.14.0} +%{?with_apt:BuildRequires: AppStream-devel >= 0.16.0} 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} +# pkgconfig(libalpm) >= 13.0.0 +%{?with_alpm:BuildRequires: alpm-devel >= 6.0} +%{?with_apt:BuildRequires: apt-devel >= 1.9.2} +BuildRequires: bash-completion-devel >= 1:2.0 +BuildRequires: connman-devel +%{?with_slack:BuildRequires: curl-devel} BuildRequires: dbus-devel >= 1.2.0 BuildRequires: dbus-glib-devel >= 0.76 BuildRequires: docbook-dtd412-xml BuildRequires: docbook-dtd42-xml +BuildRequires: docbook-style-xsl-nons 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: gtk+2-devel >= 2:2.14.0 +BuildRequires: gettext-tools +BuildRequires: glib2-devel >= 1:2.62 +%{?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+3-devel >= 3.0.0 -%{?with_doc:BuildRequires: gtk-doc >= 1.9} -BuildRequires: intltool >= 0.35.0 +%{?with_apidocs:BuildRequires: gtk-doc >= 1.11} BuildRequires: libarchive-devel -BuildRequires: libtool +%{?with_dnf:BuildRequires: libdnf-devel >= 0.43.1} +%if %{with apt} || %{with nix} +BuildRequires: libstdc++-devel >= 6:4.7 +%endif +%{?with_slack:BuildRequires: libstdc++-devel >= 6:5} BuildRequires: libxslt-progs +%{?with_zypp:BuildRequires: libzypp-devel >= 17.31.0} +BuildRequires: meson >= 0.50 +BuildRequires: ninja >= 1.5 +# nix-expr nix-main nix-store +%{?with_nix:BuildRequires: nix-devel >= 2.9} 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} +# just to detect which reboot modes to use (library not linked) +#BuildRequires: plymouth-devel >= 0.9.5 +%{?with_poldek:BuildRequires: poldek-devel >= 0.30-1.rc6.4} +BuildRequires: polkit-devel >= 0.114 +%{?with_python:BuildRequires: python3-devel >= 1:3.2} +BuildRequires: readline-devel +BuildRequires: rpm-build >= 4.6 +%{?with_dnf:BuildRequires: rpm-devel >= 1:4.6} BuildRequires: rpm-pythonprov -BuildRequires: rpmbuild(macros) >= 1.311 -BuildRequires: sqlite3-devel +BuildRequires: rpmbuild(macros) >= 1.736 +BuildRequires: sed >= 4.0 +BuildRequires: sqlite3-devel >= 3 +# or elogind >= 229.4 +BuildRequires: systemd-devel >= 1:213 +BuildRequires: tar >= 1:1.22 BuildRequires: udev-glib-devel -%if %{with browser} -BuildRequires: cairo-devel -BuildRequires: nspr-devel -BuildRequires: xulrunner-devel -%endif +%{?with_vala:BuildRequires: vala >= 2:0.16} +BuildRequires: xz Requires(post,postun): shared-mime-info Requires: %{name}-backend Requires: %{name}-libs = %{version}-%{release} -Requires: ConsoleKit Requires: crondaemon -Requires: polkit >= 0.92 +Requires: polkit >= 0.114 +Suggests: ConsoleKit-x11 +Obsoletes: PackageKit-backend-ports < 1.2 +Obsoletes: PackageKit-backend-smart < 1.0 +Obsoletes: PackageKit-backend-urpmi < 1.2 +Obsoletes: PackageKit-backend-yum < 1.2 +Obsoletes: PackageKit-docs < 0.8.4 +Obsoletes: pm-utils-packagekit < 0.8.15 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description @@ -93,7 +123,8 @@ zgodnego z wieloma dystrybucjami i architekturami. Summary: packagekit-glib library Summary(pl.UTF-8): Biblioteka packagekit-glib Group: Libraries -Requires: glib2 >= 1:2.22.0 +Requires: glib2 >= 1:2.62 +Obsoletes: browser-plugin-packagekit < 1.1.0 %description libs packagekit-glib library. @@ -107,7 +138,7 @@ Summary(pl.UTF-8): Pliki nagłówkowe biblioteki packagekit-glib 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.62 Requires: sqlite3-devel %description devel @@ -128,109 +159,201 @@ Static packagekit-glib library. %description static -l pl.UTF-8 Statyczna biblioteka packagekit-glib. -%package backend-poldek -Summary: PackageKit Poldek backend +%package -n vala-packagekit +Summary: Vala API for PackageKit library +Summary(pl.UTF-8): API języka Vala do biblioteki PackageKitu +Group: Development/Libraries +Requires: %{name}-devel = %{version}-%{release} +Requires: vala >= 2:0.16 +BuildArch: noarch + +%description -n vala-packagekit +Vala API for PackageKit library. + +%description -n vala-packagekit -l pl.UTF-8 +API języka Vala do biblioteki PackageKitu. + +%package apidocs +Summary: PackageKit library API documentation +Summary(pl.UTF-8): Dokumentacja API biblioteki PackageKit +Group: Documentation +Requires: gtk-doc-common +BuildArch: noarch + +%description apidocs +PackageKit library API documentation. + +%description apidocs -l pl.UTF-8 +Dokumentacja API biblioteki PackageKit. + +%package backend-alpm +Summary: PackageKit ALPM backend +Summary(pl.UTF-8): Backend PackageKit oparty na bibliotece ALPM Group: Libraries Requires: %{name} = %{version}-%{release} -Requires: poldek >= 0.30-0.20080820.23.20} -Provides: %{name}-backend -Conflicts: %{name} < 0.6.8-3 +Provides: %{name}-backend = %{version}-%{release} -%description backend-poldek -A backend for PackageKit to enable Poldek functionality. +%description backend-alpm +A backend for PackageKit to enable Arch Linux packages via ALPM +library. + +%description backend-alpm -l pl.UTF-8 +Backend PackageKit dodający obsługę pakietów Arch Linuksa poprzez +bibliotekę ALPM. -%package backend-smart -Summary: PackageKit SMART backend +%package backend-aptcc +Summary: PackageKit APTcc backend +Summary(pl.UTF-8): Backend PackageKit APTcc Group: Libraries Requires: %{name} = %{version}-%{release} -Requires: smart +Requires: AppStream >= 0.12 +Requires: apt >= 1.9.2 +Provides: %{name}-backend = %{version}-%{release} -%description backend-smart -A backend for PackageKit to enable SMART functionality. +%description backend-aptcc +A backend for PackageKit to enable APT support via C++ API. -%package backend-yum -Summary: PackageKit YUM backend +%description backend-aptcc -l pl.UTF-8 +Backend PackageKit dodający obsługę zarządcy pakietów APT poprzez API +C++. + +%package backend-dnf +Summary: PackageKit dnf backend +Summary(pl.UTF-8): Backend PackageKit oparty na bibliotece dnfhif +Group: Libraries +Requires: %{name} = %{version}-%{release} +Requires: libdnf >= 0.43.1 +Requires: rpm >= 1:4.6 +Provides: %{name}-backend = %{version}-%{release} +Obsoletes: PackageKit-backend-hawkey < 1.0 +Obsoletes: PackageKit-backend-hif < 1.2 + +%description backend-dnf +A backend for PackageKit to enable RPM packages support via dnf +library (used in Fedora). + +%description backend-dnf -l pl.UTF-8 +Backend PackageKit dodający obsługę pakietów RPM poprzez bibliotekę +dnf (używaną w dystrybucji Fedora). + +%package backend-entropy +Summary: PackageKit Entropy backend +Summary(pl.UTF-8): Backend PackageKit Entropy Group: Libraries Requires: %{name} = %{version}-%{release} -Requires: python-packagekit = %{version}-%{release} -Requires: yum >= 3.2.19 -Provides: %{name}-backend +Requires: python3-packagekit = %{version}-%{release} +#Requires: python3-entropy +Provides: %{name}-backend = %{version}-%{release} + +%description backend-entropy +A backend for PackageKit to enable Sabayon packages support through +Entropy package manager. -%description backend-yum -A backend for PackageKit to enable yum functionality. +%description backend-entropy -l pl.UTF-8 +Backend PackageKit dodający obsługę pakietów dystrybucji Sabayon przy +użyciu zarządcy pakietów Entropy. -%package qt -Summary: packagekit-qt library -Summary(pl.UTF-8): Biblioteka packagekit-qt +%package backend-nix +Summary: PackageKit Nix backend +Summary(pl.UTF-8): Backend PackageKit oparty na zarządcy pakietów Nix Group: Libraries -Obsoletes: packagekit-qt < 0.4.0 -Obsoletes: qpackagekit < 0.4.0 +Requires: %{name} = %{version}-%{release} +Requires: nix >= 2.9 +Provides: %{name}-backend = %{version}-%{release} -%description qt -packagekit-qt library. +%description backend-nix +A backend for PackageKit to enable Nix packages support (used in +NixOS). -%description qt -l pl.UTF-8 -Biblioteka packagekit-qt. +%description backend-nix -l pl.UTF-8 +Backend PackageKit dodający obsługę pakietów Nix (używanych w NixOS). -%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} +%package backend-pisi +Summary: PackageKit PiSi backend +Summary(pl.UTF-8): Backend PackageKit PiSi +Group: Libraries +Requires: %{name} = %{version}-%{release} +Requires: python3-packagekit = %{version}-%{release} +#Requires: python3-piksemel +#Requires: python3-pisi +Provides: %{name}-backend = %{version}-%{release} -%description qt-static -Static packagekit-qt library. +%description backend-pisi +A backend for PackageKit to enable PiSi packages support. PiSi +packages are originated in Pardus distribution. -%description qt-static -l pl.UTF-8 -Statyczna biblioteka packagekit-qt. +%description backend-pisi -l pl.UTF-8 +Backend PackageKit dodający obsługę pakietów PiSi. Pakiety PiSi +wywodzą się z dystrybucji Pardus. -%package apidocs -Summary: PackageKit library API documentation -Summary(pl.UTF-8): Dokumentacja API biblioteki PackageKit -Group: Documentation -Requires: gtk-doc-common +%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} -%description apidocs -PackageKit library API documentation. +%description backend-poldek +A backend for PackageKit to enable RPM packages support through Poldek +- native PLD package manager. -%description apidocs -l pl.UTF-8 -Dokumentacja API biblioteki PackageKit. +%description backend-poldek -l pl.UTF-8 +Backend PackageKit dodający obsługę pakietów RPM poprzez Poldka - +natywnego zarządcę pakietów dystrybucji PLD. -%package docs -Summary: PackageKit documentation -Summary(pl.UTF-8): Dokumentacja PackageKit -Group: Documentation +%package backend-portage +Summary: PackageKit Portage backend +Summary(pl.UTF-8): Backend PackageKit Portage +Group: Libraries +Requires: %{name} = %{version}-%{release} +Requires: python3-packagekit = %{version}-%{release} +#Requires: python3-portage +Provides: %{name}-backend = %{version}-%{release} + +%description backend-portage +A backend for PackageKit to enable Gentoo Portage support. + +%description backend-portage -l pl.UTF-8 +Backend PackageKit dodający obsługę systemu Portage dystrybucji +Gentoo. + +%package backend-slack +Summary: PackageKit Slack backend +Summary(pl.UTF-8): Backend PackageKit Slack +Group: Libraries +Requires: %{name} = %{version}-%{release} +Provides: %{name}-backend = %{version}-%{release} +Obsoletes: PackageKit-backend-katja < 1.2 + +%description backend-slack +Slack backend for PackageKit to enable Slackware repositories support. + +%description backend-slack -l pl.UTF-8 +Backend PackageKit Slack dodający obsługę repozytoriów Slackware. + +%package backend-zypp +Summary: PackageKit Zypp backend +Summary(pl.UTF-8): Backend PackageKit Zypp +Group: Libraries +Requires: %{name} = %{version}-%{release} +Requires: libzypp >= 17.31.0 +Provides: %{name}-backend = %{version}-%{release} -%description docs -PackageKit documentation. +%description backend-zypp +A backend for PackageKit to enable RPM packages support through Zypp +library (originated in openSUSE/SLE). -%description docs -l pl.UTF-8 -Dokumentacja PackageKit. +%description backend-zypp -l pl.UTF-8 +Backend PackageKit dodający obsługę pakietów RPM poprzez bibliotekę +Zypp (pochodzącą z dystrybucji openSUSE/SLE). %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} +Requires: %{name}-gtk3-module = %{version}-%{release} %description gstreamer-plugin The PackageKit GStreamer plugin allows any GStreamer application to @@ -240,23 +363,11 @@ install codecs from configured repositories using PackageKit. 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 +Obsoletes: PackageKit-gtk-module < 1.2.0 %description gtk3-module The PackageKit GTK+ 3.x module allows any pango application to install @@ -267,120 +378,75 @@ 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 >= 1:2.0 +BuildArch: noarch %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. +Pakiet ten dostarcza bashowe uzupełnianie parametrów dla poleceń +konsolowych PackageKit. -%description -n pm-utils-packagekit -l pl.UTF-8 -Skrypt PackageKit dla pm-utils. - -%package -n python-packagekit +%package -n python3-packagekit Summary: PackageKit Python bindings Summary(pl.UTF-8): Wiązania PackageKit dla Pythona Group: Development/Languages/Python -Requires: python-dbus -Requires: python-pygobject +Obsoletes: python-packagekit < 1.2.7 -%description -n python-packagekit +%description -n python3-packagekit PackageKit Python bindings. -%description -n python-packagekit -l pl.UTF-8 +%description -n python3-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 +%patch0 -p1 %patch2 -p1 -%patch3 -p0 +%patch3 -p1 -%build -%if %{with doc} -%{__gtkdocize} +%{__sed} -i -e '1s,/usr/bin/python$,%{__python3},' backends/pisi/pisiBackend.py + +%if %{with static_libs} +%{__sed} -i -e '/^packagekit_glib2_library =/ s/shared_library/library/' lib/packagekit-glib2/meson.build %endif -%{__intltoolize} -%{__libtoolize} -%{__aclocal} -I m4 -%{__autoconf} -%{__autoheader} -%{__automake} -%configure \ - --disable-silent-rules \ - --disable-dummy \ - --disable-command-not-found \ - %{!?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=%{backend} \ - --with-security-framework=polkit \ - --with-mozilla-plugin-dir=%{_browserpluginsdir} -%{__make} -%install -rm -rf $RPM_BUILD_ROOT +%build +%meson build \ + --python.bytecompile=2 \ + -Dbash_command_not_found=false \ + %{!?with_introspection:-Dgobject_introspection=false} \ + %{?with_apidocs:-Dgtk_doc=true} \ + -Dpackaging_backend=dummy%{?with_alpm:,alpm}%{?with_apt:,aptcc}%{?with_dnf:,dnf}%{?with_entropy:,entropy}%{?with_pisi:,pisi}%{?with_poldek:,poldek}%{?with_portage:,portage}%{?with_slack:,slack}%{?with_zypp:,zypp}%{?with_nix:,nix} \ + %{!?with_python:-Dpython_backend=false} \ + -Dsystemdsystemunitdir=%{systemdunitdir} + +# TODO: +# -Ddnf_vendor= +# -Dpackagekit_user= -%{__make} install \ - DESTDIR=$RPM_BUILD_ROOT +%ninja_build -C build -# use pk-gstreamer-install as codec installer -ln -s pk-gstreamer-install $RPM_BUILD_ROOT%{_libdir}/gst-install-plugins-helper +%install +rm -rf $RPM_BUILD_ROOT +install -d $RPM_BUILD_ROOT/var/cache/PackageKit/downloads -install -d $RPM_BUILD_ROOT%{_libdir}/pm-utils/sleep.d -install -p contrib/pm-utils/95packagekit $RPM_BUILD_ROOT%{_libdir}/pm-utils/sleep.d +%ninja_install -C build -%{__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 %{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 +# use pk-gstreamer-install as codec installer +ln -s pk-gstreamer-install $RPM_BUILD_ROOT%{_libexecdir}/gst-install-plugins-helper -%py_postclean +install -d $RPM_BUILD_ROOT%{systemdunitdir}/system-update.target.wants +ln -sf ../packagekit-offline-update.service \ + $RPM_BUILD_ROOT%{systemdunitdir}/system-update.target.wants/packagekit-offline-update.service %find_lang %{name} @@ -396,50 +462,34 @@ 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 -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(755,root,root) %{_bindir}/pk-debuginfo-install %attr(750,root,root) /etc/cron.daily/packagekit-background.cron +%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}/packagekitd -%attr(755,root,root) %{_sbindir}/pk-device-rebind +%attr(755,root,root) %{_libdir}/packagekit-backend/libpk_backend_dummy.so %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}/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 +%{_datadir}/dbus-1/system.d/org.freedesktop.PackageKit.conf +%{_datadir}/metainfo/org.freedesktop.packagekit.metainfo.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 +%{systemdunitdir}/system-update.target.wants/packagekit-offline-update.service %dir /var/cache/PackageKit %dir /var/cache/PackageKit/downloads %dir /var/lib/PackageKit @@ -448,109 +498,144 @@ fi %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.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-glib2.so %{_pkgconfigdir}/packagekit-glib2.pc %dir %{_includedir}/PackageKit -%{_includedir}/PackageKit/backend %{_includedir}/PackageKit/packagekit-glib2 %{_datadir}/gir-1.0/PackageKitGlib-1.0.gir +%if %{with static_libs} %files static %defattr(644,root,root,755) %{_libdir}/libpackagekit-glib2.a +%endif -%if %{with poldek} -%files backend-poldek +%if %{with vala} +%files -n vala-packagekit %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/packagekit-backend/libpk_backend_poldek.so +%{_datadir}/vala/vapi/packagekit-glib2.deps +%{_datadir}/vala/vapi/packagekit-glib2.vapi %endif -%if %{with smart} -%files backend-smart +%if %{with apidocs} +%files apidocs %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 +%{_gtkdocdir}/PackageKit %endif -%if %{with yum} -%files backend-yum +%if %{with alpm} +%files backend-alpm %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 +%attr(755,root,root) %{_libdir}/packagekit-backend/libpk_backend_alpm.so +%dir %{_sysconfdir}/PackageKit/alpm.d +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/PackageKit/alpm.d/groups.list +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/PackageKit/alpm.d/pacman.conf +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/PackageKit/alpm.d/repos.list +# FIXME: dirs should be owned by alpm? +%dir %{_datadir}/libalpm +%dir %{_datadir}/libalpm/hooks +%{_datadir}/libalpm/hooks/90-packagekit-refresh.hook %endif -%if %{with qt} -%files qt +%if %{with apt} +%files backend-aptcc %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libpackagekit-qt.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libpackagekit-qt.so.14 +%attr(755,root,root) %{_libdir}/packagekit-backend/libpk_backend_aptcc.so +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apt/apt.conf.d/20packagekit +%dir %{_datadir}/PackageKit/helpers/aptcc +%attr(755,root,root) %{_datadir}/PackageKit/helpers/aptcc/get-distro-upgrade.py +%attr(755,root,root) %{_datadir}/PackageKit/helpers/aptcc/pkconffile +%{_datadir}/PackageKit/helpers/aptcc/pkconffile.nodiff +%endif -%files qt-devel +%if %{with dnf} +%files backend-dnf %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 +%attr(755,root,root) %{_libdir}/packagekit-backend/libpk_backend_dnf.so +%attr(755,root,root) %{_libexecdir}/packagekit-dnf-refresh-repo +%{py3_sitescriptdir}/dnf-plugins/notify_packagekit.py +%{py3_sitescriptdir}/dnf-plugins/__pycache__/notify_packagekit.cpython-*.py[co] +%endif -%files qt-static +%if %{with entropy} +%files backend-entropy %defattr(644,root,root,755) -%{_libdir}/libpackagekit-qt.a +%attr(755,root,root) %{_libdir}/packagekit-backend/libpk_backend_entropy.so +%dir %{_datadir}/PackageKit/helpers/entropy +%attr(755,root,root) %{_datadir}/PackageKit/helpers/entropy/entropyBackend.py %endif -%files apidocs +%if %{with nix} +%files backend-nix %defattr(644,root,root,755) -%{_gtkdocdir}/PackageKit +%attr(755,root,root) %{_libdir}/packagekit-backend/libpk_backend_nix.so +%endif -%files docs +%if %{with pisi} +%files backend-pisi %defattr(644,root,root,755) -%{_datadir}/PackageKit/website +%attr(755,root,root) %{_libdir}/packagekit-backend/libpk_backend_pisi.so +%dir %{_datadir}/PackageKit/helpers/pisi +%attr(755,root,root) %{_datadir}/PackageKit/helpers/pisi/pisiBackend.py +%endif -%files gstreamer-plugin +%if %{with poldek} +%files backend-poldek %defattr(644,root,root,755) -%doc contrib/gstreamer-plugin/README -%attr(755,root,root) %{_libdir}/gst-install-plugins-helper -%attr(755,root,root) %{_libdir}/pk-gstreamer-install +%attr(755,root,root) %{_libdir}/packagekit-backend/libpk_backend_poldek.so +%endif -%files gtk-module +%if %{with portage} +%files backend-portage %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 +%attr(755,root,root) %{_libdir}/packagekit-backend/libpk_backend_portage.so +%dir %{_datadir}/PackageKit/helpers/portage +%attr(755,root,root) %{_datadir}/PackageKit/helpers/portage/portageBackend.py +%endif -%files gtk3-module +%if %{with slack} +%files backend-slack %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/gtk-3.0/modules/libpk-gtk-module.so +%attr(755,root,root) %{_libdir}/packagekit-backend/libpk_backend_slack.so +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/PackageKit/Slackware.conf +%dir /var/cache/PackageKit/metadata +%ghost /var/cache/PackageKit/metadata/metadata.db +%endif -%files -n bash-completion-packagekit +%if %{with zypp} +%files backend-zypp +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/packagekit-backend/libpk_backend_zypp.so +%endif + +%files gstreamer-plugin %defattr(644,root,root,755) -%{_sysconfdir}/bash_completion.d/pk-completion.bash +%doc contrib/gstreamer-plugin/README +%attr(755,root,root) %{_libexecdir}/gst-install-plugins-helper +%attr(755,root,root) %{_libexecdir}/pk-gstreamer-install -%files -n pm-utils-packagekit +%files gtk3-module %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/pm-utils/sleep.d/95packagekit +%doc contrib/gtk-module/{GLASS.txt,README} +%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 python-packagekit +%files -n bash-completion-packagekit %defattr(644,root,root,755) -%dir %{py_sitescriptdir}/packagekit -%{py_sitescriptdir}/packagekit/*.py[co] +%{bash_compdir}/pkcon -%if %{with browser} -%files -n browser-plugin-packagekit +%if %{with python} +%files -n python3-packagekit %defattr(644,root,root,755) -%attr(755,root,root) %{_browserpluginsdir}/packagekit-plugin.so +%{py3_sitescriptdir}/packagekit %endif