el6 시스템에서 el5용 rpmbuild를 사용하는 방법

el6 시스템에서 el5용 rpmbuild를 사용하는 방법

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*

관련 정보