Apache 및 해당 종속성을 위한 패키지를 만들려고 합니다.
sudo make package-recursive \
__MAKE_CONF=~/make.apache22.conf \
PKGREPSOITORY=/usr/home/gvkv
모든 것이 잘 작동합니다. Apache와 해당 종속성은 컴파일되고 설치 apache22.tbz
되며 gvkv
문제는 종속성 패키지가 모두 자체 ports/<package>
디렉터리에 구축된다는 것입니다. 그 중 약 15개가 있으며 한 줄의 코드로 쉽게 검색할 수 find
있지만 perl
종속 make
패키지가 gvkv
.
답변1
FreeBSD를 사용하는 재미 중 하나는 포트 하위 시스템을 사용하는 것입니다. 여러 면에서 좋습니다. FreeBSD 생태계 내에서 설치 및 업그레이드가 쉽지만 다른 면에서는 열악합니다. make
구성 파일이나 환경을 통한 변수 설정이 예상대로 작동하지 않거나 광고한 대로 작동하지 않습니다.
그럼에도 불구하고,데스 경깔끔한 작은 트릭으로 구조하러 오세요.
mount -t nullfs /directory/for/pkgs /usr/ports/packages
이는 환경 변수의 사용을 우회하고 대상 디렉터리를 원하는 위치로 설정할 수 있기 때문에 정말 좋습니다. 이는 (나처럼) Build Jail을 사용하여 다른 시스템이나 다른 Jail에 설치되는 패키지를 만드는 경우 매우 유용합니다.
해당 /usr/ports/packages
디렉토리는 PACKAGES
존재하는 경우 가리키는 곳이고 다른 곳을 가리킬 수 있다고 하는데 나에게는 작동하지 않습니다. 이 페이지 man
에 지정된 설정은 PKGREPOSITORY
단일 패키지를 빌드하는 경우에만 유효합니다.
답변2
PKGREPOSITORY가 PACKAGES에 의존한다는 것을 읽었습니다.
에서 PACKAGES를 설정할 수 있습니다 /etc/make.conf
. 예를 들어:
DISTDIR= /opt/portbuild/distfiles
PACKAGES=/opt/portbuild/packages