자체 오버레이에 사용자 정의 패키지를 유지하지 않고 젠투에서 ebuild를 사용자 정의하는 방법은 무엇입니까?
상황은 .을 사용해야 한다는 것입니다 paxctl
. 하지만 그러한 패키지가 약 100개 있고 로컬 범위에서 업데이트를 직접 보고 싶지 않습니다.
이러한 플래그가 없으면 Portage ebuild는 컴파일되지 않습니다. 이제 /etc/portage/package.env
디렉토리의 컴파일 플래그를 변경해야 합니다 . PAX 태그가 더 나은 솔루션이지만 젠투 포티지 트리에서 이 작업을 수행하는 방법을 모르겠습니다.
답변1
포티지를 사용하면 이를 수행할 수 있습니다 package.env
. 문서를 찾는 올바른 장소는 다음과 같습니다.http://dev.gentoo.org/~zmedico/portage/doc/portage.html#config-bashrc-ebuild-phase-hooks. 기본적으로 사용하는 방법은 다음과 같습니다. 먼저, 사용자 정의 표준 설정 ROOT
이 없다고 가정하여 /etc/portage/env
./etc/portage/env/paxmark
#paxmark
#Set this to what you need it to be
PAXFLAGS="-p"
post_src_install() {
find "${INSTALL}" -type x -print0 |xargs -0 -n 1 paxctl $PAXFLAGS
}
그런 다음 이 기능을 적용하려는 모든 패키지에 대해 다음 항목을 추가하십시오 /etc/portage/package.env
.
#package.env example for paxmark
sys-apps/gcc paxmark
그러면 paxmark
지정된 패키지에 스크립트가 적용됩니다. 또는 /etc/portage/bashrc
전역 재정의를 위한 스크립트를 생성할 수 있습니다(이에 매우 주의하세요).
일반적인경고하다다만, 전단에 전면 후크와 후면 후크를 추가할 수 있기 때문에 이는 위험할 수 있습니다. 이 후크를 사용하는 모든 패키지는 이제 후크 스크립트보다 강력하지 않으므로 작업에 주의하세요. (위의 pax 태그 예는 괜찮습니다).