Git Product home page Git Product logo

dnfdragora's Introduction

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 GtK: dnfdragora with GtK UI

Example with ncurses: dnfdragora with ncurses UI

REQUIREMENTS

DNF

DNF Daemon

pystray >= 0.17.3

SUSE libyui >= 4.2.14

libyui-mga >= 1.2.1 - our widget extension

SUSE libyui-bindings (included into libyui)

python-manatools >= 0.0.4

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

CONTRIBUTE

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.

LICENSE AND COPYRIGHT

See license file.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.