나는 나만의 개인 RPM 저장소를 만들고 있습니다. 지금까지 나는 다음과 같은 패키지를 구축했습니다.
- x264
- 라이브러리x264
- libx264-개발
- x265
- 라이브러리 x265
- libx265-개발
- 절뚝거리는
- libmp3lame
- libmp3lame 개발
- libmfx
- libmfx 개발
- libdvdcss
- libdvdcss-개발
- libfdk-aac
- libfdk-aac-개발
- ffmpeg
- libav 코덱
- libav 장치
- 도서관 필터
- libavresample
- libavutil
- libpostproc
- 라이브러리 리샘플링
- libswscale
가까운 시일 내에 데스크탑을 Fedora로 마이그레이션할 예정이므로 주로 Fedora용으로 패키징하고 있습니다. 나는 다음과 같은 패키지를 만들고 싶습니다.구리하지만 이러한 패키지 중 다수는Fedora에 의해 금지됨.
지금까지 내가 겪은 문제는 다음과 같습니다.
- 사양 파일과 패치만 체크인하는 Git 저장소를 원합니다.
- 이를 위해 빌드의 일부로 소스 코드를 다운로드하고 싶습니다.
- 제가 만들고 있는 일부 패키지(예: FFMPEG)는 다른 빌드의 일부 개발 패키지를 호스트 시스템에 설치해야 하므로 닭고기와 계란 문제가 발생합니다.
- 현재 모든 빌드는 Fedora 23 Vagrant VM에서 수행됩니다. 생가죽 또는 CentOS 7용으로 빌드하려는 경우 CentOS 7을 기반으로 하는 별도의 가상 머신에서 이러한 빌드를 실행해야 합니까, 아니면 여러 배포용 호스트 빌드 패키지를 제공할 수 있는 방법이 있습니까?
내 저장소의 모든 패키지를 올바른 순서로 빌드하고 이를 필요로 하는 다른 패키지에 개발 RPM을 제공하는 데 도움이 되는 소프트웨어가 있습니까? 이 설정을 가능한 한 자동화하고 싶기 때문에 올바른 순서로 항목을 빌드하여 헤더를 필요로 하는 다른 패키지에서 헤더를 설치할 필요 없이 사용할 수 있도록 실행할 수 있는 일종의 간단한 빌드 스크립트가 필요합니다. 호스트 컴퓨터에서.
답변1
Mockchain(mocking 패키지의)은 원하는 것을 수행할 수 있습니다. SRPM 목록을 인수로 받아들이고 이를 재구성하는 매우 간단한 알고리즘이 있으며 실패한 알고리즘은 두 번째 반복에서 시도됩니다. 적어도 루프에서 패키지가 성공적으로 빌드되는 한 이러한 반복은 계속됩니다. 따라서 많은 CPU 주기를 소비할 수 있지만 사용자 측에서는 많은 상호 작용이 필요하지 않습니다.