2011-01-16 5 views
2

dh_help를 사용하여 패키지 템플릿을 만들고 바이너리 패키지 생성을위한 우분투 및 debian 패키징 안내서를 따르려고합니다.deb 패키지에있는 conf 파일과 정적 파일

debuild에게 어떤 파일이 conf 파일인지 어떻게 알 수 있습니까? 예를 들어 /etc/mypkg.conf로 이동해야합니까? mypkg-0.1/etc/mypkg/fname.conf에 넣으려고했지만 debuild가 무시합니다. debian 가이드는 etc/아래의 모든 파일이 자동으로 conf 파일로 취급되지만 나에게는 적합하지 않다고 말합니다 (http://www.debian.org/doc/maint-guid...ml#s-conffiles). conf 파일을 mypkg-1.0/etc/mypkg.conf 아래에 mypkg-1.0/debain/etc/mypkg.conf 아래에 넣으려고했으나 포함되지 않았습니다. 또한 conffiles 파일을 나열하려고했지만 패키지를 빌드 할 때 찾을 수없는 오류가 발생합니다.

또한 정적 파일을 패키지에 포함시키는 방법을 모르겠습니다. 설치 파일을 사용하여 모든 파일과 폴더를 나열해야합니까? dypkg를 수동으로 사용할 때와 마찬가지로 mypkgs-0.1 폴더 아래에 전체 경로를 모두 두는 것이 효과가 있다고 생각했습니다.

감사

답변

4

viraptor에 따르면 각 파일에 대한 설치 명령을 debian/rules에 넣어서 파일을 debian/pkgname 디렉토리에 설치할 수 있습니다.

debian/install 파일을 사용하여 모든 파일 (또는 디렉토리 만)을 나열하고 debian/rules에 dh_install 명령을 사용하여 수행 할 수 있습니다.

패키지를 빌드하는 방법과 포함되는 파일이 약간 혼란스러워 보입니다. 이것은 매우 일반화되어 있지만 debian/rules 스크립트가 표준 ./configure && make && make install 메서드를 사용하여 프로그램을 컴파일하면 / 대신 에 파일을 설치하도록 make install에 지시합니다. 그렇다면 debian/pkgname 아래의 모든 것이 최종 .deb에 있어야한다는 것을 알고 있습니다. make install 단계가 모든 것을 올바른 위치에 두지 않으면 debian/rules 스크립트가이를 수행해야합니다. 이전에는 debian/rules에서 debian/pkgname 디렉토리로 파일을 복사하는 것이 일반적 이었지만 현재는 debian/install 파일을 사용하는 것이 선호되는 방법 인 것 같습니다.

+0

'make install'은'debian/packagename'에 어떻게 설치해야합니까? 나는 항상 debian/tmp를 얻는다 (그러나 나는 특별한 설정이 없다). – Dennis

0

당신이 표준 debhelper/debian/rules 파일을 통해 파일을 설치하는 경우 패키지 버전을 포함 할 필요가 없습니다. 대신 설치 단계에서 다음을 수행하십시오.

install -cm 644 fname.conf $(CURDIR)/debian/mypkg/etc/mypkg/fname.conf 

올바르게 포함되어야합니다.