패키지를 설치하기 전에 Mock에 yum/dnf 변수를 삽입하는 방법

패키지를 설치하기 전에 Mock에 yum/dnf 변수를 삽입하는 방법

컨텍스트: Artifactory 내에 구축된 yum/dnf 저장소가 있습니다(현재 RHEL7 및 RHEL8을 지원하므로 영향은 없지만 둘 다 사용해야 함). 팀에서는 공통 .repo 파일을 사용한 다음 yum/dnf 변수 파일(/etc/yum/vars)을 사용하여 인증 세부 정보를 채웁니다. 일반적으로 이것은 문제가 되지 않지만 인증을 위해 Mock을 사용하는 데 문제가 있습니다.

시뮬레이션된 chroot에 /etc/yum/vars를 마운트하는 것이 가능하며 chroot에 들어가면 표시됩니다...하지만 그 전까지는 표시되지 않습니다.뒤쪽에yum/dnf 설치 주기 때문에 srpm 빌드 종속성이 사용자 정의 저장소에서 적시에 설치되지 않았습니다.

프로세스 초기에 바인드 마운트를 수행할 수 있는 방법이 있습니까? 아니면 저장소 인증에 사용할 수 있도록 시뮬레이션된 프로세스에 yum 변수를 삽입하는 다른 방법이 있습니까? 인증 세부 정보를 /etc/mock의 모의 구성 파일에 직접 입력하여 이 작업을 수행할 수 있지만, 모의 파일(개발자 도구 RPM 내에 배포됨)이 버전에서 업데이트되지 않도록 이를 방지하려고 합니다. 변경되므로 업데이트할 때마다 인증 세부정보를 다시 입력해야 합니다.

또는 해당 데이터를 주입하기 위해 모의 파일과 저장소 파일에 인증을 하드코딩하는 것 외에 다른 어떤 것도 가능합니다. 이것이 최종 목표입니다. 개발자 RPM에서 일반적인 .mock 및 .repo 파일을 배포할 수 있는 동시에 mock 및 dnf/yum에서 작동하는 repo 인증을 얻는 것입니다.

답변1

아하, 방법이 생각났어요!

~/.config/mock.cfg에서 jinja2 템플릿 교체를 위한 사용자별 변수를 설정할 수 있습니다.

해당 사용자 파일에 config_opts['key_variable_name'] 및 config_opts['user_variable_name'] 줄을 추가한 다음(사용자가 이미 가장 그룹에 있다고 가정) .mock 또는 가장 템플릿 파일에서 저장소에 사용자 이름/비밀번호를 사용하도록 지시합니다. ={{ 키/사용자 변수 이름}}

관련 정보