以 Archlinux 中 makepkg 的方式打开 rpmbuild

以 Archlinux 中 makepkg 的方式打开 rpmbuild

💡 原文中文,约2500字,阅读约需6分钟。
📝

内容提要

本文介绍了在Redhat系发行版上打包软件的过程与Archlinux的区别,包括构建命令、目录结构、自动安装依赖和撤销命令效果等。作者建议使用rpmbuild-wrapper脚本实现以makepkg方式打开rpmbuild的目标。

Q&A

Archlinux 和 Redhat 系发行版在软件打包上有什么主要区别?

Archlinux 的构建目录结构更为简洁,每个软件包有独立目录,而 Redhat 系的 rpmbuild 则在统一的 rpmbuild 目录下构建,包含多个子目录。

如何在 Fedora 中使用 rpmbuild 创建类似 Archlinux 的目录结构?

可以通过修改 $HOME/.rpmmacros 文件,重新定义 %_topdir 和其他相关宏,以实现类似 Archlinux 的目录结构。

Fedora 的 rpmbuild 如何处理依赖安装?

Fedora 的 rpmbuild 不支持自动安装依赖,但可以使用 dnf 的 builddep 命令手动安装依赖。

如何撤销在 Fedora 中安装的依赖?

可以使用 dnf history undo 命令撤销安装的依赖,但可能会遇到版本问题。

rpmbuild 是否支持自动下载源文件?

rpmbuild 默认不支持自动下载源文件,但可以使用 --undefine=_disable_source_fetch 选项或 spectool 命令来实现。

rpmbuild 和 makepkg 的构建行为有什么不同?

makepkg 默认只构建最终的安装包,而 rpmbuild 使用 -bb 选项可以构建最终安装包和源包。

🏷️

标签

➡️

继续阅读