2011-01-17 7 views
2

일부 응용 프로그램은 perl 및 일부 Python으로 작성된 다양한 섹션이 있습니다. 그러한 응용 프로그램을 패키징하는 데 가장 좋은 도구는 무엇입니까?debian에서 perl과 python을 사용하는 응용 프로그램 패키징

나는 지금 쯤이면 deb-helper를보고 있는데 어떻게 사용하는지 배우는 중이다. 아이디어?

업데이트

내 소스 레이아웃 :

AppRoot/ 
    agi-bin/ 
     MyApp/ 
     Common/ 
    web/ 
    conf/ 

agi-bin - 펄 스크립트; web - 파이썬 스크립트. 컴파일 된 응용 프로그램 작업은 C++을 말한다면 메이크와 다음,

dh_make을 : 나는 /etc/myapp/

업데이트 2로 이동이 /usr/lib/의 펄/파이썬 스크립트에 대한 계층 구조 및 conf을 유지하기 위해 대상을 설치하고 싶습니다 그 일을 해. perl과 함께 작업하는 경우 dh-make-perl이 있습니다. 그런 다음 Python을 패키징하기 위해 Thomas가 주석 섹션에서 제공 한 링크는 distutils을 그림에 추가합니다. 이 모든 것들이 다른 응용 프로그램을 패키지화하는 다른 방법을 보여줍니다.

여러 언어 (예 : python 및 perl)를 사용하는 응용 프로그램을 패키지하는 가장 좋은 방법에 대한 아이디어/권장 사항을 찾고 있습니다. 두 파일 모두에 대해 makefile 파일을 사용해야합니까, 아니면 룰 파일에서 dh_install을 무시하고 파일을 옮길 수 있습니까? 이 일을 '옳은 길'이라고 말하는 것은 무엇입니까?

또한 전체 패키징 비즈니스에 대해 배우기 만하면되므로 모든 권장 사항을 환영합니다.

+0

원본 레이아웃을 설명하고 파일 시스템에서 다양한 파일을 설치 후 어디서 끝내 길 바랍니까? – daxim

+0

그들 중 아직 보지 못했지만 : https://wiki.ubuntu.com/PackagingGuide/Python 및 http://showmedo.com/videotutorials/video?name=linuxJensMakingDeb –

답변

4

debhelper를 사용하는 것이 올바른 접근 방법입니다. 확실히 .deb 패키지를 만들어야합니다. this tutorial부터 시작하는 것이 좋습니다.

편집 : 설치하려고하는 스크립트가 실제로 "실행 파일"인 경우 (해당 언어로 라이브러리로 작동하는 것이 아니라 프로그램으로 실행된다는 의미에서), 무시해야합니다 dh-make-perl, distutils, dh_pycentral 등이 있습니다. 이들은 모두 종속성, 바이트 코드 생성 등을 다루는 라이브러리/패키지/모듈을 설치하도록 설계되었습니다. 대신 debian/foo.install 파일을 설치하려는 모든 스크립트를 나열하도록 구성하고 dh_install 그들을 배치하십시오. 스크립트에 필요할 수있는 라이브러리, 특히 필요한 Python/Perl 버전에 대한 종속성을 수동으로 (debian/control에) 추가하십시오. 이것이 패키징 시간과 설치 시간 둘 다에서 파일을 복사하는 것일 뿐이라면, 여분의 debhelper 기능은 아무 것도 할 수 없습니다. 여러분이 postinstall 스크립트를 작성했다면, 돌아가서 debhelper가 생성 할 수 있는지 확인하십시오.

+0

그게 내가 해왔 던 튜토리얼 thats 보고. debhelper의 문제점은 컴파일해야하는 스크립트와 달리 perl/python 스크립트를 사용하는 방법입니다. – domino

+0

@domino : 그러면 문제가 정확히 무엇인지 정확히 설명 할 수 있습니까?튜토리얼을 단계별로 따라 간다면 정확하게 작동하지 않는 것은 무엇입니까? 정보를 제공해야하며 정보가 무엇인지 알지 못합니까? 도망 가야 할 명령을 실행하지 않습니까? 그것을 실행하고 이해가 안되는 오류 메시지가 나타납니다. –

+0

나는 문제가 좀 더 자세하게 설명 할 수있는 업데이트를 추가했다. – domino