Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/juhp/fedora-repoquery


https://github.com/juhp/fedora-repoquery

Last synced: 8 days ago
JSON representation

Awesome Lists containing this project

README

        

# fedora-repoquery

A dnf wrapper to repoquery different Fedora releases,
caching repodata separately per release.
It also supports EPEL and Centos Stream repos.

## Usage
Usage examples:

`$ fedora-repoquery rawhide firefox`

```
firefox-130.0-1.fc42.x86_64 (fedora-rawhide)
```

`$ fedora-repoquery 40 --requires filesystem`

```
setup
```

`$ fedora-repoquery epel9 ghc`

```
ghc-8.10.7-116.el9.x86_64 (epel9)
```

`$ fedora-repoquery c10 bash`

```
bash-5.2.26-4.el10.x86_64 (c10s-BaseOS)
```

`$ fedora-repoquery eln kernel`

```
kernel-6.11.0-0.rc6.20240906gitb831f83e40a2.53.eln142.x86_64 (eln-BaseOS)
```

Without a release argument, the system yum repo configuration is used:

`$ fedora-repoquery pandoc`

```
pandoc-3.1.11.1-32.fc41.x86_64 (rawhide)
```
but then currently you have to insert `--` before a query option:

`$ fedora-repoquery -- --whatrequires pandoc`

```
R-reprex-2.0.2-12.fc41.noarch (rawhide)
R-rmarkdown-2.24-5.fc41.noarch (rawhide)
pandoc-pdf-3.1.11.1-32.fc41.x86_64 (rawhide)
python3-nb2plots-0.7.2-5.fc41.noarch (rawhide)
python3-pypandoc-1.13-6.fc41.noarch (rawhide)
rstudio-common-2024.04.2+764-3.fc41.x86_64 (rawhide)
```

Use the --time (-T) option to display repo timestamps:
```
$ fedora-repoquery -T 41 fedrq
2024-07-16 19:45:44 +08

fedrq-1.1.0-3.fc41.noarch (fedora-rawhide)
```

Repo timestamp(s) are output when there are no query args
after the release version:

`$ fedora-repoquery 40`

```
2024-04-20 02:22:34 +08
2024-09-07 09:37:56 +08
```

One can also query multiple releases (or arch's):

`$ fedora-repoquery 40 41 python3 | grep x86_64`

```
python3-3.12.2-2.fc40.x86_64 (f40)
python3-3.12.5-2.fc40.x86_64 (f40-updates)
python3-3.13.0~rc1-2.fc41.x86_64 (f41-development)
python3-3.13.0~rc1-3.fc41.x86_64 (f41-updates-testing)
```

## Help
`$ fedora-repoquery --version`

```
0.7.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]
[--devel-channel | --test-channel]
[(-m|--mirror URL) | (-D|--dl)]
[(-s|--source) | (-A|--all-archs) | [-a|--arch ARCH]]
[-t|--testing] [-d|--debug]
((-z|--cache-size) | (-e|--cache-clean-empty) |
(-l|--list) |
[RELEASE|--]... [REPOQUERY_OPTS]... [PACKAGE]...)

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
--devel-channel Use eln development compose
--test-channel Use eln test compose [default: production]
-m,--mirror URL Fedora mirror [default:
https://download.fedoraproject.org/pub]
-D,--dl Use dl.fp.o
-s,--source Query source repos
-A,--all-archs Query all (64 bit) arch repos
-a,--arch ARCH Specify 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
-l,--list List Fedora versions
```
The default arch is the system arch.

## Installation
fedora-repoquery is available in Fedora and EPEL 9:
.

## 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.