[PackageKit-commit] packagekit: Changes to 'main'
Matthias Klumpp
mak at kemper.freedesktop.org
Thu Dec 1 18:42:19 UTC 2022
New branch 'main' available with the following commits:
commit 35c39fa406c7f3f330764ed850f5f2a4f20deef8
Author: Matthias Klumpp <matthias at tenstral.net>
Date: Thu Dec 1 19:41:09 2022 +0100
Release 1.2.6
commit 884c8d7ae78332582db569decc111fda1f59b909
Author: Matthias Klumpp <matthias at tenstral.net>
Date: Wed Nov 30 02:25:23 2022 +0100
pkmon: Display transaction sender binary name in log
Very useful to investigate which process is calling into PK.
Resolving PIDs is slightly racy, but if the process doesn't immediately
die after creating a transaction, this approach should still provide
useful information.
commit d861e2059509ad554122f756134849086ab9195d
Author: Matthias Klumpp <matthias at tenstral.net>
Date: Wed Nov 30 02:24:14 2022 +0100
Expose transaction sender as read-only property
This is useful for debugging purposes, as it allows resolving the unique
D-Bus name into a PID and then into the calling program to display.
It makes it a lot easier to figure out which process is calling
PackageKit repeatedly.
commit 6ae75d046fc553c67b8e8c9f08c361e05c8f0a90
Author: Matthias Klumpp <matthias at tenstral.net>
Date: Fri Nov 25 22:03:50 2022 +0100
Store sender command-line in transaction database again
Previously the client command-line was never read and therefore not
added to the transaction database, as the transaction role was not yet
set when a sender was provided early on (so, the role was always UNKNOWN
and pk_dbus_get_cmdline() was hence not called).
The command-line role dependency was added as a performance
optimization, so the new code tries to be as performant as possible, and
no measurable difference to the previois code was observed.
If we do need to get the sender PID and UID, we use the "new"
GetConnectionCredentials D-Bus call, which improves performance over
making two calls to get PID and UID instead.
commit d2824ec1e735c9a89a03dfd9536a37fe7f10893d
Author: Matthias Klumpp <matthias at tenstral.net>
Date: Tue Nov 15 01:34:07 2022 +0100
apt: Implement support for the new UpdateDetails plural signal
commit 97d8d6ae4e2116c2bcba7c48d751e5d2c1d0030b
Author: Matthias Klumpp <matthias at tenstral.net>
Date: Tue Nov 15 01:31:56 2022 +0100
trivial: style
commit d9697a6cd5d41ad688b8eeffb04212c303a8f2d5
Author: Matthias Klumpp <matthias at tenstral.net>
Date: Tue Nov 15 00:28:15 2022 +0100
apt: Implement support for Packages signal to emit many packages at once
commit 06ffeef4758536394c3401851059ef8e4086310f
Author: Aleix Pol <aleixpol at kde.org>
Date: Fri Nov 11 19:46:05 2022 +0100
Fixes the build of PackageKitQt
Decorates the new arguments that have a complex type.
commit e1bba8276fc29f6906a59bdeca09d695e31ead66
Author: Philip Withnall <pwithnall at endlessos.org>
Date: Mon Jul 4 16:20:25 2022 +0100
pk-client: Factor out parsing of UpdateDetail signal
This introduces no functional changes, but will make subsequent changes
easier.
Signed-off-by: Philip Withnall <pwithnall at endlessos.org>
commit 1b380b3c98b4f64c9234f2700bd4d3acc5d317f3
Author: Philip Withnall <pwithnall at endlessos.org>
Date: Mon Jul 4 17:49:02 2022 +0100
pk-transaction: Add UpdateDetails signal
Like the `Packages` signal added a few commits previously, the
`UpdateDetails` signal is a plural version of the existing
`UpdateDetail` signal.
This has reduced the number of signals emitted during starting up
gnome-software from 632 `UpdateDetail` signals (for a corresponding
number of pending dnf updates) to 1 `UpdateDetails` signal.
The new signal is only used if the client sets the
`supports-plural-signals=true` hint on a transaction. Otherwise the old
`UpdateDetail` signal will be used. This means the new signal is
backwards-compatible.
If the hint is set, the new signal will be used in parallel with the old
one, with some operations or backends using the old signal, and some
using the new one. The content of the signals will not be duplicated
(i.e. if `UpdateDetails` is emitted for N updates, there will not also
be N `UpdateDetail` signal emissions in parallel).
The new signal is currently only implemented for the dnf backend. Other
backends can implement it at their leisure.
Signed-off-by: Philip Withnall <pwithnall at endlessos.org>
commit f1f34dde0e4b1f346f319b0cbd5d38f685705c6f
Author: Philip Withnall <pwithnall at endlessos.org>
Date: Tue May 31 19:59:13 2022 +0100
pk-transaction: Reduce frequency of progress signal emissions
Rather than emitting a D-Bus signal immediately whenever any ‘progress’
property changes, emit the D-Bus signal on a timer and aggregate all the
progress updates to that point.
This reduces the number of `PropertiesChanged` signal emissions when
starting gnome-software from 699 to 318. This reduces context switching
overhead between packagekitd, dbus-daemon and gnome-software.
The changes should not be user-visible: previously it was common to see
progress updates emitted multiple times every millisecond; now they will
be emitted roughly once every 100ms.
Pending progress updates are flushed according to a few triggers, such
as if a D-Bus peer requests properties with
`org.freedesktop.DBus.Properties.Get()`, as we don’t want to return
up-to-date progress values there and then send a `PropertiesChanged`
signal out of order (D-Bus messages have a well defined ordering).
Signed-off-by: Philip Withnall <pwithnall at endlessos.org>
commit fa51abe5f5400e53c8fb6f5bc691c319b9c409d1
Author: Philip Withnall <pwithnall at endlessos.org>
Date: Tue May 31 19:56:10 2022 +0100
pk-transaction: Combine some D-Bus PropertiesChanged signal emissions
`PropertiesChanged` supports sending an array of properties, so take
advantage of that.
This reduces the number of `PropertiesChanged` emissions at startup time
for gnome-software from 788 to 699. In turn, that reduces context
switching overhead between packagekitd, dbus-daemon and gnome-software.
Signed-off-by: Philip Withnall <pwithnall at endlessos.org>
commit f1f29ae59186cbd0cf115e3656787a15b19c5177
Author: Philip Withnall <pwithnall at endlessos.org>
Date: Tue May 31 19:41:12 2022 +0100
pk-transaction: Add Packages signal
This has reduced the number of signals emitted during starting up
gnome-software from 5711 `Package` signals, to 66 `Packages` signals
(one per transaction).
The signal is used only if the client sets the
`supports-plural-signals=true` hint on a transaction. Otherwise the old
`Package` signal will be used. This means the new signal is
backwards-compatible.
If the hint is set, the new signal will be used in parallel with the old
one, with some operations or backends using the old signal, and some
using the new one. The content of the signals will not be duplicated
(i.e. if `Packages` is emitted for N packages, there will not also be N
`Package` signal emissions in parallel).
The new signal is currently only implemented for the dnf backend. Other
backends can implement it at their leisure.
Signed-off-by: Philip Withnall <pwithnall at endlessos.org>
commit 4626cc3bec7affb632122b1d3d4898d7a5bd0e7d
Author: Philip Withnall <pwithnall at endlessos.org>
Date: Fri Oct 21 15:02:59 2022 +0100
pk-engine: Fix checking D-Bus caller details when setting proxy
This was broken in commit c8b531.
This should fix errors like the following when calling `SetProxy()`:
```
PackageKit-WARNING **: 14:50:25.673: failed to set proxy: GDBus.Error:org.gtk.GDBus.UnmappedGError.Quark._pk_2dengine_2derror_2dquark.Code3: setting the proxy failed: failed to get the uid
```
Signed-off-by: Philip Withnall <pwithnall at endlessos.org>
commit 2b6c18e142b93ecfe71d91356d63018d91aa907d
Author: Adrián Insaurralde Avalos <36372335+adrianinsaval at users.noreply.github.com>
Date: Fri Sep 9 20:03:11 2022 -0400
Fix incorrect handling of hookdirs config [fixes #342]
Fix `pk_alpm_config_list_options` incorrect alphabetical order, otherwise the hookdirs config is not available.
Iterate through `config->hookdirs` and use the correct API call to set additional hooks directories `alpm_option_add_hookdir`, this way SYSHOOKDIR is not overridden
commit ed3e3804390096b103a663629036d4585ca6419d
Author: Jonathan Kang <jonathankang at gnome.org>
Date: Fri Sep 30 09:54:26 2022 +0800
Revert "zypp: ignore locked packages"
Adding isLocked() check here is actually not necessary, as
resolver->doUpdate/doUpgrade() already ignores locked packages.
This reverts commit 1640e277aae5cf7ee46711e365581565ecd3ed8a.
commit 8eb2ef0aed138f3b8923f5142b4ff82303856828
Author: Jonathan Kang <jonathankang at gnome.org>
Date: Wed Sep 28 14:42:27 2022 +0800
zypp: add repository data in package id
GNOME Software expects a package id like
"foobar;1.0;noarch;installed:repo". While zypp backend didn't provide
the repo information in package id. This leads to an bug where GNOME
Software doesn't show how many applications are installed from a
specific repository, as described in the following bug.
https://bugzilla.suse.com/show_bug.cgi?id=1202585
commit 8649a07bc2a1369a27e6941400b362d31ef57bce
Author: Jonathan Kang <jonathankang at gnome.org>
Date: Fri Sep 23 16:41:52 2022 +0800
zypp: Check if packages are locked before removing
commit 8860f55f46fca2ca124c04b3b70a4f20a4335c2f
Author: Matthias Klumpp <matthias at tenstral.net>
Date: Tue Sep 27 22:07:14 2022 +0200
trivial: Silence compiler warning
commit cb2fc5b3061c91415897aab7f1b5a81dc915f6b6
Author: Matthias Klumpp <matthias at tenstral.net>
Date: Tue Sep 27 21:56:24 2022 +0200
apt: Emit the correct status when downloading changelogs or indices
commit b233f36344f2521d38909b5821e4cba1b201213c
Author: Matthias Klumpp <matthias at tenstral.net>
Date: Tue Sep 27 21:50:59 2022 +0200
apt: Generate logging output properly
commit e2ecd604470f60a2213e50d60c31594fab5bf223
Author: Matthias Klumpp <matthias at tenstral.net>
Date: Tue Sep 27 21:10:21 2022 +0200
apt: Don't create an unnecessary PkBackendSpawn instance
commit dfd5f93346065d2386619e33e9c33e0572429cc1
Author: Matthias Klumpp <matthias at tenstral.net>
Date: Tue Sep 27 21:09:03 2022 +0200
trivial: Move some default settings to AptJob constructor
commit 210a2e77588143c54c56285c872d27fe9ee39374
Author: Matthias Klumpp <matthias at tenstral.net>
Date: Tue Sep 27 21:07:44 2022 +0200
trivial: apt: Address some minor style nitpicks
CC: #572
commit f4ff467a21013a360dd76ae42e1dbe85a68dae90
Author: Matthias Klumpp <matthias at tenstral.net>
Date: Tue Sep 27 21:01:06 2022 +0200
aptcc: Refactor backend and rename to apt
commit 897ab51f5aaca58a29f29ef90738e0d68770d4ee
Author: Richard Schleich <rs at noreya.tech>
Date: Thu Sep 1 14:42:51 2022 +0200
aptcc: Detect if apt system settings specify --force-conf* options and if so do not override them
commit 8957e9e49c3276b3affbe1c1023a520ac2daa8d2
Author: Kevin Kandlbinder <kevin at kevink.dev>
Date: Thu Sep 22 18:09:02 2022 +0200
Update documentation URL in README
commit d75978857bb00889f837f63bcac5f66b2eaacad1
Author: Richard Hughes <richard at hughsie.com>
Date: Thu Sep 22 10:58:23 2022 +0100
Update translations from Transifex
commit 7e700e2177ca3f84ea5a2978cdf687179b3445a9
Author: Jonathan Kang <jonathankang at gnome.org>
Date: Thu Sep 1 10:15:15 2022 +0800
zypp: Don't refresh repos before searching
Refreshing repos should be done by calling "refresh-cache", not inside
backend_find_packages_thread.
This fixes the issue that GNOME Software calls multiple search-files
methods which takes very long time to finish. As most of the time was
spent refreshing repos multiple times.
https://bugzilla.suse.com/show_bug.cgi?id=1202796
commit 7f0bc4b256d9c26449f2480d0e0229bbd24a2285
Author: Ivan Zakharyaschev <imz at altlinux.org>
Date: Fri Aug 26 14:08:07 2022 +0300
trivial: aptcc: copy a string directly to std::string, which is expected below
Below, each of the many invocations of starts_with(str, ...) takes
std::string as the argument, so str would anyway be converted to
std::string each time (and even copied again each time).
Improves: 323cc7483 trivial: aptcc: Some trivial cosmetic changes
(What really caused me to do this change was a non-GCC compiler having
troubles with that implicit conversion after the type of str was
annotated with g_autofree, which in its turn we had to change to
g_autofree_edg as another workaround. But nevertheless, this change can
be justified on its own, as at the top of this commit message.)
commit db1a9c4af758fbe62d297f5516a46085cbd84f54
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Aug 26 08:43:04 2022 +0100
trivial: Remove unused PolicyKit action
Fixes https://github.com/PackageKit/PackageKit/issues/567
commit b82b35796d76073a7b22c78271d43dd77dc4cb61
Author: Michael Catanzaro <mcatanzaro at redhat.com>
Date: Thu Aug 25 11:04:35 2022 -0500
Fix documentation of package-install policy (#568)
The documentation says that unprivileged users can install signed
packages. This has not been true since
d462e2e62d700d0d29c41a8d9c4bbffbe99339ff from 2007. The comment is
extremely stale. Fix it to match reality.
commit 58c7c0285100c6c26f299571dac784e8495df357
Author: Jonathan Kang <jonathankang at gnome.org>
Date: Wed Aug 3 10:55:48 2022 +0800
zypp: update libzypp dependency version
In commit dd1964255, we use the newly introduced
PoolItem::statusReinit() to reset pool items status. Since this is
introduced in version 17.31.0, update libzypp dependency version.
https://bugzilla.suse.com/show_bug.cgi?id=1199895
commit 1468901533db908f0955d8b6274e28b1f836b2e1
Author: Jonathan Kang <jonathankang at gnome.org>
Date: Tue Aug 2 09:23:18 2022 +0800
zypp: build the pool before calling is_tumbleweed()
This makes sure that is_tumbleweed() returns the correct result.
commit 0fcd820c2f02111e60227029919018d1e9969dd2
Author: Jonathan Kang <jonathankang at gnome.org>
Date: Wed Jul 27 17:15:31 2022 +0800
zypp: Disable upgrade-system support in SLE
commit 2b61a6649eb990b62f265903f92ea64a35b09309
Author: Jonathan Kang <jonathankang at gnome.org>
Date: Mon Aug 1 10:08:19 2022 +0800
zypp: restore pool status after simulating an update
Previously, when simulating an update, doUpgrade() or doUpdate() is
called. But the changes to the pool never got commited nor cancelled.
This leads to the result that locked packages are updated in a later
update/upgrade.
Fix that by restoring the ResPool status to the state before simulating
an update.
https://bugzilla.suse.com/show_bug.cgi?id=1199895
commit dd19642551bff2958808ac3e2ee7fb352230fc85
Author: Jonathan Kang <jonathankang at gnome.org>
Date: Fri Jul 22 15:11:15 2022 +0800
zypp: Avoid statuReset() on locked packages
https://bugzilla.suse.com/show_bug.cgi?id=1199895
commit f86773faf49665cc816f291c8dadc08a9f2e0d4c
Author: Jonathan Kang <jonathankang at gnome.org>
Date: Fri Jul 22 15:01:47 2022 +0800
zypp: Clean up trailing whitespaces
commit 20efe31a623aa348b114786ebfc957324e0e4189
Author: Matthias Klumpp <matthias at tenstral.net>
Date: Wed Jul 27 03:24:55 2022 +0200
aptcc: Don't add previous header and spaces to changelog entry end
commit 8e5b20d1632fe9534e47c6bf06c3a2e52b35bbb6
Author: Matthias Klumpp <matthias at tenstral.net>
Date: Wed Jul 27 03:12:46 2022 +0200
aptcc: Don't report bug URLs with empty ID, and use HTTPS URLs
commit fcfe69845c5fb1432b20013c2271cb74ede3bfbe
Author: Bobby Rong <rjl931189261 at 126.com>
Date: Tue Jul 19 13:04:21 2022 +0800
Nix: fix build with Nix 2.9.0 (#551)
See also https://github.com/NixOS/nix/commit/a385e51
commit 8fdc71d8aa1e1f1608b5e20e85ffb291f963e1c5
Author: Philip Withnall <pwithnall at endlessos.org>
Date: Mon Jul 4 11:14:40 2022 +0100
pk-main: Mark some early-start error messages as translatable
As suggested by Matthias on
https://github.com/PackageKit/PackageKit/pull/559#issuecomment-1173005774
Signed-off-by: Philip Withnall <pwithnall at endlessos.org>
commit c933f831a655f246f1e51446ed2746c06713b185
Author: Philip Withnall <pwithnall at endlessos.org>
Date: Sat Jul 2 23:36:24 2022 +0100
pk-main: Add newline on g_printerr() calls
It doesn’t add one itself (by contrast, `g_message()` and friends do add
one).
Signed-off-by: Philip Withnall <pwithnall at endlessos.org>
commit fb919acb54c8085d7aaec7c0bb0760a58e390f33
Author: Philip Withnall <pwithnall at endlessos.org>
Date: Sun Jul 3 00:11:20 2022 +0100
docs: Fix some XML typos in the Transaction interface documentation
Signed-off-by: Philip Withnall <pwithnall at endlessos.org>
commit 930dd201b1da348f2a0ee7421c1eabef6156dd1e
Author: Jonathan Kang <jonathankang at gnome.org>
Date: Fri Jul 1 11:25:48 2022 +0800
zypp: implement upgrade-system method
commit 2eff6cdbad8047d126e040f9ff98f23ca01e582f
Author: Rodrigo Pedra Brum <rodrigo.pedra at gmail.com>
Date: Thu May 26 09:08:07 2022 -0300
Remove trailing whitespace
commit 1640e277aae5cf7ee46711e365581565ecd3ed8a
Author: Rodrigo Pedra Brum <rodrigo.pedra at gmail.com>
Date: Sun Apr 17 03:07:17 2022 -0300
zypp: ignore locked packages
Closes #325
Currently if a package is locked on ZYpp PackageKit ignores the lock and silently updates or installs it.
This PR adds a check if a package is locked a before adding it to the packages to be updated list.
Implementation and comment in code was inspired by the one in aptcc backend
https://github.com/PackageKit/PackageKit/blob/9339249866d44f06d713e92f2abf90b470b5deb3/backends/aptcc/apt-intf.cpp#L1303-L1308
commit 23b0fbd92a68dddb709d4d277ae36198a9ac3ea5
Author: Philip Withnall <pwithnall at endlessos.org>
Date: Tue May 31 16:42:34 2022 +0100
pk-client: Fix default value of cache-age property
`pk_client_init()` sets the default value to `G_MAXUINT` but the
`GParamSpec` setup didn’t also use that value.
This probably introduces no functional changes, but it makes the code
not contradict itself.
Signed-off-by: Philip Withnall <pwithnall at endlessos.org>
commit 3e1d63db4c78cfec4b4a8dd849e9a80df48eab79
Author: Matthias Klumpp <matthias at tenstral.net>
Date: Thu May 5 17:56:51 2022 +0200
docs: Adjust the definition of pkgid "data" field to match the status quo
commit 30bb82da8d4161330a6d7a20c9989149303421a1
Author: Bobby Rong <rjl931189261 at 126.com>
Date: Sat Apr 23 04:37:04 2022 +0800
Nix: fix build with Nix 2.8.0 (#538)
* nix/nix-lib-plus: synchronize Nix 2.7 changes
https://github.com/NixOS/nix/commit/49b0bb020663b7283549754a826b1346c93a8bbb
forceValue: make pos mandatory
- Make passing the position to `forceValue` mandatory,
this way we remember people that the position is
important for better error messages
- Add pos to all `forceValue` calls
----------------------------------------------------------------------------
https://github.com/NixOS/nix/commit/bd383d1b6f91c4fe7ac21c52771e92027f649fa0
Make most calls to determinePos() lazy
----------------------------------------------------------------------------
https://github.com/NixOS/nix/commit/df552ff53e68dff8ca360adbdbea214ece1d08ee
Remove std::string alias (for real this time)
Also use std::string_view in a few more places.
----------------------------------------------------------------------------
https://github.com/NixOS/nix/commit/b55d79728ccbd2581fa3aa7b2ec7f498aa2285d6
Add EvalState::coerceToStorePath() helper
This is useful whenever we want to evaluate something to a store path
(e.g. in get-drvs.cc).
Extracted from the lazy-trees branch (where we can require that a
store path must come from a store source tree accessor).
* nix/pk-backend-nix: correct the return type of nix_get_cursor
https://github.com/NixOS/nix/commit/98e361ad4c1a26d4ffe4762a6f33bb9e39321a39
nix::eval_cache::AttrCursor::findAlongAttrPath is returning
nix::OrSuggestions<nix::ref<nix::eval_cache::AttrCursor>> instead of
std::shared_ptr<nix::eval_cache::AttrCursor>
* nix/pk-backend-nix: rename nix_get_cursor to nix_get_attr_or_suggestions
Since the return type is changed, we do this to match reality.
* nix: require version 2.7
With the introduction of nix::OrSuggestions, this should
no longer build with Nix older than 2.7.
* nix/nix-lib-plus: synchronize Nix 2.8 changes
https://github.com/NixOS/nix/commit/57366619229c62ed182514d9ad71ef3aea93d5d6
nix-env: always print output names in JSON and XML
The current `--out-path` flag has two disadvantages when one is only
concerned with querying the names of outputs:
- it requires evaluating every output's `outPath`, which takes
significantly more resources and runs into more failures
- it destroys the information of the order of outputs so we can't tell
which one is the main output
This patch makes the output names always present (replacing paths with
`null` in JSON if `--out-path` isn't given), and adds an `outputName`
field.
----------------------------------------------------------------------------
https://github.com/NixOS/nix/commit/a0259a21a416301573d9d6b994d6b5fb62a1bcf3
Don't hide repeated values while generating manifest.nix
* nix: require version 2.8
commit 197f52787c5891c2d9afe14b1c91fcd0429abbcd
Author: Matthias Klumpp <matthias at tenstral.net>
Date: Fri Feb 25 04:05:45 2022 +0100
trivial: aptcc: Fix candidate version loop properly this time
The problem with 1941ec7 was not the loop itself, but the wrong return
value. This patch fixes the original issue, as well as restoring the
much nicer for-loop again.
commit 3c7054258d3c0a5056c129e34a4f02c732228d84
Author: Tom Sullivan <tom at msbit.com.au>
Date: Wed Feb 23 15:18:16 2022 +1100
trivial: alpm: Fix misspelling of `update` (#535)
Change use of `uptate` to `update` in `pk_alpm_refresh_databases`
commit 9339249866d44f06d713e92f2abf90b470b5deb3
Author: Matthias Klumpp <matthias at tenstral.net>
Date: Tue Feb 22 23:54:54 2022 +0100
aptcc: Use smartpointers in more places
commit f1b905cf2d0c6ebbad2c7ed12e24b19268fbef63
Author: Matthias Klumpp <matthias at tenstral.net>
Date: Tue Feb 22 23:35:02 2022 +0100
aptcc: Fix emission of package IDs if there is just one candidate available
The previous loop was not emitting the resolved package ID if the
candidate list was already at its end, even if there was a package
available.
The new loop will emit a package in all (sensible) cases.
Resolves: #534
commit 33b847c49b4a42499e3c0f10fef62830c874e086
Author: Alex Ameen <alex.ameen.tx at gmail.com>
Date: Thu Feb 17 19:51:14 2022 -0600
backends/nix: explicitly call forceValue with noPos argument
* backends/nix/nix-lib-plus.cc: fix compatibility with Nix 2.7.0 which drops
default value of 'noPos' in 'forceValue' function
commit 47b7f97bc9ef22b9c1c6c0a738ff49c876d8122a
Author: Matthias Klumpp <matthias at tenstral.net>
Date: Thu Feb 17 21:19:50 2022 +0100
trivial: Drop unnecessary x permission
Lintian complained about it.
More information about the PackageKit-commit
mailing list