Rohan Garg | 26 May 20:48 2016

Deferred package removal

I had a quick discussion on IRC about this yesterday and was told to
post to the mailing list.

Feature :
A way to remove packages on reboot similar to the offline-trigger
functionality that upgrades packages

Use Case :
I have software that only needs to run once on first boot to configure
the system, and should get removed on reboot ( essentially a OEM app
to setup the installed system with a new username and password on
first boot )

Rohan Garg
PackageKit mailing list
PackageKit <at>
René Genz | 25 May 02:04 2016

questions about documentation, clean cache, security only updates


thanks a lot for all your effort put into PackageKit. :)

I have some questions. I put them first and background information follows.
We are using Fedora 22 x86_64 and will upgrade to Fedora 24 x86_64.
Different desktop environments (Xfce, GNOME, KDE) are used.
Nvidia drivers from RPMFusion are in use.

question 1:
Where to find the full documentation of pkmon and pkcon?

In `man pkcon` and `man pkmon` you can read:
"The programs are documented fully on"

I cannot find the documents.

question 2:
How do I clean the cache at "/var/cache/PackageKit"?

As you know:
$ pkcon update --only-download

saves RPM files to:

On the other hand:
$ sudo dnf update --downloadonly -y

(Continue reading)

Lucas Moura | 26 Apr 20:51 2016

[GSOC] Recommender Systems


My name is Lucas Moura and I am Google Summer of Code Student working for the Debian project. My summer project is related to AppRecommender, a Debian package recommender system:

This application works by creating an user profile based on the user installed packages, this profile is basically the most significant terms on all user packages. With this profile built, AppRecommender uses Xapian to query for Debian packages and display the closest ones with the query.

Currently, this application can only be used via terminal access. However, my gsoc project is to change that, and allow AppRecommender to be integrated into graphical package managers:

I originally thought about integrating it with PackageKit, since this would allow some famous graphical package managers to actually show the recommendations, such as Gnome-software.

However, since AppRecommender only works for Debian and Ubuntu distros, I would like to ask what would be the best approach to integrate AppRecommender with PackageKit and the opinion of the application maintainers with this idea.

Lucas Moura
PackageKit mailing list
PackageKit <at>
Richard Hughes | 20 Apr 10:27 2016

PackageKit 1.1.1 released!

Version 1.1.1
Released: 2016-04-20

 - alpm: port to g_autoptr() (Christian Hesse)
 - hif: Set ALLOW_DOWNGRADE flag for all transactions (Kalev Lember)
 - zypp: Enforce formatting input as string (Neal Gompa)

New Features:
 - Add UpdateTriggered / UpgradeTriggered DBus properties (Kalev Lember)
 - Add TriggerUpgrade DBus method handling (Kalev Lember)

 - Emit UpdatesChanges when installing packages (Richard Hughes)
 - Fix GIR annotations for progress callbacks (Matthias Klumpp)
 - Increase the number of packages that can be resolved (Richard Hughes)
 - Point offline update/upgrade trigger to the prepared update (Kalev Lember)
 - Unlink any existing offline update triggers before creating (Kalev Lember)

Tarballs available here:

PackageKit mailing list
PackageKit <at>
Ponomarenko Andrey | 12 Mar 13:51 2016

ABI report


I've started to maintain ABI changes report for the PackageKit library here:

The page represents all ABI changes since 0.7.6 up to 1.1.0 version of the PackageKit and is updated every
other day. Hope the report will help Linux maintainers to be aware of ABI changes, added/removed symbols
and SONAME bumps in the library. Please let me know if there are any false positives in the report (I'll
remove them or add a comment).

The reports of the old-version tracker for the older releases of the library are still available at

Thank you.
PackageKit mailing list
PackageKit <at>
lordofgame | 19 Feb 19:06 2016

Question about offline update process


this is a question that has been bothering me for some time, that I
finally wanted to ask. The current process of offline updates goes
something like this:

1) Reboot the system into "offline update mode"
2) Install updates
3) Reboot system into default mode again

But wouldn't it be more efficient if in step 1) it just changes the
runlevel to "offline update mode"? Like, do a "systemctl isolate" (or whatever the target is named). In this case
systemd would shutdown almost all system services and it would be just
as good as a reboot.
Under certain circumstances you could even omit the second reboot, for
example if the kernel wasn't updated. Systemd itself has the
daemon-reexec command which supposedly reexecs PID 1, so it would be
enough to execute that command.

Maybe there is something I'm missing. It would be greatly appreciated,
if somebody could take the time to explain this to me.

PackageKit mailing list
PackageKit <at>
Richard Hughes | 12 Feb 21:06 2016

PackageKit 1.1.0 released!

Version 1.1.0
Released: 2016-02-12

 - alpm: Update for pacman 5.x API change (Christian Hesse)
 - alpm: Remove versioning support (Christian Hesse)
 - aptcc: Always append the repository name to the pkgid data (Matthias Klumpp)
 - aptcc: Always use "installed" as data when the pkg is installed
(Matthias Klumpp)
 - aptcc: Do not use deprecated API (Matthias Klumpp)
 - aptcc: Require C++11 support (Matthias Klumpp)
 - aptcc: Store "packagekit role='%s'" as the apt cmdline (Michael Vogt)
 - hif: Add support for UpgradeSystem (Kalev Lember)
 - hif: Don't store repos in global data (Kalev Lember)
 - hif: Factor out pk_backend_job_set_context (Kalev Lember)
 - hif: Factor out pk_backend_setup_hif_context() (Kalev Lember)
 - hif: Save cache files in versioned directories (Kalev Lember)
 - hif: Save release ver in sack cache hash key (Kalev Lember)
 - hif: Split out UpgradeSystem handling to a separate function (Kalev Lember)
 - hif: Store the currently used HifContext in job private data (Kalev Lember)
 - zypp: Avoid media access when testing for cd/dvd URL scheme (Michael Andres)
 - zypp: Fix build (Dominique Leuenberger)
 - zypp: Use libzypp's arch compatibility check (Thomas Perl)

New Features:
 - Add client side API for triggering offline system upgrades (Kalev Lember)
 - Add getters for PkProgress (Robert Ancell)
 - Add pk_get_distro_version_id (Kalev Lember)
 - Add system upgrade API to PkTask (Kalev Lember)
 - Port to g_autoptr() (Richard Hughes, Kalev Lember)
 - Remove the PackageKit browser plugin (Richard Hughes)
 - Use the GLib network monitoring support (Richard Hughes)

 - Add missing description for obsoleted packages (Kalev Lember)
 - Add support for offline system upgrades (Kalev Lember)
 - Allow to enable or disable systemd units for offline update (Christian Hesse)
 - Correctly store file descriptor from logind (#94070) (Benjamin Berg)
 - Do not crash on GetPrepared when there are no offline updates (Rui Matos)
 - Do not crash on transaction database corruption (Richard Hughes)
 - Do not crash when parsing a very broken transaction log (Richard Hughes)
 - Do not install offline update related files if disabled (Christian Hesse)
 - Emit PropertiesChanged for UpgradeSystem transaction flags (Kalev Lember)
 - Fix download-size-remaining property type (Robert Ancell)
 - Fix various minor memory leaks (Matthias Klumpp)
 - Make transaction get_proxy() return TRUE for no proxy settings
(Matthias Klumpp)
 - Minor fixes in command_not_found_handle{,r}() for bash and zsh (Carsten Hey)
 - Relax validation performed on input strings passed to backends
(Richard Hughes)
 - Require dbus.socket for offline update (Christian Hesse)
 - Set PACKAGEKIT_CALLER_UID environment (Michael Vogt)
 - Sort package names when printing out simulation (Kalev Lember)
 - Use new PkTask API for system upgrades (Kalev Lember)

Tarballs available here:

PackageKit mailing list
PackageKit <at>
Akshay Takalkar | 12 Feb 17:23 2016

To know about Packagekit

I am Akshay Takalkar, your application is very cool and easy to understand. I am student and working on application devlopment in Gnome. I have devloped application in linux but it is not powerful and  error handler as your application. I also want to upload my application to gnome.

 I want to know  about your Packagekit software my questions are:

1) Which GUI application did you use for development?
2) Which programming language is been used?
3) What is "glue" file?
4) How did you launch your application in Gnome

PackageKit mailing list
PackageKit <at>
Richard Hughes | 27 Nov 15:55 2015

PackageKit 1.0.11 released!

Version 1.0.11
Released: 2015-11-27

 - By popular demand, reintroduce the UpgradeSystem method (Richard Hughes)

 - aptcc: Compile with APT 1.1 (Matthias Klumpp)
 - aptcc: Create really random temporary directories (Matthias Klumpp)
 - aptcc: Ensure proxy and frontend-socket aren't used if they are
NULL (Matthias Klumpp)
 - aptcc: Fix comment spelling mistakes (Robert Ancell)
 - aptcc: Fix formatting and kill some old cruft (Matthias Klumpp)
 - aptcc: Fix several compiler warnings (Matthias Klumpp)
 - aptcc: Make use of the new APT-internal method for fetching
changelogs (Matthias Klumpp)
 - aptcc: Remove dead code and make source filenames consistent
(Matthias Klumpp)
 - alpm: Make pk_alpm_pkg_build_list() more resiliant to failure
(Richard Hughes)
 - dummy: Implement simulating UpgradeSystem and respect the
transaction flags (Richard Hughes)
 - hif: Add support for HTTP proxy (Marek Marczykowski-Górecki)
 - hif: Improve RefreshCache progress updates (Kalev Lember)
 - portage: add helper to change portage settings (Gilles Dartiguelongue)
 - portage: cosmetics (Gilles Dartiguelongue)
 - portage: do not redefine builtin license (Gilles Dartiguelongue)
 - portage: do not refetch package listing for no reason (Gilles Dartiguelongue)
 - portage: drop unused imports (Gilles Dartiguelongue)
 - portage: enhance get_repo_list function (Gilles Dartiguelongue)
 - portage: fix a typo (Gilles Dartiguelongue)
 - portage: fix a typo in restoring license settings (Gilles Dartiguelongue)
 - portage: fix exception handling to be python2.7+ compatible (Gilles
 - portage: fix step percentage computation (Gilles Dartiguelongue)
 - portage: fix typo python backend detection (Gilles Dartiguelongue)
 - portage: initialize licenses variable (Gilles Dartiguelongue)
 - portage: remove compatibility with older portage (Gilles Dartiguelongue)
 - portage: remove useless instruction (Gilles Dartiguelongue)
 - portage: retrieve EAPI and KEYWORDS before calling setcpv method
(Gilles Dartiguelongue)
 - portage: simplify _get_cpv_slotted with collections module (Gilles
 - portage: simplify _get_metadata (Gilles Dartiguelongue)
 - portage: sort imports according to PEP8 (Gilles Dartiguelongue)
 - portage: update layman API usage to >=2 (Gilles Dartiguelongue)
 - portage: use PackageKitProgress to ease progress steps
manipulations (Gilles Dartiguelongue)
 - portage: use PackagekitProgress as an iterable (Gilles Dartiguelongue)
 - portage: use python idioms (Gilles Dartiguelongue)
 - python: make PackagekitProgress an Iterable (Gilles Dartiguelongue)
 - python: set steps on PackagekitProgress instanciation (Gilles Dartiguelongue)
 - zypp: Raise priority of ZYPP stack updates if a security patch is
shadowed (bsc#951592) (Michael Andres)

New Features:
 - Allow the use of variadic functions in vala (Corentin Noël)

 - Make pk_details_get_size documentation more specific (Aleix Pol)

Tarballs available here:

PackageKit mailing list
PackageKit <at>
郭云鹤 | 16 Oct 12:47 2015

One-click installation from XML file

Hi, I am developing a web service that provides free software package information. Since it is a web application, users cannot install the software. I think the "Install" button can be a download link to a special XML, which can be read by native package manager to install the package.

Can PackageKit have a feature to read '*.pkx' files:


openSUSE has implemented such a function to its YaST tool.


郭云鹤(Guo Yunhe)
PackageKit mailing list
PackageKit <at>
Marek Marczykowski-Górecki | 22 Sep 17:30 2015

Proxy setting for hif backend (Fedora 21, Fedora 22)


How can I set HTTP proxy to be used by packagekit on Fedora? When the
backend was yum (Fedora 20), it just worked when set in yum
configuration (/etc/yum.conf). With change to backend hif (dnf, hawkey,
whatever the name is) it doesn't work anymore. I've tried:
 - setting proxy in dnf.conf (which works just fine for manual dnf
 - setting http_proxy env before calling pkcon
 - setting ProxyHTTP in PackageKit.conf
 - calling org.freedesktop.Packagekit.SetProxy manually
Nothing from the above list works. Packagekit still tries to access
repositories directly (which fails because in this environment the only
internet access is through http proxy).


Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
PackageKit mailing list
PackageKit <at>