{"id":13483597,"url":"https://github.com/rpm-software-management/dnf","last_synced_at":"2025-05-14T06:13:15.010Z","repository":{"id":2679643,"uuid":"3671909","full_name":"rpm-software-management/dnf","owner":"rpm-software-management","description":"Package manager based on libdnf and libsolv. Replaces YUM.","archived":false,"fork":false,"pushed_at":"2025-04-30T07:10:42.000Z","size":58563,"stargazers_count":1283,"open_issues_count":63,"forks_count":423,"subscribers_count":64,"default_branch":"master","last_synced_at":"2025-04-30T08:25:01.437Z","etag":null,"topics":["dnf","libdnf","package-manager","python","rpm"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rpm-software-management.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2012-03-09T15:31:09.000Z","updated_at":"2025-04-30T07:10:47.000Z","dependencies_parsed_at":"2023-07-05T18:02:05.098Z","dependency_job_id":"fd057841-2803-4a3f-9bd9-65cd82ae490b","html_url":"https://github.com/rpm-software-management/dnf","commit_stats":{"total_commits":9515,"total_committers":293,"mean_commits":"32.474402730375424","dds":0.8465580662112454,"last_synced_commit":"e44e98ae1366a339ba182d72357ddb876bbe4e1a"},"previous_names":[],"tags_count":117,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rpm-software-management%2Fdnf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rpm-software-management%2Fdnf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rpm-software-management%2Fdnf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rpm-software-management%2Fdnf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rpm-software-management","download_url":"https://codeload.github.com/rpm-software-management/dnf/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254081470,"owners_count":22011632,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dnf","libdnf","package-manager","python","rpm"],"created_at":"2024-07-31T17:01:13.194Z","updated_at":"2025-05-14T06:13:14.998Z","avatar_url":"https://github.com/rpm-software-management.png","language":"Python","readme":".. image:: https://translate.fedoraproject.org/widgets/dnf/-/dnf-master/svg-badge.svg\n    :alt: Translation status\n    :target: https://translate.fedoraproject.org/engage/dnf/?utm_source=widget\n\n==================================================================================================================================================================================================\n⚠️ **Notice:** This repository is for **DNF4** only. The current DNF version (DNF5) has its `own repo \u003chttps://github.com/rpm-software-management/dnf5\u003e`_.\n==================================================================================================================================================================================================\n\n\n#################\n Dandified YUM 4\n#################\n\n.. image:: https://raw.githubusercontent.com/rpm-software-management/dnf/gh-pages/logos/DNF_logo.png\n \nDandified YUM 4 (DNF) is the 4th iteration of next upcoming major version of `YUM \u003chttp://yum.baseurl.org/\u003e`_. It does package management using `RPM \u003chttp://rpm.org/\u003e`_, `libsolv \u003chttps://github.com/openSUSE/libsolv\u003e`_ and `hawkey \u003chttps://github.com/rpm-software-management/hawkey\u003e`_ libraries. For metadata handling and package downloads it utilizes `librepo \u003chttps://github.com/tojaj/librepo\u003e`_. To process and effectively handle the comps data it uses `libcomps \u003chttps://github.com/midnightercz/libcomps\u003e`_.\n\nJoin us on IRC at ``#dnf`` on `Libera.Chat \u003chttps://libera.chat\u003e`_. Questions should be asked there, issues discussed. Remember: ``#dnf`` is not a support channel, and prior research is expected from the questioner.\n\n============\n Installing\n============\n\nDNF4 and all its dependencies are available in Fedora 18 and later, including the\nrawhide Fedora.\n\nOptionally you can use repositories with DNF nightly builds for last 2 stable Fedora versions available at copr://rpmsoftwaremanagement/dnf-nightly. You can enable the repository e.g. using:: \n\n    dnf copr enable rpmsoftwaremanagement/dnf-nightly\n\nThen install DNF typing::\n\n    sudo yum install dnf4\n\nIn other RPM-based distributions you need to build all the components from their\nsources.\n\n======================\n Building from source\n======================\n\nAll commands should be run from the DNF git checkout directory.\n\nTo install the build dependencies::\n\n    sudo dnf builddep dnf.spec\n\nTo build DNF::\n\n    mkdir build;\n    pushd build;\n    cmake ..; # add '-DPYTHON_DESIRED=\"3\"' option for Python 3 build\n    make;\n    popd;\n\nTo run DNF when compiled for Python2::\n\n    PYTHONPATH=`readlink -f .` bin/dnf-2 \u003carguments\u003e\n\nTo run DNF when compiled for Python3::\n\n    PYTHONPATH=`readlink -f .` bin/dnf-3 \u003carguments\u003e\n\nIf you want to build the manpages, use the option ``-DWITH_MAN=0`` with cmake.\n\nMan pages will be located in ``build/doc`` and can be read with ``man -l``, e.g::\n\n    man -l build/doc/dnf4.8\n\n=============================\n Building and installing rpm\n=============================\n\nFrom the DNF git checkout directory::\n\n    $ tito build --test --rpm\n    # dnf install /tmp/tito/noarch/*\n\n===============\n Running tests\n===============\n\nFrom the DNF git checkout directory::\n\n    mkdir build;\n    pushd build;\n    cmake .. \u0026\u0026 make ARGS=\"-V\" test;\n    popd;\n\n==============\n Contribution\n==============\n\nHere's the most direct way to get your work merged into the project.\n\n1. Fork the project\n#. Clone down your fork\n#. Implement your feature or bug fix and commit changes\n#. If the change fixes a bug at `Red Hat bugzilla \u003chttps://bugzilla.redhat.com/\u003e`_, or if it is important to the end user, add the following block to the commit message::\n\n    = changelog =\n    msg:           message to be included in the changelog\n    type:          one of: bugfix/enhancement/security (this field is required when message is present)\n    resolves:      URLs to bugs or issues resolved by this commit (can be specified multiple times)\n    related:       URLs to any related bugs or issues (can be specified multiple times)\n\n   * For example::\n\n       = changelog =\n       msg: Verify GPG signatures when running dnf-automatic\n       type: bugfix\n       resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1793298\n\n   * For your convenience, you can also use git commit template by running the following command in the top-level directory of this project::\n\n       git config commit.template ./.git-commit-template\n\n#. In special commit add your name and email under ``DNF CONTRIBUTORS`` section in `authors file \u003chttps://github.com/rpm-software-management/dnf/blob/master/AUTHORS\u003e`_ as a reward for your generosity\n#. Push the branch up to your fork\n#. Send a pull request for your branch\n\nPlease, do not create the pull requests with translation (.po) files improvements. Fix the translation on `Fedora Weblate \u003chttps://translate.fedoraproject.org/projects/dnf/\u003e`_ instead.\n\n===============\n Documentation\n===============\n\nThe DNF package distribution contains man pages, dnf(8) and dnf.conf(8). It is also possible to `read the DNF documentation \u003chttp://dnf.readthedocs.org\u003e`_ online, the page includes API documentation. There's also a `wiki \u003chttps://github.com/rpm-software-management/dnf/wiki\u003e`_ meant for contributors to DNF and related projects.\n\n===============\n Bug reporting\n===============\n\nPlease report discovered bugs to `GitHub Issues \u003chttps://github.com/rpm-software-management/dnf/issues\u003e`_ or to the `Red Hat bugzilla \u003chttps://bugzilla.redhat.com/\u003e`_. If you plan to propose the patch in the report, consider `Contribution`_ instead.\n","funding_links":[],"categories":["\u003ca id=\"tag-dev\" href=\"#tag-dev\"\u003eDev\u003c/a\u003e","Python","python"],"sub_categories":["\u003ca id=\"tag-dev.pkg_mgr\" href=\"#tag-dev.pkg_mgr\"\u003ePackage Managers\u003c/a\u003e"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frpm-software-management%2Fdnf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frpm-software-management%2Fdnf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frpm-software-management%2Fdnf/lists"}