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).
There are two parts to updating translations: compiling the strings to be translated, and pulling the translations. Since this project has been added to the Solus Transifex organization, both parts are relatively easy.
First, you need to have the Transifex CLI tool installed. If you do not have it installed, check out their webpage for instructions.
To compile the strings and push them to Transifex, run:
./update_pot.sh
tx push -s
To pull updated translations, run:
tx pull
When eopkg
is built, the build system will then compile the translations into a format usable by Python.
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.