![el6 시스템에서 el5용 rpmbuild를 사용하는 방법](https://linux55.com/image/70942/el6%20%EC%8B%9C%EC%8A%A4%ED%85%9C%EC%97%90%EC%84%9C%20el5%EC%9A%A9%20rpmbuild%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
el6 호스트에서 실행할 때 rpmbuild를 사용하여 el5 시스템용 사양 파일을 빌드하는 방법을 아는 사람이 있습니까? spec은 py 스크립트를 간단히 캡슐화한 것입니다. el5와 el6 rpm의 차이는 Python 종속성(python-json 등)에 따라 결정되어야 합니다.
나는 rpmbuild -bb --target noarch-linux-el5 foo.spec
비슷한 것을 사용해 보았지만 운이 없었습니다 ... :)
어떤 아이디어가 있나요?
감사해요
답변1
두 시스템의 rpm 빌드 환경에는 흥미롭고 어려운 차이점이 있습니다.
시뮬레이션을 고려해 보셨나요? 이것은 Fedora-land에 위치한 소프트웨어 프로젝트입니다.https://fedoraproject.org/wiki/Mock. 이는 교차 환경 RPM 빌드를 위해 명확하게 설계되었습니다.
내 빌드는 여전히 자체 호스팅되지만(EL5 VM 만들기, 거기에서 빌드, EL6 VM 만들기, 거기에서 빌드 등) 모의 빌드는 검사를 위해 내 목록에 있습니다.
답변2
나에게 가장 쉬운 방법은 el6 호스트에서 대상 배포판(el5)을 사용하여 가상 머신을 만드는 것이었습니다. 단 몇 분만에 결과는 확실했습니다.
답변3
rpmbuild 명령줄(또는 .rpmmacros)에 추가합니다.
--define "_source_filedigest_algorithm md5" --define "_binary_filedigest_algorithm md5"
el5용으로 빌드하려면 모의 객체를 사용하는 것이 좋습니다. 하지만 여전히 el5 호환 SRPMS가 필요하므로 최소한 source_filedigest를 준수하도록 만들어야 합니다.
$ rpmbuild --define "_source_filedigest_algorithm md5" --define "dist .el5" -bs lbatofile.spec
Wrote: /home/stuart/rpm/SRPMS/lbatofile-0.3-1.el5.src.rpm
$ mock -r epel-5-i386 ../SRPMS/lbatofile*el5*