dnfdragora is a DNF frontend, based on rpmdragora from Mageia (originally rpmdrake) Perl code.
dnfdragora is written in Python 3 and uses manatools.aui, the widget abstraction layer from python-manatools, so that it can be run using Qt (PySide6), GTK 4, or ncurses interfaces.
- https://github.com/rpm-software-management/dnf5
- Provides the D-Bus service
org.rpm.dnf.v0used by dnfdragora.
- Included in the DNF5 distribution.
- Required when
use_compsis enabled (group metadata loading vialibdnf5.comps).
- https://github.com/manatools/python-manatools
- Provides
manatools.aui(the UI abstraction layer) andmanatools.ui(common dialogs and helpers).
- Qt — requires PySide6 (
python3-pyside6) - GTK — requires PyGObject with GTK 4 (
python3-gobject,gtk4) - ncurses — requires the standard
cursesmodule (included with Python)
- Required for D-Bus communication with dnf5daemon.
- Mageia:
- dnfdragora:
dnf install dnfdragoraorurpmi dnfdragora - dnfdragora-gui:
dnf install dnfdragora-<gui>orurpmi dnfdragora-<gui>- Replace
<gui>withqtorgtkdepending on desired toolkit
- Replace
- dnfdragora:
- Fedora:
- dnfdragora:
dnf install dnfdragora(installs all needed for use on terminal) - dnfdragora-gui:
dnf install dnfdragora-gui(installs all needed for use in desktop environment)
- dnfdragora:
- Packages needed to build:
- cmake >= 3.4.0
- python3-devel >= 3.4.0
- optional: gettext (for locales)
- optional: python3-sphinx (for manpages)
- Configure:
mkdir build && cd build && cmake ..-DCMAKE_INSTALL_PREFIX=/usr— Sets the install path, e.g. /usr, /usr/local or /opt-DCHECK_RUNTIME_DEPENDENCIES=ON— Checks if the needed runtime dependencies are met.-DENABLE_COMPS=ON— Useful if your distribution uses COMPS for groups (Fedora, RHEL, CentOS)
- Build:
make - Install:
make install - Run:
dnfdragora
- Packages needed to build:
- cmake >= 3.4.0
- python3-devel >= 3.4.0
- python3-virtualenv
- optional: gettext (for locales)
- optional: python3-sphinx (for manpages)
- Setup your virtual environment
cd $DNFDRAGORA_PROJ_DIR— DNFDRAGORA_PROJ_DIR is the dnfdragora project directoryvirtualenv --system-site-packages venv— create virtual environment under venv directory. venv/bin/activate— activate virtual environmentpip install python-manatools— install python-manatools (or install from sources)
- Configure and install:
mkdir build && cd build && cmake -D... .. && make install- Required cmake options:
-DCMAKE_INSTALL_PREFIX=$DNFDRAGORA_PROJ_DIR/venv— venv install prefix-DCMAKE_INSTALL_FULL_SYSCONFDIR=$DNFDRAGORA_PROJ_DIR/venv/etc— venv sysconfig directory
- Useful cmake options:
-DCHECK_RUNTIME_DEPENDENCIES=ON— checks runtime dependencies-DENABLE_COMPS=ON— enables COMPS group support (Fedora, RHEL, CentOS)
- Required cmake options:
- Run
dnfdragorainside the virtual environment:--locales-dir— test localization locally--images-path— local icons and images (set to$DNFDRAGORA_PROJ_DIR/venv/share/dnfdragora/images/)
ManaTools and dnfdragora developers (as well as some users and contributors) are on Matrix. They often discuss development issues there
to get immediate feedback and develop ideas. The Matrix room is #manatools:matrix.org.
The Matrix room is also bridged to the IRC channel #manatools on Libera Chat. Get in touch with us!
If you have any issues or ideas add or comment an issue.
Check also into our TODO file.
See license file.


