我一直在尝试使用spec文件创建rpm。我想用github代码。我正在提供Source0:http://github.com/some_project.tat.gz,但它正在下载,它正在/ root / rpmbuild / SOURCES中寻找tat.gz。
我希望我的spec文件从git下载源代码,而不是从SOURCE目录下载。知道我该怎么办?我是否需要在spec文件中添加其他选项?
TIA。
答案 0 :(得分:1)
它不是内置的。您告诉rpm
声明的位置可以找到来源,但rpmbuild
不会为您提取。你需要一个包装器脚本来做这件事,或者看看像spectool
这样的东西应该为你做的事情(我自己没有用过,对不起)。
答案 1 :(得分:1)
您可以在%prep中结帐,而无需使用%setup。以下是在构建之前检查libbson的重要细节(主要问题是您需要在不使用%setup时向脚本允许和%doc添加显式" cd%{NVdir}" )。
根据%{NVdir}目录是否存在,执行git clone或git pull并不困难。
%define NVdir %{name}-%{version}
...
URL: https://github.com/mongodb/libbson
...
%prep
rm -rf %{NVdir}
git clone %{url}.git %{Nadir}
cd %{NVdir}
...
%build
cd %{NVdir}
make %{?_smp_mflags}
...
%files
%doc %{NVdir}/COPYING %{NVdir}/NEWS %{NVdir}/README
%{_libdir}/*.so.*