#9 Update to 1.2.8
Merged 5 months ago by catanzaro. Opened 6 months ago by aleasto.
rpms/ aleasto/PackageKit rawhide  into  rawhide

file modified
+1
@@ -84,3 +84,4 @@ 

  /PackageKit-1.2.4.tar.xz

  /PackageKit-1.2.5.tar.xz

  /PackageKit-1.2.6.tar.xz

+ /PackageKit-1.2.8.tar.xz

@@ -1,28 +0,0 @@ 

- From 70594bbe7b3c61b7f9fe58cb77ddaeb630e7276f Mon Sep 17 00:00:00 2001

- From: Dominique Leuenberger <dimstar@opensuse.org>

- Date: Mon, 17 Jul 2023 15:24:14 +0200

- Subject: [PATCH] packagekitd: Use export_dynamic explicitly

- 

- We used to get that implicitly through GModule .pc file defining -Wl,--export-dynamic so that modules could reference symbols in the main executable.

- 

- With newer GLib including glib@11bdd6fc the gmodule .pc file will no longer define this compiler flag in a way that works for us, resulting in errors like:

- packagekitd[2394]: Failed to load the backend: opening module zypp failed : /usr/lib64/packagekit-backend/libpk_backend_zypp.so: undefined symbol: pk_backend_job_require_restart

- ---

-  src/meson.build | 1 +

-  1 file changed, 1 insertion(+)

- 

- diff --git a/src/meson.build b/src/meson.build

- index cae73380e..a47169c2b 100644

- --- a/src/meson.build

- +++ b/src/meson.build

- @@ -76,6 +76,7 @@ packagekitd_exec = executable(

-    ],

-    install: true,

-    install_dir: get_option('libexecdir'),

- +  export_dynamic: true,

-    c_args: [

-      '-DPK_BUILD_DAEMON=1',

-      '-DG_LOG_DOMAIN="PackageKit"',

- -- 

- 2.41.0

- 

@@ -4,8 +4,8 @@ 

  @@ -12,7 +12,7 @@

   # If the value is set to 'none' then no link is shown.

   #

-  # default=http://www.packagekit.org/pk-package-not-found.html

- -DefaultUrl=http://www.packagekit.org/pk-package-not-found.html

+  # default=https://www.freedesktop.org/software/PackageKit/pk-package-not-found.html

+ -DefaultUrl=https://www.freedesktop.org/software/PackageKit/pk-package-not-found.html

  +DefaultUrl=https://fedoraproject.org/wiki/PackageKit_Items_Not_Found#Missing_Package

   

   # The URL which is shown to the user when a codec could not be found.

@@ -4,8 +4,8 @@ 

  @@ -12,7 +12,7 @@

   # If the value is set to 'none' then no link is shown.

   #

-  # default=http://www.packagekit.org/pk-package-not-found.html

- -DefaultUrl=http://www.packagekit.org/pk-package-not-found.html

+  # default=https://www.freedesktop.org/software/PackageKit/pk-package-not-found.html

+ -DefaultUrl=https://www.freedesktop.org/software/PackageKit/pk-package-not-found.html

  +DefaultUrl=https://access.redhat.com/site/solutions/537113#Missing_Package

   

   # The URL which is shown to the user when a codec could not be found.

file modified
+12 -20
@@ -3,7 +3,7 @@ 

  

  Summary:   Package management service

  Name:      PackageKit

- Version:   1.2.6

+ Version:   1.2.8

  Release:   %autorelease

  License:   GPL-2.0-or-later AND LGPL-2.1-or-later

  URL:       http://www.freedesktop.org/software/PackageKit/
@@ -19,16 +19,6 @@ 

  # https://github.com/PackageKit/PackageKit/pull/404

  Patch1:    package-remove-password-prompt.patch

  

- # https://github.com/PackageKit/PackageKit/pull/578

- # https://github.com/PackageKit/PackageKit/pull/599

- # https://github.com/PackageKit/PackageKit/pull/600

- Patch2:    shutdown-on-idle.patch

- 

- # https://github.com/PackageKit/PackageKit/pull/643

- # Fixes errors like

- # packagekitd[1113]: Failed to load the backend: opening module dnf failed : /usr/lib64/packagekit-backend/libpk_backend_dnf.so: undefined symbol: pk_backend_job_update_details

- Patch3:    0001-packagekitd-Use-export_dynamic-explicitly.patch

- 

  BuildRequires: glib2-devel >= %{glib2_version}

  BuildRequires: xmlto

  BuildRequires: gtk-doc
@@ -43,7 +33,7 @@ 

  BuildRequires: gstreamer1-plugins-base-devel

  BuildRequires: pango-devel

  BuildRequires: fontconfig-devel

- BuildRequires: libappstream-glib-devel

+ BuildRequires: pkgconfig(appstream)

  BuildRequires: libdnf-devel >= %{libdnf_version}

  BuildRequires: systemd

  BuildRequires: systemd-devel
@@ -51,6 +41,9 @@ 

  BuildRequires: bash-completion

  BuildRequires: python3-devel

  

+ # Validate metainfo

+ BuildRequires: libappstream-glib

+ 

  Requires: %{name}-glib%{?_isa} = %{version}-%{release}

  Requires: glib2%{?_isa} >= %{glib2_version}

  Requires: libdnf%{?_isa} >= %{libdnf_version}
@@ -168,15 +161,12 @@ 

  ln -s pk-gstreamer-install gst-install-plugins-helper

  popd > /dev/null

  

- # 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

- 

  %find_lang %name

  

+ %check

+ # FIXME: Validation fails in appstream-util because it does not recognize component type "service"

+ appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.metainfo.xml || :

+ 

  %post

  # Remove leftover symlinks from /etc/systemd; the offline update service is

  # instead now hooked into /usr/lib/systemd/system/system-update.target.wants
@@ -196,13 +186,13 @@ 

  %dir %{_libdir}/packagekit-backend

  %config(noreplace) %{_sysconfdir}/PackageKit/PackageKit.conf

  %config(noreplace) %{_sysconfdir}/PackageKit/Vendor.conf

- %config %{_sysconfdir}/dbus-1/system.d/*

  %{_datadir}/man/man1/pkcon.1*

  %{_datadir}/man/man1/pkmon.1*

  %{_datadir}/polkit-1/actions/*.policy

  %{_datadir}/polkit-1/rules.d/*

  %{_datadir}/PackageKit/pk-upgrade-distro.sh

  %{_datadir}/PackageKit/helpers/test_spawn/search-name.sh

+ %{_metainfodir}/org.freedesktop.packagekit.metainfo.xml

  %{_libexecdir}/packagekitd

  %{_libexecdir}/packagekit-direct

  %{_bindir}/pkmon
@@ -211,12 +201,14 @@ 

  %{_libdir}/packagekit-backend/libpk_backend_dummy.so

  %{_libdir}/packagekit-backend/libpk_backend_test_*.so

  %ghost %verify(not md5 size mtime) %attr(0644,-,-) %{_localstatedir}/lib/PackageKit/transactions.db

+ %{_datadir}/dbus-1/system.d/*

  %{_datadir}/dbus-1/system-services/*.service

  %{_datadir}/dbus-1/interfaces/*.xml

  %{_unitdir}/packagekit-offline-update.service

  %{_unitdir}/packagekit.service

  %{_unitdir}/system-update.target.wants/

  %{_libexecdir}/pk-*offline-update

+ %{_libexecdir}/packagekit-dnf-refresh-repo

  %{_libdir}/packagekit-backend/libpk_backend_dnf.so

  %pycached %{python3_sitelib}/dnf-plugins/notify_packagekit.py

  

file removed
-156
@@ -1,156 +0,0 @@ 

- From f42096ff2427a758eda9de2e3046714167a38c95 Mon Sep 17 00:00:00 2001

- From: Russell Haley <yumpusamongus@gmail.com>

- Date: Mon, 12 Sep 2022 12:36:10 -0500

- Subject: [PATCH] Revert "Revert "Shutdown the daemon on idle by default""

- 

- This reverts commit dca1f5b2508a4632d0b9fefab771a5a9caf83a5c.

- 

- Which reverted commit 0c84d71509e851db20445c747529bd7d3724f081,

- which reverted commit c6eb3555ec5b41e988c111d276764d55fb83bda3.

- 

- Fixes #460.

- 

- The memory usage of packagekitd has been observed growing well beyond

- half a GiB.  See:

- 

- https://bugzilla.redhat.com/show_bug.cgi?id=1354074

- https://bugzilla.redhat.com/show_bug.cgi?id=1854875

- https://bugzilla.redhat.com/show_bug.cgi?id=1896964

- 

- As I understand it, this timeout causes some slightly surprising

- behavior when users mix command line dnf upgades with GUI PackageKit

- upgrades, and do not manually run an update check before rebooting for

- update. But that is an edge case, and the price of not having it is too

- high.

- ---

-  src/pk-main.c | 5 +++++

-  1 file changed, 5 insertions(+)

- 

- diff --git a/src/pk-main.c b/src/pk-main.c

- index d372a7456..1de9a1390 100644

- --- a/src/pk-main.c

- +++ b/src/pk-main.c

- @@ -183,6 +183,11 @@ main (int argc, char *argv[])

-  

-  	/* after how long do we timeout? */

-  	exit_idle_time = g_key_file_get_integer (conf, "Daemon", "ShutdownTimeout", NULL);

- +        /* THIS COMMENT IS A TSUNAMI STONE 

- +         * Before removing the default timeout, please study the git history and

- +         * be sure that you are not regressing Redhat bugzilla #1354074 (again). */

- +	if (exit_idle_time == 0)

- +		exit_idle_time = 300;

-  	g_debug ("daemon shutdown set to %i seconds", exit_idle_time);

-  

-  	/* override the backend name */

- 

- From ba378b8510133bbad081aebd15cfe2ae74fe1e8a Mon Sep 17 00:00:00 2001

- From: Gordon Messmer <gordon.messmer@gmail.com>

- Date: Sun, 15 Jan 2023 15:17:45 -0800

- Subject: [PATCH] valgrind warns that a conditional depends on an uninitialized

-  value.

- 

- ---

-  src/pk-main.c | 2 ++

-  1 file changed, 2 insertions(+)

- 

- diff --git a/src/pk-main.c b/src/pk-main.c

- index d372a7456..43727d206 100644

- --- a/src/pk-main.c

- +++ b/src/pk-main.c

- @@ -241,6 +241,8 @@ main (int argc, char *argv[])

-  		helper.loop = loop;

-  		helper.timer_id = g_timeout_add_seconds (5, (GSourceFunc) pk_main_timeout_check_cb, &helper);

-  		g_source_set_name_by_id (helper.timer_id, "[PkMain] main poll");

- +	} else {

- +		helper.timer_id = 0;

-  	}

-  

-  	/* immediatly exit */

- 

- From 8c22a0e2f3caf7df8728eec0dbf04d9c3c69f32e Mon Sep 17 00:00:00 2001

- From: Gordon Messmer <gordon.messmer@gmail.com>

- Date: Tue, 17 Jan 2023 08:45:16 -0800

- Subject: [PATCH] Notify PackageKit when dnf installs or removes packages.

- 

- ---

-  backends/dnf/meson.build          | 13 +++++++++

-  backends/dnf/notify_packagekit.py | 45 +++++++++++++++++++++++++++++++

-  contrib/PackageKit.spec.in        |  2 ++

-  3 files changed, 60 insertions(+)

-  create mode 100644 backends/dnf/notify_packagekit.py

- 

- diff --git a/backends/dnf/meson.build b/backends/dnf/meson.build

- index ac75a1b6c..09718baf1 100644

- --- a/backends/dnf/meson.build

- +++ b/backends/dnf/meson.build

- @@ -7,6 +7,19 @@ if meson.get_compiler('c').has_function('hy_query_get_advisory_pkgs', prefix: '#

-     c_args += ['-DHAVE_HY_QUERY_GET_ADVISORY_PKGS']

-  endif

-  

- +python = import('python')

- +python_exec = python.find_installation()

- +python_package_dir = get_option('pythonpackagedir')

- +if python_package_dir == ''

- +  python_package_dir = python_exec.get_install_dir()

- +endif

- +python_package_dir = join_paths(python_package_dir, 'dnf-plugins')

- +

- +install_data(

- +  'notify_packagekit.py',

- +  install_dir: join_paths(python_package_dir),

- +)

- +

-  shared_module(

-    'pk_backend_dnf',

-    'dnf-backend-vendor-@0@.c'.format(get_option('dnf_vendor')),

- diff --git a/backends/dnf/notify_packagekit.py b/backends/dnf/notify_packagekit.py

- new file mode 100644

- index 000000000..3be1fadd8

- --- /dev/null

- +++ b/backends/dnf/notify_packagekit.py

- @@ -0,0 +1,45 @@

- +# -*- coding: utf-8 -*-

- +#

- +# Copyright (C) 2022 Gordon Messmer

- +#

- +# Licensed under the GNU Lesser General Public License Version 2.1

- +#

- +# This library is free software; you can redistribute it and/or

- +# modify it under the terms of the GNU Lesser General Public

- +# License as published by the Free Software Foundation; either

- +# version 2.1 of the License, or (at your option) any later version.

- +#

- +# This library is distributed in the hope that it will be useful,

- +# but WITHOUT ANY WARRANTY; without even the implied warranty of

- +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU

- +# Lesser General Public License for more details.

- +#

- +# You should have received a copy of the GNU Lesser General Public

- +# License along with this library; if not, write to the Free Software

- +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

- +

- +"""

- +Notify packagekitd when packages are installed, updated, or removed. 

- +"""

- +

- +import dbus

- +import dnf

- +from dnfpluginscore import _

- +

- +

- +class NotifyPackagekit(dnf.Plugin):

- +    name = "notify-packagekit"

- +

- +    def __init__(self, base, cli):

- +        super(NotifyPackagekit, self).__init__(base, cli)

- +        self.base = base

- +        self.cli = cli

- +

- +    def transaction(self):

- +        try:

- +            bus = dbus.SystemBus()

- +            proxy = bus.get_object('org.freedesktop.PackageKit', '/org/freedesktop/PackageKit')

- +            iface = dbus.Interface(proxy, dbus_interface='org.freedesktop.PackageKit')

- +            iface.StateHasChanged('posttrans')

- +        except:

- +            pass

file modified
+1 -1
@@ -1,1 +1,1 @@ 

- SHA512 (PackageKit-1.2.6.tar.xz) = 0861c539e4427f0b5104dc54a9c9cd6c9311d245732290864dd602a0c5959fce028553c8f8ed38f5fd826e32b31c765710c76e282450b6590af0c49116f29bae

+ SHA512 (PackageKit-1.2.8.tar.xz) = b1dc1ba3bea53e127099cfa0aaeb6e72a7ab1597ebb3baef5ca92806c208b0b6d5bcbaf8da8ea38434aa5fd725f57c96929101692be644d97f93d9cc32f6dcde

no initial comment

Build failed. More information on how to proceed and troubleshoot errors available at https://fedoraproject.org/wiki/Zuul-based-ci
https://fedora.softwarefactory-project.io/zuul/buildset/885910379001487db7de020e0499752f

Looks fine to me. Thanks!

Pull-Request has been merged by catanzaro

5 months ago