Sisyphus

From Redcore Linux Project Wiki
Revision as of 00:43, 3 July 2021 by Venerix (talk | contribs)
Jump to navigationJump to search

Sisyphus is one of the package managers available in Redcore Linux, alongside Portage and Flatpak. It is the recommended package manager to use, and it was developed by Redcore Linux developers for Redcore Linux. In it's essence Sisyphus is a simple wrapper around portage which provides an apt-get/yum-alike interface to it, to assist newcomer people transitioning from Debian/Redhat-based systems to Gentoo.

Note: Not every aspect of Portage is wrapped or exposed. Sisyphus is under active development, so things may be added, changed or removed in the future.

Development

Sisyphus is written in python3 (backend and cli frontend) and PyQt5 (gui frontend) and is divided in 3 parts :

 * a backend
 * a cli client
 * a gui client

Backend

The backend is fairly simple and is comprised of a collection of python3 function libraries which wrap around parts of Portage and implement Sisyphus specific aspects (branches, database recovery, advanced package search and filtering). To avoid potential breakages it does NOT use Portage API and, in order to stay compatible with Portage, the wrapped parts follow it closely, and use identical methods. Some Portage methods have been replaced over time with Sisyphus specific methods (binary package downloader) while still maintaining compatibility. Am experimental method to install binary packages is under development, but it is currently unfortunately stalled due to lack of time (early tests show a 2000% speed increase, while still maintaining Portage compatibility).

CLI client