From Fedora Project Wiki
Line 132: Line 132:
== Documentation ==
== Documentation ==
[http://dnf.readthedocs.io/en/latest/dnf-1_vs_dnf-2.html documented differences between 1.x and 2.0]
[http://dnf.readthedocs.io/en/latest/dnf-1_vs_dnf-2.html documented differences between 1.x and 2.0]
== Packages that requires dnf, python3-dnf or python2-dnf in Fedora 24 ==
{| class="wikitable sortable"
! Package !! DNF-2.0 compatibility patch !! Status
|-
| anaconda-core || https://github.com/rhinstaller/anaconda/pull/763 || Agreed to merge after DNF release
|-
| auter || || Not informed
|-
| calamares || || Not informed
|-
| copr-frontend || || Not informed
|-
| devassistant-core || || Not informed
|-
| dnf-automatic || In upstream || Compatible
|-
| dnf-plugin-spacewalk || || Not informed
|-
| dnf-plugin-subscription-manager || || Not informed
|-
| dnf-plugin-system-upgrade || https://github.com/rpm-software-management/dnf-plugins-extras/pull/66 || In progress
|-
| dnf-yum || In upstream || Compatible
|-
| dnfdaemon || https://github.com/timlau/dnf-daemon/pull/6 || Merged
|-
| etckeeper-dnf || || Not informed
|-
| fedora-upgrade || || Not informed
|-
| fontpackages-tools || || Not informed
|-
| freight-tools || || Not informed
|-
| freight-tools-agent || || Not informed
|-
| freight-tools-proxy || || Not informed
|-
| libreport-python || || Not informed
|-
| libreport-python3 || || Not informed
|-
| libtaskotron-fedora || || Not informed
|-
| lorax || || Not informed
|-
| policycoreutils-devel || || Not informed
|-
| python-dnf-langpacks || || Retired in Fc25
|-
| python3-dnf-langpacks || || Retired in Fc25
|-
| python3-dnf-plugin-system-upgrade || https://github.com/rpm-software-management/dnf-plugins-extras/pull/66 || In progress
|-
| rhn-client-tools || || Not informed
|-
| rolekit || || Not informed
|-
| supermin || || Not informed
|-
| system-config-language || || Not informed
|}


== Release Notes ==
== Release Notes ==

Revision as of 13:34, 16 September 2016


DNF 2.0

Summary

DNF rebase to version 2.0.

Owner

Current status

  • Targeted release: Fedora 26
  • Last updated: 2016-09-16
  • Tracker bug: <will be assigned by the Wrangler>

Detailed Description

DNF-2.0 is the next upcoming major version of DNF package manager. Unfortunately, it brings some incompatibilities with previous version of DNF (DNF-1) which were either needed to preserve compatibility with YUM CLI or where bigger redesigns were needed. A list of identified incompatible changes can be found here[1].

Benefit to Fedora

DNF-2 is the upstream DNF version, the only version actively developed. Currently the upstream contains many user requested features, increased compatibility with yum and over 30 bug fixes. To DNF-1 back porting of patches from upstream is difficult and only critical security and usability fixes will be cherry-picked to Fedora.

Scope

  • Proposal owners:
    • complete release notes 
    • deliver DNF-2.0 stack to Rawhide
  • Other developers:
    • Owners of 3rd party DNF plugins or components depending on DNF should check and adjust their packages otherwise they may not work with DNF-2.0.
  • Release engineering:
    • All release engineering tools that depends on DNF should be tested against DNF-2.0.

Upgrade/compatibility impact

Plugins based on DNF-1 providing commands will abort run of DNF. Any Python script or extension using 5 changed methods in DNF-2 will not work correctly. Components using DNF private Python functions could experience some issues. User or applications calling DNF CLI API can experience differences if any of 2 changed options were used. The code changes are needed for applications affected by mentioned changes. For main applications requiring DNF the patches were provided.


How To Test

  • you can install DNF-2 from this COPR repo for testing
  • testing scenarios:
    • anaconda installation
    •  upgrade from previous Fedora version
    • core functionality: install, upgrade, remove, repoquery
    •  dnf-plugins: copr, system-upgrade, download
    • third party software: mock, yumex


User Experience

N/A (unaffected)

Dependencies

N/A (not a System Wide Change)

Contingency Plan

  • Contingency mechanism:
    • revert to DNF-1.1.x (epoch bump)
    • revert to dnf-plugins-core-0.1.x (epoch bump)
    • revert to dnf-plugins-extras-0.0.x (epoch bump)
    • revert to dnf-plugin-system-upgrade-0.7.x (epoch bump)
    • consequent rollback of already ported components in the table where the change for dnf-2.0 was needed
  • Contingency deadline: F26 Alpha Freeze
  • Blocks release? Yes

Documentation

documented differences between 1.x and 2.0

Release Notes