종종 다른 패키지가 의존하는 패키지 (즉, 빌드 종속성)를 만들어야합니다. 모든 패키지를 먼저 ppa로 빌드하는 대신 (때로는 시간이 걸릴 수 있음) pbuilder의 결과 디렉토리를 pbuilder 자체의 소스로 사용하고 싶습니다.
어떻게해야합니까? 후크를 통해이 작업을 수행 할 수 있습니까?
종종 다른 패키지가 의존하는 패키지 (즉, 빌드 종속성)를 만들어야합니다. 모든 패키지를 먼저 ppa로 빌드하는 대신 (때로는 시간이 걸릴 수 있음) pbuilder의 결과 디렉토리를 pbuilder 자체의 소스로 사용하고 싶습니다.
어떻게해야합니까? 후크를 통해이 작업을 수행 할 수 있습니까?
답변:
dpkg-scanpackages로 만든 간단한 리포지토리에 넣을 수 있으며 아파치를 통해 사용할 수 있습니다. 그런 다음 pbuilder의 apt 구성을 업데이트하여 repo를 사용하십시오.
이것은 몇 가지 방법으로 수행 할 수 있습니다. 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을 사용하여 패키지 파일을 생성 할 수 있습니다.
이 데비안 위키 페이지 도 도움이 될 수 있습니다.
D05...
(2 자리 숫자) 실행 가능해야합니다. 또한 apt-utils 추가 패키지를 추가 한 후 (적어도 pbuilder-dist를 사용하는 경우) 한 pbuilder-dist <dist> update --override-config
번 호출해야합니다 . 또한 pbuilder-dist를 사용하여 OTHERMIRROR를 config-file 설정을 대체 할 때 환경 변수로 설정해야합니다.