saltstack / saltstack/salt

[TECH DEBT] [3006.x] download function in yumpkg relies on yum-utils which is not available on Fedora and some later Redhat platforms

Open
#67,786 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

fedora RHEL tech-debt
Dominant language
Python
Stars
15.7k
Forks
5.6k
Avg merge
2d 44m
Merged PRs (30d)
80

Description

Description of the tech debt to be addressed, include links and screenshots

The current implementation of yumpkg function download relies on yumdownloader from yum-utils which is not available on current versions of Fedora and expect it to be removed from later versions of RedHat platforms.
, for example: RedHat 9 / Rocky Linux 9, /usr/bin/yum -> dnf-3 and

[root@david-XPS-15-9570 /]# dnf download --help
usage: dnf download [-c [config file]] [-q] [-v] [--version] [--installroot [path]] [--nodocs] [--noplugins] [--enableplugin [plugin]] [--disableplugin [plugin]] [--releasever RELEASEVER] [--setopt SETOPTS] [--skip-broken] [-h]
                    [--allowerasing] [-b | --nobest] [-C] [-R [minutes]] [-d [debug level]] [--debugsolver] [--showduplicates] [-e ERRORLEVEL] [--obsoletes] [--rpmverbosity [debug level name]] [-y] [--assumeno] [--enablerepo [repo]]
                    [--disablerepo [repo] | --repo [repo]] [--enable | --disable] [-x [package]] [--disableexcludes [repo]] [--repofrompath [repo,path]] [--noautoremove] [--nogpgcheck] [--color COLOR] [--refresh] [-4] [-6]
                    [--destdir DESTDIR] [--downloadonly] [--comment COMMENT] [--bugfix] [--enhancement] [--newpackage] [--security] [--advisory ADVISORY] [--bz BUGZILLA] [--cve CVES] [--sec-severity {Critical,Important,Moderate,Low}]
                    [--forcearch ARCH] [--source] [--debuginfo] [--debugsource] [--arch [arch]] [--resolve] [--alldeps] [--url] [--urlprotocols {http,https,rsync,ftp}]
                    packages [packages ...]

See https://github.com/saltstack/salt/blob/685d330cc0e6bcedf77ed834ee0812ef330850c9/salt/modules/yumpkg.py#L3331-L3351

dnf and dnf5 provides a download capability which needs to be implemented

Versions Report

(Provided by running salt --versions-report. Please also mention any differences in master/minion versions.)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the download function in salt/modules/yumpkg.py around lines 3331-3351 and compare its yumdownloader usage with the documented dnf download command. Replace the dependency on yum-utils with support for the download capability provided by dnf and dnf5, covering current Fedora and later Red Hat platforms.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
devops, operating-systems
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.