2016-10-17 24 views
0

私はCMakeプロジェクトを持っています。私はCentOS YUMリポジトリのRPMを生成するためにCPackを使用しています。しかし、私は私の生成RPMをインストールしようとしたとき、私はこのエラーを取得:CPackは生成されたRPMにシステムディレクトリを追加します

file /usr from install of clstrd-0.1.0-1.x86_64 conflicts with file from package filesystem-3.2-20.el7.x86_64 
file /usr/bin from install of clstrd-0.1.0-1.x86_64 conflicts with file from package filesystem-3.2-20.el7.x86_64 
file /usr/lib from install of clstrd-0.1.0-1.x86_64 conflicts with file from package filesystem-3.2-20.el7.x86_64 

はまた、RPMの内容を検査し、私はそれがこれらのファイルとディレクトリが含まれていることを参照してください。

$ rpm -qlp clstrd-0.1.0-Linux.rpm 
/usr 
/usr/bin 
/usr/bin/clstrd 
/usr/lib 
/usr/lib/libclstrd.a 

私の質問があります:どのようにしてCMakeに/usr/usr/binのような一般的なディレクトリをRPMから除外させるのですか?これは自動的に行われてはいけませんか?

私は幸運なしでCPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITIONを試しました。

編集:ここではは私CMakeLists.txt

# Targets 
add_library(clstrd_lib ${SOURCE_FILES}) 
... 
add_executable(clstrd main.cpp) 
target_link_libraries(clstrd clstrd_lib) 
... 
# Installation configuration. 
install(TARGETS clstrd_lib clstrd 
    ARCHIVE DESTINATION lib 
    LIBRARY DESTINATION lib 
    RUNTIME DESTINATION bin) 

# CPack configuration. 
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "MyAwesomePackage") 
set(CPACK_PACKAGE_VENDOR "MyAwesomeVendor") 
set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README.md") 
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.md") 
set(CPACK_PACKAGE_VERSION_MAJOR "0") 
set(CPACK_PACKAGE_VERSION_MINOR "1") 
set(CPACK_PACKAGE_VERSION_PATCH "0") 
set(CPACK_PACKAGE_INSTALL_DIRECTORY "CMake ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}") 
set(CPACK_PACKAGE_EXECUTABLES "clstrd", "MyAwesomeExecutable") 
set(CPACK_RPM_PACKAGE_AUTOREQPROV " no") 
set(CPACK_RPM_PACKAGE_REQUIRES, "libpqxx, gtest, gflags, root,  root-netx, xrootd-client-libs") 
set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION, "/usr /usr/bin /usr/lib") 
set(CPACK_SOURCE_GENERATOR "RPM") 
include(CPack) 
+0

'CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST'も使用しましたか?あなたは 'CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION'の使用方法を投稿できますか?おそらくそれを間違って使用しました – nos

+1

ここを見てください:https://public.kitware.com/Bug/view.php?id=13609 –

+0

@nosいいえ、私はその投稿を編集しました。私の明示的な使い方を見ることができます。 –

答えて

関連する問題