Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Lachu:SystemServices
Lachu-PackageKit
PackageKit.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File PackageKit.spec of Package Lachu-PackageKit
# # spec file for package PackageKit # # Copyright (c) 2021 SUSE LLC # # 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 https://bugs.opensuse.org/ # %if 0%{?sle_version} && 0%{?sle_version} < 160000 %bcond_with offline_updates %else %bcond_without offline_updates %endif # Only make DNF backend available openSUSE Leap 15.1+ %if 0%{?sle_version} >= 150100 || 0%{?suse_version} >= 1550 %bcond_without dnf %bcond_with cnf %else %bcond_with dnf %bcond_with cnf %endif Name: Lachu-PackageKit Provides: PackageKit Conflicts: PackageKit Version: 1.2.2 Release: 0 Summary: Simple software installation management software with dependency handling support License: GPL-2.0-or-later Group: System/Daemons URL: https://www.freedesktop.org/software/PackageKit Source0: %{url}/releases/%{name}-%{version}.tar.xz Source1: %{url}/releases/%{name}-%{version}.tar.xz.asc Source2: baselibs.conf Source3: PackageKit.tmpfiles Source99: PackageKit.keyring # PATCH-FEATURE-OPENSUSE PackageKit-systemd-timers.patch bsc#1115410 sckang@suse.com -- Migrate from cron to systemd timers Patch1: PackageKit-systemd-timers.patch # PATCH-FIX-OPENSUSE PackageKit-remove-polkit-rules.patch bsc#1125434 sckang@suse.com -- Remove polkit rules file Patch2: PackageKit-remove-polkit-rules.patch # PATCH-FIX-OPENSUSE PackageKit-dnf-Add-support-for-AppStream-repodata-basenames-use.patch ngompa13@gmail.com -- Band-aid to deal with OBS producing differently named appstream repodata files Patch3: PackageKit-dnf-Add-support-for-AppStream-repodata-basenames-use.patch # PATCH-FIX-UPSTREAM PackageKit-zypp-cleanup-tmp-files.patch bsc#1169739 gh#hughsie/PackageKit/commit#cf73b01a sckang@suse.com -- Revert "Revert "zypp: Clean up temporary files when PK quits"" Patch4: PackageKit-zypp-cleanup-tmp-files.patch # PATCH-FIX-UPSTREAM PackageKit-fix-crash-pre-dbus.patch gh#hughsie/PackageKit!436 -- Do not crash when calling pk_dbus_get_uid() before D-Bus is setup Patch5: PackageKit-fix-crash-pre-dbus.patch # PATCH-FIX-UPSTREAM PackageKit-zypp-reset-update-mode-after-get-updates.patch gh#hughsie/PackageKit/commit#b208f551 bsc#1180150 sckang@suse.com -- zypp: Reset update mode after getting updates Patch6: PackageKit-zypp-reset-update-mode-after-get-updates.patch # PATCH-FIX-UPSTREAM PackageKit-dnf-Add-support-for-coercing-upgrade-to-distupgrade.patch gh#hughsie/PackageKit#449 -- Use dup for upgrades on Tumbleweed with DNF Patch7: PackageKit-dnf-Add-support-for-coercing-upgrade-to-distupgrade.patch # PATCH-FIX-UPSTREAM PackageKit-zypp-initialize-pool.patch gh#hughsie/PackageKit/commit#3efa0c524, bsc#1180597 -- zypp: Make sure pool is initialized at the beginning of some methods Patch8: PackageKit-zypp-initialize-pool.patch # PATCH-FIX-UPSTREAM PackageKit-remove-transaction-size-limit.patch gh#hughsie/PackageKit/commit#ff01813 gh#hughsie/PackageKit/commit#ff01813 -- Fix a "too many packages to process" error against full rebuilds Patch9: PackageKit-remove-transaction-size-limit.patch # PATCH-FIX-UPSTREAM PackageKit-cancel-transaction-if-daemon-disappears.patch gh#hughsie/PackageKit#464 sckang@suse.com -- Fix hangs in packagekit-glib2 client if daemon crashes Patch10: PackageKit-cancel-transaction-if-daemon-disappears.patch Patch11: 0001-Added-initial-integration-with-bonsole-and-servicesU.patch Patch12: 0002-Added-support-for-console-clients.patch Patch13: 0003-Repair-bug-causing-console-backend-won-t-work-proper.patch Patch14: 0004-Work-torwards-disabling-second-resolution-handling-d.patch Patch15: 0005-Changes-needed-to-remember-how-user-handle-dependenc.patch Patch16: 0006-Further-work-on-cache.patch Patch17: 0007-Made-code-responsible-for-cache-handling-at-least-wo.patch Patch18: 0008-Refactor-get_line-routine.patch Patch19: 0009-1.-Properly-truncate-and-close-cache-file.patch Patch20: 0010-Repair-resolution-handling-problem-causes-there-was-.patch Patch21: 0011-Seperate-executable-now-be-responsible-for-handling-.patch Patch22: 0012-Repair-many-bugs-related-to-communication-between-zy.patch Patch23: 0013-Add-field-in-job-pointed-if-task-is-done-so-backend-.patch Patch24: 0014-Added-possibility-to-made-transaction-inclusive.patch Patch25: 0015-Adding-information-about-author-of-interactively-dep.patch Patch26: 0016-Better-handle-of-memory-path-to-cache-file.patch Patch27: 0017-Problems2-is-now-pointer-not-independent-list-of-pro.patch Patch28: 0018-Removes-unnecessary-text-from-README.patch Patch29: 0019-Repair-bugs-related-to-GIO-events-not-properly-handl.patch Patch30: 0020-Remove-dead-code.patch Patch31: 0021-Repair-possible-memory-related-bug.patch Patch32: 0022-Compare-cache-with-problems-list.patch Patch34: 0024-Remove-some-problems-related-to-file-descriptions-ca.patch Patch35: 0025-Made-dependency-helper-program-optional.patch Patch36: 0026-Properly-handle-some-errors-for-example-missing-depe.patch Patch37: 0027-Description-of-conditional-built-flag-for-dependnenc.patch Patch38: 0028-Update-Bonsole-library-name.patch Patch39: 0029-Repair-many-counting-errors.patch Patch40: 0030-Added-non-interactive-path.patch Patch42: 0032-Amend.patch Patch43: 0033-Nice-dependency-solving-tool-output-formating.patch Patch44: 0034-remove-code-which-causes-project-do-not-compile.patch Patch45: 0035-Properly-handling-errors-with-dependency-solver-comm.patch Patch46: 0036-Revert-changes-made-for-testing-purposes.patch Patch47: 0037-Some-changes-around-repo-handling.patch Patch48: 0038-Repair-bug-with-field-type-problem-which-could-possi.patch Patch49: 0039-Remove-some-debug-messsage.patch Patch50: 0040-Add-more-error-reporting.patch Patch51: 0041-Correct-broken-messages.patch Patch52: 0042-Repair-gnome-software-bug-exist-because-it-works-in-.patch Patch53: 0043-Added-header-to-depenedncy-solver.patch Patch54: 0044-Repair-bug-appearing-sometimes-when-user-must-solve-.patch Patch55: 0045-Setting-started-flag-for-job-to-true.patch Patch56: 0046-Treads-IO-errors-as-Package-Manager-error.patch Patch57: 0047-Repair-cache-directory-problem.patch BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: gobject-introspection-devel BuildRequires: gstreamer-devel BuildRequires: gstreamer-plugins-base-devel BuildRequires: gtk-doc BuildRequires: gtk3-devel BuildRequires: intltool BuildRequires: libarchive-devel BuildRequires: libcppunit-devel %if %{with dnf} BuildRequires: appstream-glib-devel BuildRequires: libdnf-devel >= 0.43.1 %endif BuildRequires: libgudev-1_0-devel BuildRequires: libtool BuildRequires: libzypp-devel BuildRequires: meson >= 0.50 BuildRequires: mozilla-nspr-devel >= 4.8 BuildRequires: ninja BuildRequires: pkgconfig BuildRequires: polkit-devel >= 0.98 # We need the %%mime_database_* macros BuildRequires: shared-mime-info BuildRequires: sqlite-devel BuildRequires: translation-update-upstream BuildRequires: vala BuildRequires: pkgconfig(bash-completion) >= 2.0 BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(systemd) BuildRequires: pkgconfig(libBonsoleClient) BuildRequires: BonsoleRTA-client-lib BuildRequires: BonsoleRTA-client-lib-devel BuildRequires: libBonsoleHelper Requires: BonsoleRTA-client-lib BomsoleRTA-client-lib-backend # We really want a working backend (likely zypp) Requires: %{name}-backend Requires: %{name}-branding = %{version} Suggests: %{name}-backend-zypp-dependency-handling # doc package only contained the website, and got removed in 0.7.4 Obsoletes: %{name}-doc < 0.7.4 # gtk+ 2 module was removed in 0.7.0 Obsoletes: %{name}-gtk-module < 0.7.0 # ruck was removed in 0.6.4, make sure it gets removed Obsoletes: ruck <= 0.6.3 # the browser-plugin was dropped with version 1.1.0 Obsoletes: %{name}-browser-plugin < 1.1.0 %{?systemd_ordering} %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 backend-zypp-with-dependency-handling Summary: Zypp backend for the PackageKit installation management software License: GPL-2.0-or-later Group: System/Daemons Requires: %{name} = %{version} Provides: %{name}-backend = %{version} Conflicts: %{name}-backend Supplements: (%{name} and libzypp) %description backend-zypp-with-dependency-handling 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 version has integration with daemonUI, so throught Bonsole it can relies on user in dependency handling process. %if %{with dnf} %package backend-dnf Summary: DNF backend for the PackageKit installation management software License: GPL-2.0-or-later Group: System/Daemons Requires: %{name} = %{version} Provides: %{name}-backend = %{version} Conflicts: %{name}-backend Supplements: (%{name} and dnf-data) Recommends: rpm-repos-openSUSE Suggests: PackageKit-command-not-found # Stricter dependency to keep things sane %requires_ge %(rpm -qf "$(readlink -f %{_libdir}/libdnf.so)") %description backend-dnf 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. %endif %if %{with cnf} %package command-not-found Summary: Command Not Found using PackageKit License: GPL-2.0-or-later Group: System/Daemons Obsoletes: command-not-found Provides: command-not-found Conflicts: command-not-found # zypp backend lacks full functionality for this to make sense Conflicts: %{name}-backend-zypp-with-depenedncy-handling Conflicts: %{name}-backend-zypp %description command-not-found The improved Command Not Found utility from the PackageKit utilities suit, making it easier to install the software you need when you need it. %endif %package gstreamer-plugin Summary: Install GStreamer codecs using PackageKit License: GPL-2.0-or-later Group: Productivity/Multimedia/Other Requires(post): update-alternatives Requires(postun):update-alternatives Recommends: %{name} = %{version} Supplements: (%{name} and gstreamer-plugins-base) %description gstreamer-plugin The PackageKit GStreamer plugin allows any Gstreamer application to install codecs from configured repositories using PackageKit. %package gtk3-module Summary: Install fonts automatically using PackageKit License: GPL-2.0-or-later Group: System/Libraries Recommends: %{name} = %{version} Supplements: (%{name} and gtk3) %glib2_gsettings_schema_requires %description gtk3-module The PackageKit GTK3+ module allows any Pango application to install fonts from configured repositories using PackageKit. %package devel Summary: Header files for development with PackageKit License: GPL-2.0-or-later Group: Development/Libraries/C and C++ Requires: %{name} = %{version} Requires: libpackagekit-glib2-devel = %{version}-%{release} %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-18 Summary: GLib integration of PackageKit License: LGPL-2.1-or-later Group: System/Libraries Recommends: %{name} Conflicts: %{name} < %{version} Provides: libpackagekit-glib12 = %{version} Obsoletes: libpackagekit-glib12 < %{version} %description -n libpackagekit-glib2-18 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 typelib-1_0-PackageKitGlib-1_0 Summary: Introspection bindings for PackageKit's GLib integration License: LGPL-2.1-or-later Group: System/Libraries %description -n typelib-1_0-PackageKitGlib-1_0 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 GObject Introspection bindings for the PackageKit client library. %package -n libpackagekit-glib2-devel Summary: GLib integration of PackageKit License: LGPL-2.1-or-later Group: Development/Libraries/GNOME Requires: libpackagekit-glib2-18 = %{version} Requires: typelib-1_0-PackageKitGlib-1_0 = %{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 branding-upstream Summary: Upstream configuration for the PackageKit installation management software License: GPL-2.0-or-later Group: System/Daemons Requires: %{name} = %{version} Supplements: (%{name} and branding-upstream) Conflicts: %{name}-branding Provides: %{name}-branding = %{version} 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 %autosetup -p1 %build %meson \ -Dgtk_doc=true \ -Dpython_backend=false \ -Dpackaging_backend=%{?with_dnf:dnf,}zypp \ %{?with_dnf:-Ddnf_vendor=opensuse} \ %{!?with_cnf:-Dbash_command_not_found=false} \ %{!?with_offline_updates:-Doffline_update=false} \ -Dcron=false \ -Dlocal_checkout=false \ -Ddependency_handling_by_user=true %meson_build %install %meson_install %if %{with offline_updates} # enable packagekit-offline-updates.service here for now, till we # decide how to do it upstream after the meson conversion: # https://github.com/hughsie/PackageKit/issues/401 # https://bugzilla.redhat.com/show_bug.cgi?id=1833176 mkdir -p %{buildroot}%{_unitdir}/system-update.target.wants/ ln -sf ../packagekit-offline-update.service %{buildroot}%{_unitdir}/system-update.target.wants/packagekit-offline-update.service %endif # Prepare for update-alternatives mkdir -p %{buildroot}%{_sysconfdir}/alternatives ln -s -f %{_sysconfdir}/alternatives/gst-install-plugins-helper %{buildroot}/%{_libexecdir}/gst-install-plugins-helper # Add rcFOO symlinks mkdir -p %{buildroot}%{_sbindir} ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rcpackagekit %if %{with offline_updates} ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rcpackagekit-offline-update %endif # install transactions.db to another directory so that we can use tmpfiles.d to create a link to it under /var/lib/PackageKit install -m 0644 %{buildroot}%{_localstatedir}/lib/PackageKit/transactions.db %{buildroot}%{_datadir}/PackageKit/transactions.db rm %{buildroot}%{_localstatedir}/lib/PackageKit/transactions.db # install PackageKit.conf in tempfiles.d install -d -m 0755 %{buildroot}%{_prefix}/lib/tmpfiles.d/ install -m 0644 %{SOURCE3} %{buildroot}%{_prefix}/lib/tmpfiles.d/PackageKit.conf %find_lang PackageKit %{?no_lang_C} %fdupes %{buildroot}/%{_prefix} %pre %service_add_pre packagekit.service %service_add_pre packagekit-background.service packagekit-background.timer %if %{with offline_updates} %service_add_pre packagekit-offline-update.service %endif %post %mime_database_post %service_add_post packagekit.service %service_add_post packagekit-background.service packagekit-background.timer %if %{with offline_updates} %service_add_post packagekit-offline-update.service %else if [ -L system-update ]; then rm system-update fi if [ -f var/lib/PackageKit/prepared-update ]; then rm var/lib/PackageKit/prepared-update fi %endif %tmpfiles_create %_tmpfilesdir/PackageKit.conf %preun %service_del_preun packagekit.service %service_del_preun packagekit-background.service packagekit-background.timer %if %{with offline_updates} %service_del_preun packagekit-offline-update.service %endif %postun %mime_database_postun # Do not restart PackageKit on upgrade - it kills the transaction %service_del_postun_without_restart packagekit.service %service_del_postun_without_restart packagekit-background.service packagekit-background.timer %if %{with offline_updates} %service_del_postun_without_restart packagekit-offline-update.service %endif %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-18 -p /sbin/ldconfig %postun -n libpackagekit-glib2-18 -p /sbin/ldconfig %files lang -f PackageKit.lang %files %license COPYING %doc AUTHORS HACKING NEWS README policy/org.freedesktop.packagekit.rules %dir %{_sysconfdir}/PackageKit %dir %{_datadir}/PackageKit %dir %{_datadir}/PackageKit/helpers %dir %{_libdir}/packagekit-backend %dir %{_usr}/lib/tmpfiles.d %{_datadir}/bash-completion/completions/pkcon %{_sysconfdir}/dbus-1/system.d/org.freedesktop.PackageKit.conf %{_bindir}/pkcon %{_bindir}/pkmon %{_libdir}/packagekit-backend/libpk_backend_dummy.so %{_libexecdir}/packagekitd %{_libexecdir}/packagekit-direct %{_datadir}/dbus-1/interfaces/org.freedesktop.PackageKit.Transaction.xml %{_datadir}/dbus-1/interfaces/org.freedesktop.PackageKit.xml %{_datadir}/PackageKit/pk-upgrade-distro.sh %{_datadir}/PackageKit/packagekit-background.sh %verify(not md5 size mtime) %{_datadir}/PackageKit/transactions.db %{_datadir}/polkit-1/actions/org.freedesktop.packagekit.policy %{_datadir}/dbus-1/system-services/* %{_unitdir}/packagekit.service %{_unitdir}/packagekit-background.service %{_unitdir}/packagekit-background.timer %{_sbindir}/rcpackagekit %{_mandir}/man?/*%{ext_man} %{_tmpfilesdir}/PackageKit.conf %if %{with offline_updates} %{_libexecdir}/pk-offline-update %{_unitdir}/packagekit-offline-update.service %dir %{_unitdir}/system-update.target.wants %{_unitdir}/system-update.target.wants/packagekit-offline-update.service %{_sbindir}/rcpackagekit-offline-update %endif %ghost %dir %{_localstatedir}/lib/PackageKit %ghost %dir %{_localstatedir}/cache/PackageKit %ghost %{_localstatedir}/lib/PackageKit/transactions.db %{_libexecdir}/dependency-solving-helper %files backend-zypp-with-dependency-handling %{_libdir}/packagekit-backend/libpk_backend_zypp.so %if %{with dnf} %files backend-dnf %{_libdir}/packagekit-backend/libpk_backend_dnf.so %endif %if %{with cnf} %files command-not-found %{_sysconfdir}/profile.d/PackageKit.sh %{_libexecdir}/pk-command-not-found %config(noreplace) %{_sysconfdir}/PackageKit/CommandNotFound.conf %endif %files gstreamer-plugin %ghost %{_sysconfdir}/alternatives/gst-install-plugins-helper %{_libexecdir}/gst-install-plugins-helper %{_libexecdir}/pk-gstreamer-install %files gtk3-module %dir %{_libdir}/gnome-settings-daemon-3.0 %dir %{_libdir}/gnome-settings-daemon-3.0/gtk-modules %{_libdir}/gnome-settings-daemon-3.0/gtk-modules/pk-gtk-module.desktop %{_libdir}/gtk-3.0/modules/* %files devel %doc %{_datadir}/gtk-doc/html/PackageKit %dir %{_includedir}/PackageKit # Test backends are not useful, except for developers %{_libdir}/packagekit-backend/libpk_backend_test_fail.so %{_libdir}/packagekit-backend/libpk_backend_test_nop.so %{_libdir}/packagekit-backend/libpk_backend_test_spawn.so %{_libdir}/packagekit-backend/libpk_backend_test_succeed.so %{_libdir}/packagekit-backend/libpk_backend_test_thread.so %dir %{_datadir}/PackageKit/helpers/test_spawn %{_datadir}/PackageKit/helpers/test_spawn/search-name.sh %files -n libpackagekit-glib2-18 %license lib/packagekit-glib2/COPYING %{_libdir}/libpackagekit-glib2.so.* %files -n typelib-1_0-PackageKitGlib-1_0 %{_libdir}/girepository-1.0/PackageKitGlib-1.0.typelib %files -n libpackagekit-glib2-devel %{_libdir}/libpackagekit-glib2.so %{_libdir}/pkgconfig/packagekit-glib2.pc %dir %{_includedir}/PackageKit %{_includedir}/PackageKit/packagekit-glib2/ %{_datadir}/gir-1.0/PackageKitGlib-1.0.gir %dir %{_datadir}/vala/vapi %{_datadir}/vala/vapi/packagekit-glib2.vapi %{_datadir}/vala/vapi/packagekit-glib2.deps %files branding-upstream %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
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor