fedora-repoquery
Fedora release repos package query tool
https://github.com/juhp/fedora-repoquery
| LTS Haskell 24.34: | 0.7.4 |
| Stackage Nightly 2026-03-16: | 0.8.1 |
| Latest on Hackage: | 0.8.1 |
fedora-repoquery-0.8.1@sha256:29d3a98df2d25cdd9bbc9f247d3e6e63ed072510c2383d541cb796992200f66a,3768Module documentation for 0.8.1
There are no documented modules for this package.
fedora-repoquery
A dnf wrapper to repoquery different Fedora releases, caching repodata separately per release. It also supports EPEL, Centos Stream and ELN repos.
Usage
Usage examples:
$ fedora-repoquery rawhide firefox
firefox-148.0-1.fc45.x86_64 (fedora-rawhide)
(note it is shorter to write fedora-repoquery 45).
$ fedora-repoquery 43 --requires filesystem
group(mail)
setup
$ fedora-repoquery epel10 ghc
ghc-9.6.6-146.el10_0.x86_64 (epel10)
$ fedora-repoquery c10 bash
bash-5.2.26-6.el10.x86_64 (c10s-BaseOS)
$ fedora-repoquery eln kernel
kernel-7.0.0-0.rc3.260312g80234b5ab240.32.eln155.x86_64 (eln-BaseOS)
Without a release argument, the system yum repo configuration is used:
$ fedora-repoquery pandoc-cli
pandoc-cli-3.7.0.2-40.fc44.x86_64 (rawhide)
$ fedora-repoquery --whatrequires pandoc
pandoc-pdf-3.7.0.2-40.fc44.x86_64 (rawhide)
python3-pypandoc-1.16.2-1.fc44.noarch (rawhide)
Use the –time (-T) option to display repo timestamps:
$ fedora-repoquery -T 43 fedrq
2025-10-26 01:59:02 +08 <https://mirror.freedif.org/fedora/fedora/linux/releases/43/>
2026-03-12 09:53:14 +08 <https://mirror.freedif.org/fedora/fedora/linux/updates/43/>
fedrq-1.5.0-5.fc43.noarch (f43)
Repo timestamp(s) are output when there are no query args after the release version:
$ fedora-repoquery 44
2026-03-13 19:08:04 +08 <https://mirror.freedif.org/fedora/fedora/linux/development/44/>
2026-03-13 09:38:02 +08 <https://mirror.freedif.org/fedora/fedora/linux/updates/testing/44/>
One can also query multiple releases (or arch’s):
$ fedora-repoquery 43 44 python3.x86_64
python3-3.14.0-1.fc43.x86_64 (f43)
python3-3.14.3-1.fc43.x86_64 (f43-updates)
python3-3.14.3-1.fc44.x86_64 (f44-development)
There is an option to use the CloudFront cache:
$ fedora-repoquery --cf 44 rust
rust-1.93.1-1.fc44.x86_64 (f44-development-cf)
rust-1.94.0-1.fc44.x86_64 (f44-updates-testing-cf)
which may be faster than dl.fp.o and fresher than other mirrors sometimes.
Help
$ fedora-repoquery --version
0.8.1
$ fedora-repoquery --help
fedora-repoquery tool for querying Fedora repos for packages.
Usage: fedora-repoquery [--version] [-4|--dnf4] [(-q|--quiet) | (-v|--verbose)]
[--dynamic] [-T|--time] [-K|--koji]
[(-m|--mirror URL) | --cf | (-d|--dl)] [-F|--all-fedora]
[(-s|--source) | (-A|--all-archs) |
[-a|--repo-arch ARCH]] [-t|--testing] [-D|--debug]
[(-z|--cache-size) | (-e|--cache-clean-empty) |
--list-releases | --help-dnf |
[--advisories ARG | --advisory-severities ARG |
--arch ARG | --available | --bugfix | --bzs ARG |
--cves ARG | --disable-modular-filtering |
--duplicates | --enhancement | --exactdeps |
--extras | (-f|--file ARG) | --installed |
--installed-from-repo ARG | --installonly |
--latest-limit ARG | --leaves | --newpackage |
--providers-of ARG | --recent | --recursive |
--security | --srpm | --unneeded | --upgrades |
--userinstalled | --whatconflicts ARG |
(--wd|--whatdepends ARG) | --whatenhances ARG |
--whatobsoletes ARG | (--whatprovides|--wp ARG) |
--whatrecommends ARG | (--whatrequires|--wr ARG) |
--whatsuggests ARG | --whatsupplements ARG |
--conflicts | --depends | --enhances | --files |
(-l|--list) | --obsoletes | (-p|--provides) |
--recommends | (-r|--requires) | --requires-pre |
--sourcerpm | --suggests | --supplements |
--location | (-i|--info) |
(--changelog|--changelogs) | --querytags |
(--qf|--queryformat ARG)]
[[RELEASE]... [REPOQUERY_OPTS]... [PKGSPECIFIER]...]]
where RELEASE is {fN or N (fedora), 'rawhide', epelN, epelN-next, cN (centos
stream), 'eln'}, with N the release version number.
<https://github.com/juhp/fedora-repoquery#readme>
Available options:
-h,--help Show this help text
--version Show version
-4,--dnf4 Use dnf4 instead of dnf5 (if available)
-q,--quiet Avoid output to stderr
-v,--verbose Show stderr from dnf repoquery
--dynamic Redirect each HTTP through mirror
-T,--time Show time-stamp of repos
-K,--koji Use Koji buildroot
-m,--mirror URL Fedora mirror [default:
https://download.fedoraproject.org/pub]
--cf Use CloudFront cache
-d,--dl Use dl.fp.o
-F,--all-fedora Query all Fedora releases
-s,--source Query source repos
-A,--all-archs Query all (64 bit) arch repos
-a,--repo-arch ARCH Specify repo arch [default: x86_64]
-t,--testing Fedora updates-testing
-D,--debug Show some debug output
-z,--cache-size Show total dnf repo metadata cache disksize
-e,--cache-clean-empty Remove empty dnf caches
--list-releases List Fedora versions
--help-dnf Show dnf --help
The default arch is the system arch.
Installation
fedora-repoquery is available in Fedora and EPEL: https://src.fedoraproject.org/rpms/fedora-repoquery.
Building from source
Use stack install fedora-repoquery or cabal install fedora-repoquery
to build the latest release.
To build from git: stack install or cabal install or cabal-rpm install.
Contributing
fedora-repoquery is distributed under the GPL license version 3 or later.
https://github.com/juhp/fedora-repoquery
Changes
Revision history for fedora-repoquery
0.8.1 (2026-03-14)
- shorter query aliases:
--wd(–whatdepends),--wr(–whatrequires),-p(–provides),-r(–requires),--wp(–whatprovides) - new
--cfoption: to use CloudFront cache as the mirror --help-dnfnow correctly provides repoquery –help
0.8 (2025-09-23)
- rework dnf option handling with full parsing and completions: with free ordering of arguments, releases and options
- no longer outputs “(using system repos)” when no release specified
--list-releaseslists in order (was--list)- rename
--archto--repo-arch - new
--all-fedorareleases option - alias
--changelogto--changelogs --queryformatnow accepts format alias ‘default’- add
--help-dnfoption for ‘dnf –help’ output
0.7.4 (2025-08-16)
- Query renderRepoConfig: disable skip_if_unavailable
- Query: don’t use dnf –quiet output for –debug
0.7.3 (2025-06-03)
- fix the naming of koji dnf repos
- flip the –dl and –debug short options
- add –queryformat “n” abbreviation
- support riscv64 repoqueries in fedora.riscv.rocks
0.7.2 (2025-05-08)
- warn when no release specified
- add support for epel10.x minor releases
- also parse cNs (c8s, c9s, c10s)
- use eln via download.fp.o (or dl.fp.o) and drop its channels
- support short pneumonics for common queryformats (nv,nvr,nvra,envr,envra)
- improve branched pre-release logic using fedora-releases for Bodhi API
- drop head/tail usage
0.7.1 (2024-09-08)
- fix for branched: “frozen” state is still in development/ like “pending”
- enable updates-testing for fedora branched from Beta freeze
- help: can use – for system repoquery
- only output “slow redirection” for debug
- refactor eitherRelease with lower case
- curl connection: timeout for Location redirect but not Last-Modified
0.7 (2024-07-18)
- use curl library for HTTP instead of http-directory
- rename the executable back to fedora-repoquery to avoid confusion with fedrq
0.6 (2024-07-16)
- defaults to no datestamp output: –time replaces –no-check
- further speed improvements by reducing http checks
- map latest pending release version to fedora-rawhide
- add –dynamic redirect to not re-use first mirror redirect
- update c8s url to Centos Vault
- drop dep on utility-ht just for spanJust
0.5 (2024-07-02)
- allow multiple release args
- with no release arg use system yum repos
- add –quick to skip url http checks, also done when multiple releases
- dnf5 –qf does not add “\n” so we do it if no trailing “space”
- update cache dir commands to support also dnf5 xdg cache path
- use dnf5 repoquery.cpp list of –qf conflicts
0.4 (2024-05-24)
- add –dnf4 option to use dnf4 (actually /usr/bin/dnf-3) instead of dnf5
- oldest and newest active releases are now determined/cached via Bodhi API
- can now query with rawhide by version (eg 41 currently)
- disable –qf for –requires
- –list now only shows active fedora releases
- for centos and eln only check compose for the BaseOS repo
- map version 11 to eln
0.3.2 (2024-02-19)
- enable centos 10 stream (still alpha)
- Query: disable –qf for –provides
- minor debug tweaks
0.3.1 (2024-02-12)
- use dnf5 when available
- add –all-archs to query across all 64bit architectures
0.3 (2023-11-09)
- Query: no –qf with –changelog
- small OS versions now map to centos-stream
- use hostname not full url for mirror repo name
- repo urls should end with a slash
- improve tests to fail if no results
- map failing yzyu.jp http/3 mirror to main one
- development/39 also needs os/
- showRelease: reformat Centos and ELN repos
- default to system arch and introduce sysarch and march
0.2 (2023-05-12)
- support fedora and epel testing repos
- fix fedora archive urls
- support querying epel6 and older archives
- support fedora-secondary urls for ppc64le and s390x including archive
- rename –test to –test-channel and –centos-devel to –devel-channel
- expand help to cover RELEASE and add readme url
0.1.0 (2023-05-07)
- initial release with support for fedora releases, epel, eln and centos stream