# # spec file for package PackageKit # # Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # $ pkcon search file /usr/bin/anjuta %define BUILD_CNF 1 %if 0%{suse_version} > 1130 %define xulrunner_version 20 %else %if 0%{suse_version} > 1120 %define xulrunner_version 192 %else %if 0%{suse_version} > 1110 %define xulrunner_version 191 %else %define xulrunner_version 190 %endif %endif %endif Name: PackageKit Version: 0.6.19 Release: 1 # FIXME: on update, check if we can remove the rm hack for .moc files in %%prep (see fdo#40662). Last checked: 0.6.18. License: GPLv2+ BuildRequires: NetworkManager-devel BuildRequires: dbus-1-glib-devel BuildRequires: docbook-utils BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: gobject-introspection-devel BuildRequires: gstreamer-0_10-devel BuildRequires: gstreamer-0_10-plugins-base-devel BuildRequires: gtk-doc BuildRequires: gtk2-devel BuildRequires: gtk3-devel BuildRequires: intltool BuildRequires: libarchive-devel BuildRequires: libcppunit-devel BuildRequires: libgudev-1_0-devel BuildRequires: libqt4-devel BuildRequires: libzypp-devel BuildRequires: mozilla-nspr-devel %if 0%{suse_version} > 1140 BuildRequires: pkgconfig(npapi-sdk) %else BuildRequires: mozilla-xulrunner%{xulrunner_version}-devel %endif BuildRequires: pm-utils BuildRequires: polkit-devel BuildRequires: python-devel # We need the %%mime_database_* macros BuildRequires: shared-mime-info BuildRequires: sqlite-devel BuildRequires: translation-update-upstream # Only needed because we don't (and won't) support building xz tarballs by default... See bnc#697467 BuildRequires: xz Group: System/Daemons Summary: Simple software installation management software Url: http://packagekit.org/ Source: http://www.packagekit.org/releases/%{name}-%{version}.tar.xz Source2: baselibs.conf # To update this package, please git-format-patch the tag of the # tarball version (eg: PACKAGEKIT_0_6_19) vs the distro tag (eg: openSUSE_Factory) # in https://github.com/openSUSE/PackageKit and keep the patches # in that git repository for easier tracking and merging. # When updating the package you can rebase the distro branch against # the new release tag. # # PATCH-FEATURE-OPENSUSE 0001-Change-the-configuration-of-the-cron-script-to-a-sys.patch vuntz@opensuse.org -- Change the configuration of the cron script to a sysconfig-like config Patch0: 0001-Change-the-configuration-of-the-cron-script-to-a-sys.patch # PATCH-FIX-UPSTREAM backport part of fix for bnc#679650 Patch1: 0002-dont-call-build-pool-inside-the-loop.patch # PATCH-FIX-UPSTREAM backport part of fix for bnc#679650 Patch2: 0003-only-load-repositories-once.patch # PATCH-FIX-UPSTREAM backport part of fix for bnc#679650 Patch3: 0004-Workaround-Don-t-refresh-repositories-each-time-for-.patch # PATCH-FIX-UPSTREAM PackageKit-npapi.patch fdo#40026 wr@rosenauer.org -- Build against npapi-sdk instead of xulrunner Patch4: 0005-Build-against-npapi-sdk-instead-of-xulrunner.patch # BuildRoot: %{_tmppath}/%{name}-%{version}-build Requires: %{name}-branding = %{version} Recommends: %{name}-lang PreReq: %fillup_prereq # ruck was removed in 0.6.4, make sure it gets removed Obsoletes: ruck <= 0.6.3 %py_requires %if %suse_version <= 1110 %define python_sitelib %{py_sitedir} %endif %description PackageKit is a system designed to make installing and updating software on your computer easier. The primary design goal is to unify all the software graphical tools used in different distributions, and use some of the latest technology like PolicyKit to make the process suck less. %package browser-plugin License: GPLv2+ Summary: Simple software installation management software Group: System/Daemons Recommends: %{name} = %{version} Supplements: packageand(%{name}:MozillaFirefox) Supplements: packageand(%{name}:epiphany) %description browser-plugin PackageKit is a system designed to make installing and updating software on your computer easier. The primary design goal is to unify all the software graphical tools used in different distributions, and use some of the latest technology like PolicyKit to make the process suck less. %package gstreamer-plugin License: GPLv2+ Summary: Simple software installation management software Group: System/Daemons Requires(post): update-alternatives Requires(postun): update-alternatives Recommends: %{name} = %{version} Supplements: packageand(%{name}:gstreamer-0_10-plugins-base) %if %suse_version > 1130 Provides: opensuse-codecs-installer = 10.3.1 Obsoletes: opensuse-codecs-installer <= 10.3.1 %endif %description gstreamer-plugin PackageKit is a system designed to make installing and updating software on your computer easier. The primary design goal is to unify all the software graphical tools used in different distributions, and use some of the latest technology like PolicyKit to make the process suck less. %package gtk-module License: GPLv2+ Summary: Simple software installation management software Group: System/Daemons Recommends: %{name} = %{version} Supplements: packageand(%{name}:gtk2) %description gtk-module PackageKit is a system designed to make installing and updating software on your computer easier. The primary design goal is to unify all the software graphical tools used in different distributions, and use some of the latest technology like PolicyKit to make the process suck less. %package gtk3-module License: GPLv2+ Summary: Simple software installation management software Group: System/Daemons Recommends: %{name} = %{version} Supplements: packageand(%{name}:gtk3) %description gtk3-module PackageKit is a system designed to make installing and updating software on your computer easier. The primary design goal is to unify all the software graphical tools used in different distributions, and use some of the latest technology like PolicyKit to make the process suck less. %package devel License: GPLv2+ Summary: Needed include files and libraries for development Requires: %{name} = %{version} Requires: libpackagekit-glib2-devel Group: System/Daemons %if 0%{?suse_version} >= 1120 BuildArch: noarch %endif %description devel This package contains all necessary include files, libraries, configuration files and development tools (with manual pages) needed to compile and link applications using PackageKit. %package -n libpackagekit-glib2-14 License: GPLv2+ Summary: Simple software installation management software Group: System/Daemons Recommends: %{name} Provides: libpackagekit-glib12 = %{version} Obsoletes: libpackagekit-glib12 < %{version} %description -n libpackagekit-glib2-14 PackageKit is a system designed to make installing and updating software on your computer easier. The primary design goal is to unify all the software graphical tools used in different distributions, and use some of the latest technology like PolicyKit to make the process suck less. %package -n libpackagekit-glib2-devel License: GPLv2+ Summary: Simple software installation management software Group: System/Daemons Requires: libpackagekit-glib2-14 = %{version} Provides: libpackagekit-glib12-devel = %{version} Obsoletes: libpackagekit-glib12-devel < %{version} %description -n libpackagekit-glib2-devel PackageKit is a system designed to make installing and updating software on your computer easier. The primary design goal is to unify all the software graphical tools used in different distributions, and use some of the latest technology like PolicyKit to make the process suck less. %package -n libpackagekit-qt14 License: GPLv2+ Summary: Simple software installation management software Group: System/Daemons Recommends: %{name} %description -n libpackagekit-qt14 PackageKit is a system designed to make installing and updating software on your computer easier. The primary design goal is to unify all the software graphical tools used in different distributions, and use some of the latest technology like PolicyKit to make the process suck less. %package -n libpackagekit-qt-devel License: GPLv2+ Summary: Simple software installation management software Group: System/Daemons Requires: libpackagekit-qt14 = %{version} # Old name of the package; we can't provide it since the ABI has changed Obsoletes: libpackagekit-qt12-devel <= 0.5.4 %description -n libpackagekit-qt-devel PackageKit is a system designed to make installing and updating software on your computer easier. The primary design goal is to unify all the software graphical tools used in different distributions, and use some of the latest technology like PolicyKit to make the process suck less. %package -n libpackagekit-qt2-2 License: GPLv2+ Summary: Simple software installation management software Group: System/Daemons Recommends: %{name} %description -n libpackagekit-qt2-2 PackageKit is a system designed to make installing and updating software on your computer easier. The primary design goal is to unify all the software graphical tools used in different distributions, and use some of the latest technology like PolicyKit to make the process suck less. %package -n libpackagekit-qt2-devel License: GPLv2+ Summary: Simple software installation management software Group: System/Daemons Requires: libpackagekit-qt2-2 = %{version} %description -n libpackagekit-qt2-devel PackageKit is a system designed to make installing and updating software on your computer easier. The primary design goal is to unify all the software graphical tools used in different distributions, and use some of the latest technology like PolicyKit to make the process suck less. %package doc License: GPLv2+ Summary: Simple software installation management software Group: System/Daemons Requires: %{name} = %{version} %if 0%{?suse_version} >= 1120 BuildArch: noarch %endif %description doc PackageKit is a system designed to make installing and updating software on your computer easier. The primary design goal is to unify all the software graphical tools used in different distributions, and use some of the latest technology like PolicyKit to make the process suck less. %package branding-upstream License: GPLv2+ Summary: Simple software installation management software -- Upstream default configuration Group: System/Daemons Requires: %{name} = %{version} Provides: %{name}-branding = %{version} Conflicts: otherproviders(%{name}-branding) Supplements: packageand(%{name}:branding-upstream) BuildArch: noarch #BRAND: Provide configuration files - #BRAND: /etc/PackageKit/* %description branding-upstream PackageKit is a system designed to make installing and updating software on your computer easier. The primary design goal is to unify all the software graphical tools used in different distributions, and use some of the latest technology like PolicyKit to make the process suck less. This package provides the upstream default configuration for PackageKit. %lang_package %prep %setup -q translation-update-upstream %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 %if 0%{suse_version} > 1140 %patch4 -p1 %endif # Remove .moc files, as they make the build fail with our qt. They will be re-created during the build. See fdo#40662. rm lib/packagekit-qt/src/*.moc lib/packagekit-qt2/*.moc %build %configure \ --disable-static \ --enable-zypp \ --with-default-backend=zypp \ --with-security-framework=polkit \ --with-mozilla-plugin-dir=%{_libdir}/browser-plugins \ %if ! %BUILD_CNF --disable-command-not-found \ %endif %{nil} make %{?_smp_mflags} V=1 %install %makeinstall mv %{buildroot}%{_sysconfdir}/bash_completion.d/pk-completion.{ba,}sh find %{buildroot} -type f -name "*.la" -exec %{__rm} -fv {} + # the pm-utils package in openSUSE uses libexecdir and not libdir %if "%{_libdir}" != "%{_libexecdir}" test ! -e %{buildroot}%{_libexecdir}/pm-utils mv %{buildroot}%{_libdir}/pm-utils %{buildroot}%{_libexecdir}/pm-utils %endif # move the cron configuration to a sysconfig template install -d %{buildroot}%{_localstatedir}/adm/fillup-templates mv %{buildroot}%{_sysconfdir}/sysconfig/packagekit-background %{buildroot}%{_localstatedir}/adm/fillup-templates/sysconfig.packagekit-background # create ghost file touch %{buildroot}%{_libexecdir}/gst-install-plugins-helper %find_lang %{name} %{?no_lang_C} %fdupes $RPM_BUILD_ROOT %post %{fillup_only -n packagekit-background} %mime_database_post %postun %mime_database_postun %post gstreamer-plugin update-alternatives --install %{_libexecdir}/gst-install-plugins-helper gst-install-plugins-helper %{_libexecdir}/pk-gstreamer-install 10 %postun gstreamer-plugin # Note: we don't use "$1 -eq 0", to avoid issues if the package gets renamed if [ ! -f %{_libexecdir}/pk-gstreamer-install ]; then update-alternatives --remove gst-install-plugins-helper %{_libexecdir}/pk-gstreamer-install fi %post -n libpackagekit-glib2-14 -p /sbin/ldconfig %post -n libpackagekit-qt14 -p /sbin/ldconfig %post -n libpackagekit-qt2-2 -p /sbin/ldconfig %postun -n libpackagekit-glib2-14 -p /sbin/ldconfig %postun -n libpackagekit-qt14 -p /sbin/ldconfig %postun -n libpackagekit-qt2-2 -p /sbin/ldconfig %files lang -f %{name}.lang %files %defattr(-,root,root) %doc AUTHORS ChangeLog COPYING HACKING NEWS README %dir %{_sysconfdir}/PackageKit %dir %{_sysconfdir}/PackageKit/events %dir %{_sysconfdir}/PackageKit/events/post-transaction.d %dir %{_sysconfdir}/PackageKit/events/pre-transaction.d %dir %{_datadir}/PackageKit %dir %{_datadir}/PackageKit/helpers %dir %{_datadir}/PackageKit/helpers/test_spawn %dir %{_libdir}/packagekit-backend %dir %{python_sitelib}/packagekit %dir %{_libexecdir}/pm-utils %dir %{_libexecdir}/pm-utils/sleep.d %dir %{_localstatedir}/lib/PackageKit %{_sysconfdir}/PackageKit/events/post-transaction.d/README %{_sysconfdir}/PackageKit/events/pre-transaction.d/README %{_sysconfdir}/bash_completion.d/pk-completion.sh %{_sysconfdir}/cron.daily/packagekit-background.cron %{_sysconfdir}/dbus-1/system.d/org.freedesktop.PackageKit.conf %if %BUILD_CNF %{_sysconfdir}/profile.d/PackageKit.sh %endif %{_localstatedir}/adm/fillup-templates/sysconfig.packagekit-background %{_bindir}/packagekit-bugreport.sh %{_bindir}/pk-debuginfo-install %{_bindir}/pkcon %{_bindir}/pkmon %{_bindir}/pkgenpack %{_libdir}/packagekit-backend/*.so %{_libexecdir}/packagekitd %{_libexecdir}/pm-utils/sleep.d/95packagekit %if %BUILD_CNF %{_libexecdir}/pk-command-not-found %endif %{python_sitelib}/packagekit/* %{_sbindir}/pk-device-rebind %{_datadir}/mime/packages/packagekit-*.xml %{_datadir}/PackageKit/helpers/test_spawn/search-name.sh %{_datadir}/PackageKit/pk-upgrade-distro.sh %{_datadir}/polkit-1/actions/org.freedesktop.packagekit.policy %{_datadir}/dbus-1/system-services/* %doc %{_mandir}/man?/*.* %verify(not md5 size mtime) %{_localstatedir}/lib/PackageKit/transactions.db %files browser-plugin %defattr(-,root,root) %{_libdir}/browser-plugins/packagekit-plugin.so %files gstreamer-plugin %defattr(-,root,root) %ghost %attr(755,root,root) %{_libexecdir}/gst-install-plugins-helper %{_libexecdir}/pk-gstreamer-install %files gtk-module %defattr(-,root,root) %{_libdir}/gtk-2.0/modules/* %files gtk3-module %defattr(-,root,root) %{_libdir}/gtk-3.0/modules/* %files doc %defattr(-,root,root) %{_datadir}/PackageKit/website %files devel %defattr(-,root,root) %dir %{_datadir}/gtk-doc %dir %{_datadir}/gtk-doc/html %{_datadir}/gtk-doc/html/PackageKit %dir %{_includedir}/PackageKit %dir %{_includedir}/PackageKit/backend %{_includedir}/PackageKit/backend/pk*.h %files -n libpackagekit-glib2-14 %defattr(-,root,root) %{_libdir}/libpackagekit-glib2.so.* %{_libdir}/girepository-1.0/PackageKitGlib-1.0.typelib %files -n libpackagekit-glib2-devel %defattr(-,root,root) %{_libdir}/libpackagekit-glib2.so %{_libdir}/pkgconfig/packagekit-glib2.pc %dir %{_includedir}/PackageKit %{_includedir}/PackageKit/packagekit-glib2/ %{_datadir}/gir-1.0/PackageKitGlib-1.0.gir %files -n libpackagekit-qt14 %defattr(-,root,root) %{_libdir}/libpackagekit-qt.so.* %files -n libpackagekit-qt-devel %defattr(-,root,root) %{_libdir}/libpackagekit-qt.so %{_libdir}/pkgconfig/packagekit-qt.pc %dir %{_includedir}/PackageKit %{_includedir}/PackageKit/packagekit-qt/ %dir %{_datadir}/cmake %{_datadir}/cmake/Modules/* %files -n libpackagekit-qt2-2 %defattr(-,root,root) %{_libdir}/libpackagekit-qt2.so.* %files -n libpackagekit-qt2-devel %defattr(-,root,root) %{_libdir}/libpackagekit-qt2.so %{_libdir}/pkgconfig/packagekit-qt2.pc %dir %{_includedir}/PackageKit %{_includedir}/PackageKit/packagekit-qt2/ %files branding-upstream %defattr(-,root,root) %if %BUILD_CNF %config(noreplace) %{_sysconfdir}/PackageKit/CommandNotFound.conf %endif %config(noreplace) %{_sysconfdir}/PackageKit/PackageKit.conf # This file should not be touched by users/admins, so we can replace it %{_sysconfdir}/PackageKit/Vendor.conf %changelog