Fork of the PiSi Package Manager, originally from Pardus Linux, and adapted/maintained during the lifetime of SolusOS, EvolveOS and Solus.
The python3 port is now the main development branch.
From version 4.1.5, eopkg.py3/bin will be using a FILESDB_FORMAT_VERSION = 4 versioned gdbm/dbm.gnu format
/var/lib/eopkg/info/files.db
database, and will auto-regen its FilesDB cache if it encounters
anything but the above.
In earlier versions, eopkg.py3 was using an unversioned gdbm/dbm.gnu format /var/lib/eopkg/info/files.db
database.
This implies that from version 4.1.5 and forward, eopkg.py3/bin will need to be built with gdbm support, but no longer needs to be built with bsddb/db5 support (for which upstream CPython support was dropped in 3.9 anyway).
On e.g. RHEL 9.x compatible distros, install the following:
sudo dnf install python3.11-pip-wheel python3.11-devel python3.11 python3.11-libs
On other distributions, install the equivalent packages.
To build the eopkg.1 man-page, the pandoc
executable needs to be available.
- Execute
./prepare_eopkg_venv.sh
- Depending on the shell you use,
source
one ofeopkg_venv/bin/activate
,eopkg_venv/bin/activate.fish
, oreopkg_venv/bin/activate.zsh
.
Now you should be able to execute eopkg.py3 --version
successfully, independently of whether your host system is running Solus or not.
To run a command with elevated privileges via sudo inside the venv, execute:
sudo -E env PATH="${PATH}" <the command>
Example:
source eopkg_venv/bin/activate
sudo -E env PATH="${PATH}" eopkg.py3 --version
deactivate
After setting up and activating the venv as above, run ./build_chroot.sh
followed by ./start_systemd_nspawn.sh
(recommended) or /start_chroot.sh
.
This will dump you to a root shell in a minimal Solus chroot.
Execute poweroff
as root.
Type exit
or CTRL+D to exit the chroot.
After exiting the chroot, you might be prompted by sudo
to enter your user password; this is because the kernel virtual
filesystems that were mounted into the chroot directory need to be properly unmounted again.
Type deactivate
to deactivate the eopkg_venv
, after which you should be back to your normal shell session.