pbuilder 빌드에서 로컬 .deb 파일을 어떻게 사용합니까?


9

종종 다른 패키지가 의존하는 패키지 (즉, 빌드 종속성)를 만들어야합니다. 모든 패키지를 먼저 ppa로 빌드하는 대신 (때로는 시간이 걸릴 수 있음) pbuilder의 결과 디렉토리를 pbuilder 자체의 소스로 사용하고 싶습니다.

어떻게해야합니까? 후크를 통해이 작업을 수행 할 수 있습니까?

답변:


5

dpkg-scanpackages로 만든 간단한 리포지토리에 넣을 수 있으며 아파치를 통해 사용할 수 있습니다. 그런 다음 pbuilder의 apt 구성을 업데이트하여 repo를 사용하십시오.


3
wiki.ubuntu.com/PbuilderHowto#Building with Local Packages를 참조하십시오 . 로컬 파일 시스템에 대한 OTHERMIRROR 예가 제대로 작동하는지 확실하지 않습니다. 추가 패키지 저장소에 localhost 경로를 사용하는 쉬운 경로를 사용했습니다 .
andol

6

이것은 몇 가지 방법으로 수행 할 수 있습니다. adol이 언급했듯이 Ubuntu 위키에는 mini-dinstall을 사용하여 로컬 저장소를 만들고 pbuilder 구성에 추가하여이를 수행 하는 좋은 예가 있습니다. dpkg-scanpackages 사용에 대한 Dennis의 답변도 효과적입니다.

나는 최근에 apt-ftparchive로 이것을 해왔다. 무게가 매우 가볍기 때문에이 방법이 마음에 듭니다. 여기 내가하는 일에 주석이 달린 예가 있습니다.

# From my ~/.pbuilderrc file

# Location of the dir where you keep pbuilder hook scripts.
HOOKDIR="/home/andrew/.pbuilder-hooks"

# Path to your local repo to be used as a mirror written as apt source line.
OTHERMIRROR="deb file:///home/andrew/pbuilder/local_repo ./"

# Path to your local repo. This tells pbuilder to mount this directory so it is available in the chroot.
BINDMOUNTS="/home/andrew/pbuilder/local_repo"

# As we need to have the apt-ftparchive command, we need to insure this package is installed.
EXTRAPACKAGES="apt-utils"

pbuilder 훅도 필요합니다 :

# From my ~/.pbuilder-hooks/D5update-local-repo file

# Path to the local repo.
LOCAL_REPO="/home/andrew/pbuilder/local_repo"

# Generate a Packages file.
(cd $LOCAL_REPO ; apt-ftparchive packages . > Packages)

# Update to include any new packages in the local repo.
apt-get update

이제 패키지를 로컬 저장소에 드롭하기 만하면 pbuilder에서 사용할 수 있습니다. 의존성 문자열을 체인 빌드하려고하면 pbuilder 결과 디렉토리를 로컬 repo 디렉토리로 만들 수 있습니다.

이것에 대한 다른 변형을 상상할 수 있습니다. 예를 들어, 후크를 사용하는 대신 post_upload_command와 함께 dput을 사용하여 패키지 파일을 생성 할 수 있습니다.

데비안 위키 페이지 도 도움이 될 수 있습니다.


1
후크 파일을 호출해야하며 D05...(2 자리 숫자) 실행 가능해야합니다. 또한 apt-utils 추가 패키지를 추가 한 후 (적어도 pbuilder-dist를 사용하는 경우) 한 pbuilder-dist <dist> update --override-config번 호출해야합니다 . 또한 pbuilder-dist를 사용하여 OTHERMIRROR를 config-file 설정을 대체 할 때 환경 변수로 설정해야합니다.
BubuIIC
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.