젠투 포티지 트리에서 ebuild 사용자 정의

젠투 포티지 트리에서 ebuild 사용자 정의

자체 오버레이에 사용자 정의 패키지를 유지하지 않고 젠투에서 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 태그 예는 괜찮습니다).

답변2

다음으로 전환하면팔루디스는 Gentoo의 대체 패키지 관리자(즉, 를 대체하는 패키지 관리자 emerge)입니다. 아마도 하나를 설정할 수 있을 것입니다.이것을 할 수 있어야 합니다.

관련 정보