我正在为一个 rpm 编写一个 .spec 文件,它只是将一个 tar 球解压到文件系统上的某个目录中
那么我把原始的 tar 球放在哪里呢?我看到的所有示例都是从 Internet 下载原始 tar 球。但在我的情况下并非如此。
我应该将 tar 球放在 %files 部分中,以便它成为 rpm 的一部分吗?如果是这样,那么我如何在要解压缩它的 %setup 宏中引用它?
RPM 内的压缩包 - 坏主意。您应该做的是在 %install 阶段将 tarball 解压缩到临时假根文件夹中的适当位置,然后列出 %files 中的所有内容。RPM 会压缩内容,因此您不会丢失 RPM 大小的任何内容,但是现在可以跟踪新 RPM 中包含的文件的更改并可以进行验证 (rpm -qV)。
更好的主意:
使用fpm将 tarball 制作成 RPM:
fpm -s tar -t rpm --name <rpm-name> --version <rpm-version> <tarball-file-name>