Hello folks,

I'm sending you this email just to let you know that I've created a few
small software tools, basically, I wanted to bring Pacman's package
management to GNOME Software. The main reason for this is that I
sometimes install Arch Linux for friends and family who aren’t very
tech-savvy, and you can’t just tell them that to update, they have to
run a command-line command, not because you can’t put it in a script,
but because they often forget or don’t know how to tell if it worked
properly.

At first, you always think about creating a tool that simply handles
the updates, but in the end, I think it's best to integrate it with
what already exists so as not to “reinvent the wheel.” That's why I
ended up creating two pieces of software.

The first one[1] (in Rust) is the heart of the system; basically, it
exposes ALPM via D-Bus. This allows that D-Bus connection to be used by
plugins. This development also implements a connector with PackageKit
in case you're simply a user of that tool.

The second[2] is a GNOME Software plugin that directly uses the first
implementation so you can install, uninstall, and update.

The system is designed to be easy to use and to prevent
inconsistencies; therefore, if there are pending updates and you want
to install a package, it will update the machine first before
installing it (to avoid dependency issues that may not exist or may not
match).

Obviously, this system won't save the day if you need to make any
manual changes, but it's useful for day-to-day use for users who don't
want to deal with pacman. That said, it doesn't work with AUR, only
with binary repositories. If you have an unofficial personal repository
in pacman.conf, it will work without any problems.

It has been tested and is stable as of now; however, due to
dependencies related to a change that would need to be made to Rust's
ALPM[3], the versions currently published on AUR are -git[4][5].

Note: alpm-dbus[4] is a base package that bundles three packages: the
DBus daemon itself[6], a CLI tool[7] for testing and making direct
calls, and the Packagekit package[8] mentioned earlier.

That said, any ideas are welcome.

To wrap up, I'd like to mention that I did this with the help of AI.
I'm saying this because I know there are people who don't like it, so
now they've been warned.

Greetings.

[1]: https://gitlab.archlinux.org/ogarcia/alpm-dbus
[2]: https://gitlab.archlinux.org/ogarcia/gsp-alpm
[3]:
https://gitlab.archlinux.org/archlinux/alpm/alpm/-/merge_requests/652
[4]: https://aur.archlinux.org/pkgbase/alpm-dbus-git
[5]: https://aur.archlinux.org/packages/gsp-alpm-git
[6]: https://aur.archlinux.org/packages/alpm-dbus-git
[7]: https://aur.archlinux.org/packages/alpm-dbus-client-git
[8]: https://aur.archlinux.org/packages/alpm-packagekit-git

-- 
Óscar García Amor | ogarcia at moire.org | http://ogarcia.me

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to