No description
  • Python 97.8%
  • Shell 2.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
transifex-integration[bot] b500037c73 i18n: Translate po/pisi.pot in nl_NL
92% of minimum 25% translated source file: 'po/pisi.pot'
on 'nl_NL'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format
2026-06-27 13:42:19 +02:00
.github Accidentally a character 2025-07-06 13:24:20 -04:00
.tx Update/upload translations to Transifex 2024-11-19 15:10:25 -05:00
dist Update bash autocompletions 2026-05-09 22:08:48 +02:00
doc Use eopkg-index, not pisi-index 2014-03-22 14:00:09 +00:00
LICENSES Make most of the code REUSE-compliant 2023-08-31 15:56:22 +02:00
pisi pisi: Bump version to 5.0.0 2026-06-27 00:07:05 +01:00
po i18n: Translate po/pisi.pot in nl_NL 2026-06-27 13:42:19 +02:00
.gitignore venv: Add systemd-nspawn script, msg & misc tweaks 2024-05-29 05:08:55 +02:00
AUTHORS Support PEP517 installation 2023-09-08 19:04:31 +02:00
build_chroot.sh Rename eopkg.py3 -> eopkg.py 2026-05-09 11:25:13 -04:00
ChangeLog Merge old ChangeLog files 2013-08-23 21:35:55 +01:00
ChangeLog.OLD Drop "/pisi/" style paths to avoid more confusion 2014-03-22 14:14:42 +00:00
chroot_pkglist.txt chroot_pkglist.txt: s/eopkg4-bin/eopkg.bin 2024-06-09 05:46:38 +02:00
eopkg.py Rename eopkg.py3 -> eopkg.py 2026-05-09 11:25:13 -04:00
eopkg_build.py i18n: Add a script to compile all translatable strings into the .pot file 2024-12-15 13:56:20 -05:00
eopkg_venv_functions.bash Don't add commit in version in venv scripts 2026-06-18 17:24:51 -04:00
prepare_eopkg_venv.sh Add scripts for creating package repo server venv 2024-05-26 02:05:21 +02:00
pyproject.toml fetcher: Move from tqdm to rich for progress bars 2026-06-27 01:05:54 +02:00
README.md Rename eopkg.py3 -> eopkg.py 2026-05-09 11:25:13 -04:00
requirements.txt fetcher: Move from tqdm to rich for progress bars 2026-06-27 01:05:54 +02:00
shared_functions.bash Fixups to venv scripts 2026-06-12 10:25:56 +02:00
update_pot.sh i18n: Add a script to compile all translatable strings into the .pot file 2024-12-15 13:56:20 -05:00

eopkg package manager

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.

FilesDB on-disk version format 4

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).

Updating translations

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.

eopkg venv testing

Prerequisites

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.

Setting up the eopkg_venv venv

  • Execute ./prepare_eopkg_venv.sh
  • Depending on the shell you use, source one of eopkg_venv/bin/activate, eopkg_venv/bin/activate.fish, or eopkg_venv/bin/activate.zsh.

Now you should be able to execute eopkg.py --version successfully, independently of whether your host system is running Solus or not.

Running commands with sudo inside the venv

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.py --version
deactivate

Building a Solus chroot using the eopkg_venv eopkg.py version

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.

Exiting systemd-nspawn chroot

Execute poweroff as root.

Exiting non-systemd-nspawn chroot

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.

Deactivating the eopkg_venv

Type deactivate to deactivate the eopkg_venv, after which you should be back to your normal shell session.