Answers:
这个问题有点老了,但是如果其他人在搜索中找到了这个问题,那么有一个更正确的方法来做到这一点,这也允许创建SRPM。
在准备部分中,而不是使用setup宏,您应该自己输入所需的操作,即将源目录从SOURCES复制到BUILD,而不是解压缩归档文件。我发现您还必须在构建和安装部分的源目录中添加cd。
示例片段
%prep
# Don't use the setup macro anymore, replace it with typed-out commands
#%setup -q -n myapp-%{version}
cd %{_topdir}/BUILD
rm -rf myapp-%{version}
cp -rf %{_topdir}/SOURCES/myapp-%{version} .
cd myapp-%{version}
/usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
%patch1 -p1 -b .cert-config
%patch2
%build
cd myapp-%{version}
%install
cd myapp-%{version}
%{_topdir}/SOURCES
是%{_sourcedir}
?而且%{_topdir}/BUILD
可能是%{buildroot}
?(顺便说一句,因为你正在试图增加额外的文件来覆盖那些从提取相似,但是,不同的情况下%setup
,Fedora的文档推荐使用%{SOURCE2}
等- fedoraproject.org/wiki/Packaging:RPM_Source_Dir)