-
-
Notifications
You must be signed in to change notification settings - Fork 11
Open
Description
PackageKit is an high-level interface to handle package managers of many distributions including apt, dnf, pacman, portage, urpmi...
To get the list of packages, you have to write something like that (in a buffer with lexical-binding:t):
(let ((transaction (dbus-call-method
:system
"org.freedesktop.PackageKit"
"/org/freedesktop/PackageKit"
"org.freedesktop.PackageKit"
"CreateTransaction"))
(count 0))
(dbus-register-signal
:system
"org.freedesktop.PackageKit"
transaction
"org.freedesktop.PackageKit.Transaction"
"Package"
(lambda (&rest arguments)
; in `arguments`, you get the package name, the installation status and a summary
(cl-incf count)))
(dbus-register-signal
:system
"org.freedesktop.PackageKit"
transaction
"org.freedesktop.PackageKit.Transaction"
"Finished"
(lambda (&rest arguments)
(message "Finished with %d packages" count)))
(dbus-call-method
:system
"org.freedesktop.PackageKit"
transaction
"org.freedesktop.PackageKit.Transaction"
"GetPackages"
:uint64 4))Metadata
Metadata
Assignees
Labels
No labels