Ubuntu 14.04(64비트)에서 .deb 설치 중 대상 시스템에 디렉터리 복사

Ubuntu 14.04(64비트)에서 .deb 설치 중 대상 시스템에 디렉터리 복사

.deb 설치 중에 /opt/myProjectName대상 컴퓨터의 Ubuntu 14.04(64비트) 경로에 디렉터리(일부 파일 포함)를 복사하고 싶습니다.

.debCMakeLists.txt아래와 같이 설치 중에 파일을 사용하여 대상 컴퓨터에 파일을 성공적으로 설치했습니다 .

INSTALL(FILES myShFile.sh   DESTINATION /opt/myProjectName)

대상 시스템의 경로에 있는 디렉터리(일부 파일 포함)를 복사하는 방법 /opt/myProjectName.

답변1

Ubuntu 14.04의 CMake 2.8은 DIRECTORY서명을 지원합니다.설치 명령, 간단히 쓸 수 있습니다 install(DIRECTORY test/ DESTINATION /opt/myProjectName/test).

CMake에는 독립형 Debian 패키지 생성기도 있습니다(CPackDeb). 이것은 배포용 deb 패키지를 만드는 매우 편리한 방법이지만(빌드할 데비안 호스트조차 없습니다) 공식 데비안 배포 패키징 정책을 전혀 준수하지 않습니다.

다음과 같은 내용이 있습니다 CMakeLists.txt.

cmake_minimum_required(VERSION 2.8)
project(myProjectName)
install(FILES myShFile.sh DESTINATION /opt/myProjectName)
install(DIRECTORY test/ DESTINATION /opt/myProjectName/test)

set(CPACK_GENERATOR DEB)
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "you [email protected]")
include(CPack)

myProjectName-0.1.1-Linux.deb이렇게 생성 할 수 있습니다 .

$ touch myShFile.sh
$ mkdir test
$ touch test/myTest
$ cmake .
-- The C compiler identification is GNU 4.8.2
-- The CXX compiler identification is GNU 4.8.2
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/yaegashi/cmake

$ make package
Run CPack packaging tool...
CPack: Create package using DEB
CPack: Install projects
CPack: - Run preinstall target for: myProjectName
CPack: - Install project: myProjectName
CPack: Create package
CPack: - package: /home/yaegashi/cmake/myProjectName-0.1.1-Linux.deb generated.

$ dpkg --contents myProjectName-0.1.1-Linux.deb 
drwxrwxr-x root/root         0 2015-07-04 03:43 ./opt/
drwxrwxr-x root/root         0 2015-07-04 03:43 ./opt/myProjectName/
-rw-r--r-- root/root         0 2015-07-04 03:36 ./opt/myProjectName/myShFile.sh
drwxr-xr-x root/root         0 2015-07-04 03:43 ./opt/myProjectName/test/
-rw-r--r-- root/root         0 2015-07-04 03:36 ./opt/myProjectName/test/myTest

$ dpkg --info myProjectName-0.1.1-Linux.deb 
 new debian package, version 2.0.
 size 728 bytes: control archive=328 bytes.
     190 bytes,     9 lines      control              
     128 bytes,     2 lines      md5sums              
 Package: myprojectname
 Version: 0.1.1
 Section: devel
 Priority: optional
 Architecture: amd64
 Installed-Size: 0
 Maintainer: you <[email protected]>
 Description: myProjectName built using CMake

관련 정보