2017-11-21 17 views
0

여러 개의 바이너리로 구성된 Linux 용 C/C++ am autoconf 소스 패키지가 있습니다. 논리적 개발 중에는 많은 소스가 같은 소스를 공유합니다. 일부 바이너리는 그래픽 환경에서 실행되며, 일부는 서버 구성 요소이고 일부 드라이버는 서버, libs 및 기타는 쉘 명령입니다. 나는이 시스템을위한 적절한 데비안 패키지를 만들고 싶다. (나는 이미 checkinstall 기반의 설치가있다.)여러 바이너리로 소스 파일에서 debian 패키지를 만듭니다.

데비안 튜토리얼을 따라 가면 모든 바이너리를 하나의 패키지로 만들 수 있습니다. 하지만 하나의 바이너리 구성 요소 만 설치하는 패키지를 만들고 싶다면 어떻게해야합니까? 제 경우에는 그래픽이 아닌 것들을 설치하는 것이 좋습니다.

튜토리얼에서 보았 듯이 유지하고자하는 각 패키지에 대해 별도의 소스 패키지를 만들어야하지만 바보 같고 뭔가 놓쳤을 것입니다.

도움이나 조언을 환영합니다.

+0

소스를 하나의 패키지에 넣을 수 있습니다 (실제로는 아무 것도하지 않습니다). 그런 다음 소스 패키지에 의존하는 각 바이너리마다 다른 패키지를 만들 수 있습니다. 그게 네가해야 할 일인지 아니면 해킹인지 나는 모른다. – nwp

+1

https://wiki.debian.org/BuildingTutorial. 그리고 https://wiki.debian.org/HowToPackageForDebian – nullqube

+0

@nullqube 그렇습니다. RTFM이 조금 있습니다. 위키와 다른 많은 것들을 읽었습니다.하지만이 특정 문제에 대한 정보는 없습니다. – Frog

답변

0

단일 소스 패키지는 여러 개의 바이너리 패키지 (사용자가 설치할 수있는 .deb 파일)로 빌드 할 수 있습니다. 데비안 패키지를 만들 때 이것은 매우 일반적인 패턴입니다.

여러 바이너리 패키지를 만들려면 각 패키지에 대한 섹션을 debian/control 파일에 추가해야합니다. 그런 다음 어떤 패키지에 들어가 파일을 지정할 필요가 간단한 경우

Source: foobar 
Section: utils 
Priority: optional 
Maintainer: [email protected] 
Build-Depends: 
debhelper (>= 10~), 
Standards-Version: 4.1.1 
Homepage: https://github.com/foobar/foobar 

Package: foobar 
Section: utils 
Architecture: any 
Multi-Arch: same 
Depends: 
foobar-common (= ${source:Version}), 
${misc:Depends}, 
Description: foo bar baz 
bla bla bla 

Package: foobar-data 
Architecture: all 
Depends: 
${misc:Depends}, 
Description: foo bar baz (architecture independent files) 
libmysofa is a light weight C-library intended to read SOFA (Spatially Oriented 
bla bla bla. 
. 
this package contains the binary independent parts 

: 같은 뭔가 물론

$ cat debian/foobar.install 
foobar usr/bin/ 
foobar.1 usr/share/man/man1/ 
$ cat debian/foobar-data.install 
data/* usr/share/foobar/ 
$ 

이 약을 사용할 수 plenty of documentation있다.

+0

고마워,이 정확히 내가 무엇을 찾고 있었는지. 나는 빨간색의 문서를 많이 가지고 있지만이 정보를 찾지 못했습니다. 다시 한 번 감사드립니다! – Frog