rpm 重建

rpm 重建

rpmrebuild似乎会创建一个损坏的 SPEC 文件,即使我实际上没有更改任何内容。我执行以下操作:

[build@admin slurm]$ EDITOR=emacs rpmrebuild -enp slurm-19.05.5-1.el7.src.rpm 
Do you want to continue ? (y/N) y
error: File must begin with "/": slurm-19.05.5.tar.bz2
error: File must begin with "/": slurm.spec
    File must begin with "/": slurm-19.05.5.tar.bz2
    File must begin with "/": slurm.spec
/usr/lib/rpmrebuild/rpmrebuild.sh: ERROR: package 'slurm-19.05.5-1.el7.src.rpm' build failed
[build@admin slurm]$ EDITOR=emacs rpmrebuild -enp slurm-19.05.5-1.el7.src.rpm 
Do you want to continue ? (y/N) y
error: File must begin with "/": slurm-19.05.5.tar.bz2
error: File must begin with "/": slurm.spec
    File must begin with "/": slurm-19.05.5.tar.bz2
    File must begin with "/": slurm.spec
/usr/lib/rpmrebuild/rpmrebuild.sh: ERROR: package 'slurm-19.05.5-1.el7.src.rpm' build failed

我认为路径必须绝对指定。正如我所说,即使我根本没有编辑文件,也会出现此错误。

我使用的是 2.11 版本。有人知道问题可能出在哪里吗?

答案1

您可能想要使用rpmbuild --rebuild来重建源包,而不是rpmrebuild

rpm 重建

rpmrebuild 是一个从已安装的软件包构建 RPM 文件的工具,基本使用时,rpmrebuild 的使用不需要任何 rpm 构建知识(在 debian 上,等效产品是 dpkg-repack)

rpmbuild --rebuild

当以这种方式调用时,rpmbuild 将安装指定的源包,并进行准备、编译和安装。此外,--rebuild 将构建一个新的二进制包。构建完成后,将删除构建目录(如 --clean 中所示),并删除包的源和 spec 文件。

相关内容