예를 들어(반드시 사실은 아님), Gentoo에는 소스 코드에 하드코딩된 기본 분기 이름을 가진 ebuild가 있습니다 git
.main
젠투 사용자로서 Alice는 master
원래 기본 브랜치 이름을 복원하기 위해 빌드 전으로 변경하려고 합니다.
Gentoo가 그러한 패치를 받아들이지 않더라도 Alice는 Portage ebuild 전에 사용자 공간 패치를 적용할 수 있습니다.
이것을 달성할 수 있는 방법이 있나요?
답변1
/etc/portage/patches
디렉토리를 찾고 있는 것 같습니다 .https://wiki.gentoo.org/wiki//etc/portage/patches
여기에 배치된 패치(특히 /etc/portage/patches/${CATEGORY}/${P}
tec.)는 빌드 중에 적용되며 (보통) ebuild에 어떤 변경도 필요하지 않습니다. 위키 페이지에서는 EAPI 5 및 6에 대해 설명하지만 현재 대부분의 트리는 EAPI 6 이상을 사용하므로 문제가 발생할 가능성이 없습니다. 버전 없이 패키지 이름 아래에 패치를 넣으면 포티지는 빌드하는 패키지의 모든 버전에 패치를 적용하려고 시도합니다.
KDE와 같은 주요 소프트웨어에 대해 별도의 개발/빌드 환경을 설정할 필요 없이 포함하기 전에 업스트림 수정 사항을 테스트하는 데 유용하다는 것을 알았습니다.
답변2
나쁜 예는 기본 브랜치 git
로 사용되었고 기본 브랜치로 다른 이름을 선택하는 것입니다.master
2.28.0 지원.
그러나 내가 아는 한, 귀하의 요구 사항을 달성할 수 있는 간단하고 직접적인 방법은 없습니다. 내 접근 방식은 현재 ebuild를 다음으로 복사하는 것입니다.로컬 사용자 정의 저장소(저는 /usr/local/portage
이 목적으로 사용합니다) 아마도 개정 번호를 늘리고( *-r100 + x
젠투 버전보다 앞서도 됩니다) 거기에 패치를 적용할 수도 있습니다. 이 ebuild를 최신 상태로 유지하는 것은 당신에게 달려 있습니다.