/dnf

dnf is a package manager based on yum and libsolv

Primary LanguagePythonGNU General Public License v2.0GPL-2.0

Dandified Yum

Dandified Yum (DNF) is the next upcoming major version of Yum. It does package management using RPM, libsolv and hawkey libraries. For metadata handling and package downloads it utilizes librepo. To process and effectively handle the comps data it uses libcomps.

Installing

DNF and all its dependencies are available in Fedora 18 and later, including the rawhide Fedora.

Optionally you use repositories with DNF nightly builds for last 2 stable Fedora versions:

sudo cat << 'EOF' > /etc/yum.repos.d/dnf-nightly.repo
[dnf-nightly]
name=DNF nightly $releasever - $basearch
baseurl=http://jenkins.cloud.fedoraproject.org/job/DNF/lastSuccessfulBuild/artifact/fedora-$releasever-$basearch-build
enabled=1
EOF

Then install DNF typing:

sudo yum install dnf

In other RPM-based distributions you need to build all the components from their sources.

Building from source

From the DNF git checkout directory:

mkdir build;
pushd build;
cmake .. && make;
popd;

Then to run DNF:

PYTHONPATH=`readlink -f .` bin/dnf <arguments>

Building and installing rpm

From the DNF git checkout directory:

cmake .
./package/build-test-rpm
sudo rpm -i ~/rpmbuild/RPMS/noarch/dnf-<version>-<release>.noarch.rpm

Running tests

From the DNF git checkout directory:

mkdir build;
pushd build;
cmake .. && make ARGS="-V" test;
popd;

Documentation

The DNF package distribution contains man pages, dnf(8) and dnf.conf(8). It is also possible to read the DNF documentation online, the page includes API documentation. There's also a wiki meant for contributors to DNF and related projects.

Bug reporting etc.

Please report discovered bugs to the Red Hat bugzilla following this guide.

Freenode's irc channel #yum is meant for discussions related to both Yum and DNF. Questions should be asked there, issues discussed. Remember: #yum is not a support channel and prior research is expected from the questioner.