Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-82310

Add dnf4 provides and symlink /usr/bin/dnf4 -> /usr/bin/dnf-3

Linking RHIVOS CVEs to...Migration: Automation ...SWIFT: Generate New Ti...SWIFT: POC ConversionSync from "Extern...XMLWordPrintable

    • dnf-4.14.0-28.el9
    • Moderate
    • rhel-swm
    • ssg_core_services
    • 16
    • 18
    • None
    • Dev ack
    • False
    • False
    • Hide

      None

      Show
      None
    • Yes
    • None
    • Enhancement
    • Hide
      .`dnf4` can be used to run DNF commands

      With this update, you can enter either `dnf` or `dnf4` to run DNF commands.
      Show
      .`dnf4` can be used to run DNF commands With this update, you can enter either `dnf` or `dnf4` to run DNF commands.
    • Done
    • Done
    • Done
    • Not Required
    • None

      Goal

      • As a user, I want to call the `dnf4` command run DNF 4 on RHEL 9, 10, and Fedora systems, so that habits/instructions/scripts will apply across systems.
      • As a user, I want be able to install DNF 4 by dnf install dnf4 (or microdnf install dnf4)

      Acceptance criteria

      • python3-dnf package should provide `dnf4` so `dnf install dnf4` works
      • python3-dnf package should provide symlink from /usr/bin/dnf4 to /usr/bin/dnf-3

      Background

      As of DNF 4.16.2, /usr/bin/dnf4 is a symlink to /usr/bin/dnf-3, which is the DNF binary provided by the python3-dnf package. The symlink was added so that users and scripts could easily and explicitly call DNF 4 as opposed to DNF 5 (which provides /usr/bin/dnf5), regardless of which package provides /usr/bin/dnf. dnf4 is more obvious to users than dnf-3 (which refers to "DNF 4 with Python 3").

      As of https://github.com/rpm-software-management/dnf/pull/2190, python3-dnf also Provides: dnf4 so users can simply install dnf4 (e.g. with microdnf or dnf5) and not have to know that DNF 4 is provided by the package named python3-dnf.

      The symlink and provides should be backported to as many systems as possible so scripts calling /usr/bin/dnf4 work everywhere, and dnf install dnf4 works everywhere.

              packaging-team-maint packaging-team-maint
              rh-ee-egoode Evan Goode
              packaging-team-maint packaging-team-maint
              Eva Mrakova Eva Mrakova
              Mariya Pershina Mariya Pershina
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: