跳转到主要内容

fedrq 是一个查询 Fedora 和 EPEL 仓库的工具

项目描述

fedrq

一个查询 Fedora 和 EPEL 仓库的工具

fedrq 使查询 Fedora 或 EPEL 的任何分支变得容易。它使用 dnf Python 绑定,而不使用 dnf repoquery。它允许查询反向依赖项、包含特定 Provide 或文件的包、SRPM 的子包以及包元数据。

此工具并不旨在取代 dnf repoquery 的所有功能。它为某些常见任务提供了比 dnf repoquery 更用户友好的界面。

builds.sr.ht status

copr 构建状态 (稳定)

copr 构建状态 (开发)

docsite

fedrq on sr.ht

fedrq on git.sr.ht

fedrq on lists.sr.ht

fedrq on todo.sr.ht

安装

fedrq 在 gotmax23/fedrq 上有一个 Copr 仓库,其中包含发布版本。开发快照可在 gotmax23/fedrq-dev 获取。RPM 规范文件位于仓库根目录中。

fedrq 也已发布到 PyPI (请访问链接),因此您可以 pip install fedrq 安装。

使用 pip 安装软件包时,还需要一些额外的系统软件包。

以下为 dnf 后端所需的额外系统软件包

  • python3-dnf(dnf 当前是 Fedora 的默认包管理器,因此应该已经安装)

以下为 libdnf5 后端所需的额外系统软件包

  • python3-libdnf5

以下为始终需要的额外系统软件包

  • python3-rpm

fedrq 默认使用 dnf 后端,但如果前者依赖项未安装,fedrq 将回退到 libdnf5 后端。用户可以使用 --backend 命令行选项 或在 fedrq 配置文件 中全局选择后端。

请注意,fedrq 只能安装到系统 Python 解释器。除非使用 --system-site-packages,否则 fedrq 不能安装到 venv 中,因为它需要找到上述系统绑定。

fedrq check-config --dump 需要 tomli-w。RPM 软件包对 python3-tomli-w 弱依赖。

容器镜像

fedrq 现在提供容器镜像。

  • quay.io/gotmax23/fedrq:latest 是使用 registry.fedoraproject.org/fedora:latest 构建的。
  • quay.io/gotmax23/fedrq:ubi9 是使用 ubi9 镜像构建的。它包含内置的 rhel9 仓库配置,可以在使用 subscription-manager 注册的系统上运行时查询实际的 RHEL 仓库。

这两个镜像都使用来自 gotmax23/fedrq Copr 仓库的最新 fedrq RPM 软件包。

$ podman run --rm -v ~/.cache/fedrq:/fedrq-cache/fedrq:z quay.io/gotmax23/fedrq \
    pkgs fedrq -Fnevrr
fedrq-0.9.0-1.fc39.noarch rawhide
fedrq-0.9.0-1.fc39.src rawhide-source

版本控制

本项目处于测试阶段,其版本控制方案遵循 semver。

请参阅 NEWS.md

Python API

fedrq.config 模块和 fedrq.backend 软件包是公共 API。位于 fedrq.cli 下的所有内容都是内部内容。fedrq 主要是一个命令行工具,其 API 仅抽象了 CLI 使用的特定 dnf/libdnf5 功能。API 的主要目的是“repoquerying”,但您可以使用 fedrq 中的任何功能,然后访问底层的 dnf Base 对象以执行其他任务(如果需要)。

请参阅 docsite 上的 API 概述 以获取更多信息。请参阅 api-examples 以获取一些示例代码。如往常一样,将任何反馈、问题或问题直接发送到邮件列表(请参阅 贡献)。

文档

请参阅 fedrq 的 文档网站 以获取已渲染的手册页、变更日志和 Python API 文档。

贡献

开发、问题报告和项目讨论发生在 邮件列表~gotmax23/fedrq@lists.sr.ht)。

请参阅 CONTRIBUTING.md

致谢

感谢 dnf 维护者。这个工具受到 dnf repoquery 的启发,并使用 dnf Python 绑定。

许可协议

此项目遵循 REUSE 规范。总的来说

  • 代码根据 GPL-2.0-or-later 许可。这是与 dnf 相同的许可。
  • fedrq/data/ 中的配置和仓库文件为 UNLICENSE
  • fedrq.spec 根据与 Fedora 相匹配的 MIT 许可。
  • src/fedrq/data/repos 中的嵌入式仓库定义来自 fedora-repos.rpm,并使用 MIT 许可。这些定义仅在系统配置中不可用(即,在查询非 Fedora 系统上的 Fedora 仓库时)时使用。
  • enum.StrEnum 从 Cpython 3.11 复制,用于旧版本的 Python。这是 ~30 行 PSF-2.0 许可的代码。
SPDX-License-Identifier: GPL-2.0-or-later AND Unlicense AND MIT AND PSF-2.0

项目详细信息


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

fedrq-1.3.0.tar.gz (116.7 kB 查看哈希值)

上传时间 源代码

构建分发

fedrq-1.3.0-py3-none-any.whl (82.0 kB 查看哈希值)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面