如何将 .tar.gz 文件打包成 rpm 包

Flu*_*Ind 5 rpm rpmbuild rpm-spec


我在 Redhat Linux 上工作过,我有一个 tar.gz 文件。我想把这个 tar.gz 文件打包成一个 rpm 包文件。
在rpm包阶段,我只是想解压tar.gz文件,把所有的人员打包到rpm包中,当我在linux服务器上安装rpm包时,它只会简单地将所有文件复制到目标文件夹中.
我已经尝试了很多。这是我的 SPEC 文件的一些代码,但它有问题:

%prep

%build
pwd

%install

rm -rf /usr/local/sample
mkdir /usr/local/sample
cd %{_sourcedir}
tar -xzvf sample.tar.gz -C /usr/local/sample

%clean
rm -rf %{buildroot}

%files
%defattr(-,root,root,-)
%doc

%changelog
Run Code Online (Sandbox Code Playgroud)

我可以成功打包rpm文件,但是rpm包中没有tar.gz文件的内容。
如果我在其他服务器上安装 rpm 文件,它将失败。
我该如何解决这个问题?

小智 5

有两个问题:

1) rpmbuild 打包在 %{buildroot} 中找到的文件。您需要通过从 %{_sourcdir} 复制或提取到 %{build root}/usr/local/sample 来填充该目录

2)您希望打包的文件需要在%files清单中提及