packagekit/contrib/PackageKit.spec.in

456 lines
13 KiB
RPMSpec

%define glib2_version 2.16.1
%define dbus_version 1.1.1
%define dbus_glib_version 0.74
%define polkit_version 0.92
%define libnm_glib_version 0.6.4
%define alphatag #ALPHATAG#
%{!?python_sitelib: %define python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
Summary: Package management service
Name: PackageKit
Version: #VERSION#
Release: 0.#BUILD#%{?alphatag}%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.packagekit.org
Source0: http://www.packagekit.org/releases/%{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires: dbus >= %{dbus_version}
Requires: dbus-glib >= %{dbus_glib_version}
Requires: PackageKit-glib = %{version}-%{release}
Requires: PackageKit-gtk-module = %{version}-%{release}
Requires: PackageKit-yum-plugin = %{version}-%{release}
Requires: PackageKit-yum = %{version}-%{release}
Requires: shared-mime-info
Requires: comps-extras
%if 0%{?rhel} == 0
Requires: preupgrade
%endif
BuildRequires: polkit >= %{polkit_version}
BuildRequires: glib2-devel >= %{glib2_version}
BuildRequires: dbus-devel >= %{dbus_version}
BuildRequires: dbus-glib-devel >= %{dbus_glib_version}
BuildRequires: pam-devel
BuildRequires: libX11-devel
BuildRequires: xmlto
BuildRequires: sqlite-devel
BuildRequires: NetworkManager-glib-devel >= %{libnm_glib_version}
BuildRequires: polkit-devel >= %{polkit_version}
BuildRequires: libtool
BuildRequires: docbook-utils
BuildRequires: gnome-doc-utils
BuildRequires: python-devel
BuildRequires: perl(XML::Parser)
BuildRequires: intltool
BuildRequires: gettext
BuildRequires: libgudev1-devel
BuildRequires: xulrunner-devel
BuildRequires: libarchive-devel
BuildRequires: gstreamer-devel
BuildRequires: gstreamer-plugins-base-devel
BuildRequires: qt4-devel
BuildRequires: cppunit-devel
BuildRequires: pango-devel
BuildRequires: pm-utils-devel
BuildRequires: fontconfig-devel
BuildRequires: gobject-introspection-devel
#BuildRequires: gtk-sharp2-devel
#BuildRequires: mono-core
# functionality moved to udev itself
Obsoletes: PackageKit-udev-helper < %{version}-%{release}
Obsoletes: udev-packagekit < %{version}-%{release}
%description
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.
%package yum
Summary: PackageKit YUM backend
Group: System Environment/Libraries
Requires: yum >= 3.2.19
Requires: %{name} = %{version}-%{release}
%description yum
A backend for PackageKit to enable yum functionality.
%if 0%{?rhel} == 0
%package smart
Summary: PackageKit SMART backend
Group: System Environment/Libraries
Requires: smart
Requires: %{name} = %{version}-%{release}
%description smart
A backend for PackageKit to enable SMART functionality.
%endif
%package docs
Summary: Documentation for PackageKit
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
BuildArch: noarch
%description docs
API docs for PackageKit.
%package yum-plugin
Summary: Tell PackageKit to check for updates when yum exits
Group: System Environment/Base
Requires: yum >= 3.0
Requires: PackageKit
Obsoletes: yum-packagekit < %{version}-%{release}
%description yum-plugin
PackageKit-yum-plugin tells PackageKit to check for updates when yum exits.
This way, if you run 'yum update' and install all available updates, puplet
will almost instantly update itself to reflect this.
%package glib
Summary: GLib libraries for accessing PackageKit
Group: Development/Libraries
Requires: dbus >= %{dbus_version}
Requires: %{name} = %{version}-%{release}
Requires: gobject-introspection
Obsoletes: PackageKit-libs < %{version}-%{release}
Provides: PackageKit-libs = %{version}-%{release}
%description glib
GLib libraries for accessing PackageKit.
%package qt
Summary: QT libraries for accessing PackageKit
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
%description qt
QT libraries for accessing PackageKit.
%package cron
Summary: Cron job and related utilities for PackageKit
Group: System Environment/Base
Requires: cronie
Requires: %{name} = %{version}-%{release}
%description cron
Crontab and utilities for running PackageKit as a cron job.
%package debug-install
Summary: Facility to install debugging packages using PackageKit
Group: System Environment/Base
Requires: %{name} = %{version}-%{release}
Obsoletes: PackageKit-debuginfo-install <= 0.5.2-0.1.20090902git.fc12
%description debug-install
Provides facility to install debugging packages using PackageKit.
%package glib-devel
Summary: GLib Libraries and headers for PackageKit
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: dbus-devel >= %{dbus_version}
Requires: pkgconfig
Requires: sqlite-devel
Requires: PackageKit-glib = %{version}-%{release}
Obsoletes: PackageKit-devel < %{version}-%{release}
Provides: PackageKit-devel = %{version}-%{release}
%description glib-devel
GLib headers and libraries for PackageKit.
%package qt-devel
Summary: Qt Libraries and headers for PackageKit
Group: Development/Libraries
Requires: %{name}-qt = %{version}-%{release}
Requires: pkgconfig
%description qt-devel
Qt headers and libraries for PackageKit.
%package backend-devel
Summary: Headers to compile out of tree PackageKit backends
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
%description backend-devel
Headers to compile out of tree PackageKit backends.
%package browser-plugin
Summary: Browser Plugin for PackageKit
Group: Development/Libraries
Requires: gtk2
Requires: PackageKit-glib = %{version}-%{release}
Requires: mozilla-filesystem
%description browser-plugin
The PackageKit browser plugin allows web sites to offer the ability to
users to install and update packages from configured repositories
using PackageKit.
%package gstreamer-plugin
Summary: Install GStreamer codecs using PackageKit
Group: Development/Libraries
Requires: gstreamer
Requires: PackageKit-glib = %{version}-%{release}
Obsoletes: codeina < 0.10.1-10
Provides: codeina = 0.10.1-10
%description gstreamer-plugin
The PackageKit GStreamer plugin allows any Gstreamer application to install
codecs from configured repositories using PackageKit.
%package gtk-module
Summary: Install fonts automatically using PackageKit
Group: Development/Libraries
Requires: pango
Requires: PackageKit-glib = %{version}-%{release}
%description gtk-module
The PackageKit GTK+ module allows any Pango application to install
fonts from configured repositories using PackageKit.
%package command-not-found
Summary: Ask the user to install command line programs automatically
Group: Development/Libraries
Requires: bash
Requires: PackageKit-glib = %{version}-%{release}
%description command-not-found
A simple helper that offers to install new packages on the command line
using PackageKit.
%package device-rebind
Summary: Device rebind functionality for PackageKit
Group: Development/Libraries
Requires: PackageKit-glib = %{version}-%{release}
%description device-rebind
The device rebind functionality offer the ability to re-initialize devices
after firmware has been installed by PackageKit. This removes the need for the
user to restart the computer or remove and re-insert the device.
%prep
%setup -q
%build
%configure \
--disable-static \
--enable-yum \
%if 0%{?rhel} == 0
--enable-smart \
--enable-introspection \
%endif
--with-default-backend=yum \
--disable-local \
--disable-ruck \
--disable-strict \
%if 0
--disable-glib \
%endif
--disable-tests
make %{?_smp_mflags}
%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
rm -f $RPM_BUILD_ROOT%{_libdir}/libpackagekit*.la
rm -f $RPM_BUILD_ROOT%{_libdir}/packagekit-backend/*.la
rm -f $RPM_BUILD_ROOT%{_libdir}/mozilla/plugins/packagekit-plugin.la
rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/modules/*.la
rm -f $RPM_BUILD_ROOT%{_libdir}/polkit-1/extensions/libpackagekit-action-lookup.la
touch $RPM_BUILD_ROOT%{_localstatedir}/cache/PackageKit/groups.sqlite
# create a link that GStreamer will recognise
pushd ${RPM_BUILD_ROOT}%{_libexecdir} > /dev/null
ln -s pk-gstreamer-install gst-install-plugins-helper
popd > /dev/null
# create a link that from the comps icons to PK, as PackageKit frontends
# cannot add /usr/share/pixmaps/comps to the icon search path as some distros
# do not use comps. Patching this in the frontend is not a good idea, as there
# are multiple frontends in multiple programming languages.
pushd ${RPM_BUILD_ROOT}%{_datadir}/PackageKit > /dev/null
ln -s ../pixmaps/comps icons
popd > /dev/null
%find_lang %name
%clean
rm -rf $RPM_BUILD_ROOT
%post
update-mime-database %{_datadir}/mime &> /dev/null || :
%postun
update-mime-database %{_datadir}/mime &> /dev/null || :
%post glib -p /sbin/ldconfig
%post qt -p /sbin/ldconfig
%postun glib -p /sbin/ldconfig
%postun qt -p /sbin/ldconfig
%files -f %{name}.lang
%defattr(-,root,root,-)
%doc README AUTHORS NEWS COPYING
%dir %{_datadir}/PackageKit
%dir %{_datadir}/PackageKit/helpers
%dir %{_sysconfdir}/PackageKit
%dir %{_localstatedir}/lib/PackageKit
%dir %{python_sitelib}/packagekit
%dir %{_localstatedir}/cache/PackageKit
%ghost %verify(not md5 size mtime) %{_localstatedir}/cache/PackageKit/groups.sqlite
%dir %{_localstatedir}/cache/PackageKit/downloads
%{python_sitelib}/packagekit/*py*
%dir %{_sysconfdir}/bash_completion.d
%dir %{_libdir}/packagekit-backend
%config %{_sysconfdir}/bash_completion.d/pk-completion.bash
%config(noreplace) %{_sysconfdir}/PackageKit/*.conf
%config %{_sysconfdir}/dbus-1/system.d/*
%dir %{_datadir}/PackageKit/helpers/test_spawn
%dir %{_datadir}/PackageKit/icons
%{_datadir}/PackageKit/helpers/test_spawn/*
%{_datadir}/man/man1/pkcon.1.gz
%{_datadir}/man/man1/pkmon.1.gz
%{_datadir}/man/man1/pkgenpack.1.gz
%{_datadir}/polkit-1/actions/*.policy
%{_datadir}/mime/packages/packagekit-*.xml
%{_datadir}/PackageKit/pk-upgrade-distro.sh
%{_sbindir}/packagekitd
%{_bindir}/pkmon
%{_bindir}/pkcon
%{_bindir}/pkgenpack
%{_bindir}/packagekit-bugreport.sh
%exclude %{_libdir}/libpackagekit*.so.*
%{_libdir}/packagekit-backend/libpk_backend_dummy.so
%{_libdir}/packagekit-backend/libpk_backend_test_*.so
%ghost %verify(not md5 size mtime) %{_localstatedir}/lib/PackageKit/transactions.db
%{_datadir}/dbus-1/system-services/*.service
%{_libdir}/pm-utils/sleep.d/95packagekit
%{_libdir}/polkit-1/extensions/libpackagekit-action-lookup.so
%files docs
%defattr(-,root,root,-)
%doc README AUTHORS NEWS COPYING
%{_datadir}/gtk-doc/html/PackageKit
%dir %{_datadir}/PackageKit/website
%{_datadir}/PackageKit/website/*.html
%{_datadir}/PackageKit/website/*.css
%dir %{_datadir}/PackageKit/website/img
%{_datadir}/PackageKit/website/img/*.png
%dir %{_datadir}/PackageKit/website/img/thumbnails
%{_datadir}/PackageKit/website/img/thumbnails/*.png
%if 0%{?rhel} == 0
%files smart
%defattr(-,root,root,-)
%doc README AUTHORS NEWS COPYING
%{_libdir}/packagekit-backend/libpk_backend_smart.so
%dir %{_datadir}/PackageKit/helpers/smart
%{_datadir}/PackageKit/helpers/smart/*
%endif
%files yum
%defattr(-,root,root,-)
%doc README AUTHORS NEWS COPYING
%{_libdir}/packagekit-backend/libpk_backend_yum.so
%dir %{_datadir}/PackageKit/helpers/yum
%{_datadir}/PackageKit/helpers/yum/*
%files yum-plugin
%defattr(-, root, root)
%doc README AUTHORS NEWS COPYING
%config(noreplace) %{_sysconfdir}/yum/pluginconf.d/refresh-packagekit.conf
/usr/lib/yum-plugins/refresh-packagekit.*
%files glib
%defattr(-,root,root,-)
%doc README AUTHORS NEWS COPYING
%{_libdir}/*packagekit-glib2.so.*
%{_libdir}/girepositry-1.0/PackageKitGlib-1.0.typelib
%{_datadir}/gir-1.0/PackageKitGlib-1.0.gir
%files qt
%defattr(-,root,root,-)
%doc README AUTHORS NEWS COPYING
%{_libdir}/*packagekit-qt*.so.*
%files cron
%defattr(-,root,root,-)
%doc README AUTHORS NEWS COPYING
%config %{_sysconfdir}/cron.daily/packagekit-background.cron
%config(noreplace) %{_sysconfdir}/sysconfig/packagekit-background
%files debug-install
%defattr(-,root,root,-)
%doc README AUTHORS NEWS COPYING
%{_bindir}/pk-debuginfo-install
%{_datadir}/man/man1/pk-debuginfo-install.1.gz
%files browser-plugin
%defattr(-,root,root,-)
%doc README AUTHORS NEWS COPYING
%{_libdir}/mozilla/plugins/packagekit-plugin.so
%files gstreamer-plugin
%defattr(-,root,root,-)
%doc README AUTHORS NEWS COPYING
%{_libexecdir}/pk-gstreamer-install
%{_libexecdir}/gst-install-plugins-helper
%files gtk-module
%defattr(-,root,root,-)
%doc README AUTHORS NEWS COPYING
%{_libdir}/gtk-2.0/modules/*.so
%files command-not-found
%defattr(-,root,root,-)
%doc README AUTHORS NEWS COPYING
%{_sysconfdir}/profile.d/*
%{_libexecdir}/pk-command-not-found
%files device-rebind
%defattr(-,root,root,-)
%doc README AUTHORS NEWS COPYING
%{_sbindir}/pk-device-rebind
%{_datadir}/man/man1/pk-device-rebind.1.gz
%files glib-devel
%defattr(-,root,root,-)
%doc README AUTHORS NEWS COPYING
%{_libdir}/libpackagekit-glib2.so
%{_libdir}/pkgconfig/packagekit-glib2.pc
%dir %{_includedir}/PackageKit
%dir %{_includedir}/PackageKit/packagekit-glib2
%{_includedir}/PackageKit/packagekit-glib*/*.h
%files qt-devel
%defattr(-,root,root,-)
%doc README AUTHORS NEWS COPYING
%{_libdir}/libpackagekit-qt*.so
%{_libdir}/pkgconfig/packagekit-qt.pc
%dir %{_includedir}/PackageKit
%dir %{_includedir}/PackageKit/packagekit-qt
%{_includedir}/PackageKit/packagekit-qt/QPackageKit
%{_includedir}/PackageKit/packagekit-qt/*.h
%{_datadir}/cmake/Modules/FindQPackageKit.cmake
%files backend-devel
%defattr(-,root,root,-)
%doc README AUTHORS NEWS COPYING
%dir %{_includedir}/PackageKit
%dir %{_includedir}/PackageKit/backend
%{_includedir}/PackageKit/backend/*.h
%changelog
* #LONGDATE# Richard Hughes <richard@hughsie.com> #VERSION#-0.#BUILD##ALPHATAG#
- Update from git