我负责构建多个 RPM。对于我需要制作的每个 RPM 包,我都有原始的 SPEC 文件,并且我有 BASH 脚本来设置必要的环境并构建 RPM。
我想使用实际的构建工具(例如 make)来构建这些 RPM。通过这样做,我希望消除对自定义的、混淆的 BASH 脚本的需要,以支持清晰、可维护的配置文件(类似于 make 的 Makefile)。但是,使用POSIX make并保持 make 文件集是最新的可能与维护我目前用来构建 RPM 包的 BASH 脚本一样多。像 cmake 和 automake 这样的程序包含 make 命令的功能是有原因的 - 这些工具更具表现力,允许更小、更清晰的配置文件。
然而,使用autoconf / automake似乎也是一个糟糕的选择,因为它们似乎是专门为 C 和 C++ 开发而构建的。也有人建议我使用scons,但尽管这似乎是最佳选择(由于其配置文件是实际的 Python 脚本),但它也适用于特定语言。
将我的 SPEC 文件用作“源代码”,将环境用作“依赖项”(例如设置制作 RPM 所需的 rpmbuild 的目录树结构),是否有一个好的构建工具可以用来替换我的 BASH 脚本以获得更清洁、更多可维护的 RPM 构建解决方案?
编辑:当我说“构建工具”时,我似乎不清楚我需要什么。我已经使用 rpmbuild 作为“编译器”,我使用 SPEC 文件(以及二进制文件的相关源代码)作为“源代码”来“编译”RPM。我要求一种可以协调该过程的工具。