【问题标题】:How to package a .tar.gz file into rpm package如何将 .tar.gz 文件打包成 rpm 包
【发布时间】:2023-07-24 00:38:02
【问题描述】:


我在 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文件,它会失败。
我该如何解决这个问题?

【问题讨论】:

    标签: rpm rpmbuild rpm-spec


    【解决方案1】:

    有两个问题:

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

    来填充该目录

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

    【讨论】: