我正在尝试使用自己的.spec文件使用CPACK构建RPM。在tutorial from here。
之后构建RPM时出现错误:
No such file or directory
它与.spec文件中的Source0行有关
我的CMakeLists.txt文件中有这个:
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/my_project.spec.in" "${CMAKE_CURRENT_BINARY_DIR}/my_project.spec" @ONLY IMMEDIATE)
SET(CPACK_RPM_USER_BINARY_SPECFILE "${CMAKE_CURRENT_BINARY_DIR}/my_project.spec")
SET(CPACK_PACKAGE_RELEASE 2)
INCLUDE(CPack)
这适用于生成.spec文件。在我的.spec.in文件中,它有:
Buildroot: @CMAKE_CURRENT_BINARY_DIR@/_CPack_Packages/Linux/RPM/@CPACK_PACKAGE_FILE_NAME@
Name: @CPACK_PACKAGE_NAME@
Version: @CPACK_PACKAGE_VERSION@
Release: @CPACK_PACKAGE_RELEASE@%{dist}
Summary: Blah blah
Vendor: @CPACK_PACKAGE_VENDOR@
License: MIT
Source0: https://github.com/me/%{name}/archive/%{version}.tar.gz
BuildRequires: gcc, make, cmake
BuildRequires: doxygen, graphviz, doxygen-latex
%description
<SNIPPED>
然后我得到了错误
CPackRPM:Debug: *** error: File /home/me/projects/my_project/build/_CPack_Packages/Linux/RPM/SOURCES/1.0.0.0.tar.gz: No such file or directory
该错误是由于我想象的Source0线。
如果我这样做,我会得到一个不同的错误:
CPackRPM:Debug: *** error: File /home/me/projects/my_project/build/_CPack_Packages/Linux/RPM/SOURCES/my_project: No such file or directory
有些相关,这似乎也不会产生SRPM。我需要其中一个提交给Fedora以包含在db包中。