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

How to package a .tar.gz file into rpm package


我在 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

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

有两个问题:

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

来填充该目录

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