.spec 파일을 사용하여 소스 코드 체크아웃에서 바이너리 RPM을 구축하는 가장 쉬운 방법은 무엇입니까?

.spec 파일을 사용하여 소스 코드 체크아웃에서 바이너리 RPM을 구축하는 가장 쉬운 방법은 무엇입니까?

소스 트리를 확인했습니다(https://github.com/hautreux/slurm-spank-x11, 궁금해서) 여기에는 .specRPM 패키지를 빌드하는 데 사용되는 파일이 포함되어 있습니다. 내 질문은 소스 트리에서 바이너리 RPM을 구축하는 가장 쉬운 방법은 무엇입니까? 데비안 세계에서는 debian/rules binary소스 트리 내에서 실행합니다. RPM 세계에도 이렇게 간단한 비슷한 작업이 있을까요?

답변1

가장 쉬운 방법은 을 사용하는 것입니다 rpmbuild.

rpmbuild <spec file>RPM 과 동일합니다 fakeroot debian/rules binary.

페도라 모자

처음으로 빌드하기 전에 개발 도구 세트를 설치하여 빌드 시스템을 준비해야 합니다.

# yum install @development-tools

그 다음에:

# yum install fedora-packager

루트가 아닌 사용자로 빌드 환경을 만듭니다.

$ rpmdev-setuptree

그러면 디렉토리 트리가 생성됩니다.

~/rpmbuild
       ├── BUILD
       ├── BUILDROOT
       ├── RPMS
       ├── SOURCES
       ├── SPECS
       └── SRPMS

건설하다:

파일 은 디렉토리 spec에 있고 소스 코드는 .SPECSSOURCES

그런 다음 해당 디렉토리로 변경 SPECS하고 rpmbuild <spec file>.

물론 위의 내용 외에도 더 많은 내용이 있습니다. 자세한 내용은 다음에서 확인할 수 있습니다.페도라 위키

레드햇 또는 CentOS

rpmbuild이러한 배포판은 동일한 도구( )를 사용하지만 프로세스와 필요한 패키지가 약간 다릅니다. CentOS 세부정보는 다음을 참조하세요.CentOS 위키.

구리 파이프 서비스

srpm이는 소스 RPM( ) 파일을 업로드하고 RedHat/CentOS 또는 Fedora와 같은 모든 대상에 대해 서비스를 빌드할 수 있도록 Fedora에서 제공하는 빌드 서비스입니다 . 여전히 소스 코드와 파일을 패키징해야 spec하지만 이는 모든 빌드 도구와 필수 개발 라이브러리를 로컬 시스템에 설치하는 데 도움이 됩니다.

관련 정보