dnfdragora is a dnf frontend based on libyui abstraction
Python CMake Shell
Switch branches/tags
Clone or download

README.md

dnfdragora

logo dnfdragora is a DNF frontend, based on rpmdragora from Mageia (originally rpmdrake) Perl code.

dnfdragora is written in Python 3 and uses libYui, the widget abstraction library written by SUSE, so that it can be run using Qt 5, GTK+ 3, or ncurses interfaces.

Example with Qt: dnfdragora with Qt UI

Example with ncurses: dnfdragora with ncurses UI

REQUIREMENTS

DNF

DNF Daemon

notify2

SUSE libyui

libyui-mga - our widget extension

SUSE libyui-bindings - anaselli fork

at least one of the SUSE libyui plugins

at least one of the MGA libyui widget extension plugins (according to the one above)

INSTALLATION

Distribution packages:

  • Mageia:
    • dnfdragora: dnf install dnfdragora or urpmi dnfdragora
    • dnfdragora-gui: dnf install dnfdragora-<gui> or urpmi dnfdragora-<gui>
      • Replace <gui> with qt or gtk depending on desired toolkit
  • 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)

From sources:

  • 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, eg. /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, eg. Fedora, RHEL, CentOS
  • Build: make
  • Install: make install
  • Run: dnfdragora

From sources (for developers and testers only):

  • 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 directory
    • virtualenv --system-site-packages venv # create virtual environment under venv directory
    • . venv/bin/activate # activate virtual environment
  • Configure: mkdir build && cd build && cmake -D... .. && make install
    • needed cmake options are
      • -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 are
      • -DCHECK_RUNTIME_DEPENDENCIES=ON - Checks if the needed runtime dependencies are met.
      • -DENABLE_COMPS=ON - Useful if your distribution uses COMPS for groups, eg. Fedora, RHEL, CentOS
  • Run: dnfdragora into virtual environment, add '--locales-dir' option if you want to test localization locally)
    • useful dnfdragora options are
      • --locales-dir - if you want to test localization locally
      • --images-path - local icons and images (set to $DNFDRAGORA_PROJ_DIR/venv/share/dnfdragora/images/)

LICENSE AND COPYRIGHT

See license file.