![.spec 파일을 사용하여 소스 코드 체크아웃에서 바이너리 RPM을 구축하는 가장 쉬운 방법은 무엇입니까?](https://linux55.com/image/55689/.spec%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EC%86%8C%EC%8A%A4%20%EC%BD%94%EB%93%9C%20%EC%B2%B4%ED%81%AC%EC%95%84%EC%9B%83%EC%97%90%EC%84%9C%20%EB%B0%94%EC%9D%B4%EB%84%88%EB%A6%AC%20RPM%EC%9D%84%20%EA%B5%AC%EC%B6%95%ED%95%98%EB%8A%94%20%EA%B0%80%EC%9E%A5%20%EC%89%AC%EC%9A%B4%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
소스 트리를 확인했습니다(https://github.com/hautreux/slurm-spank-x11, 궁금해서) 여기에는 .spec
RPM 패키지를 빌드하는 데 사용되는 파일이 포함되어 있습니다. 내 질문은 소스 트리에서 바이너리 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
에 있고 소스 코드는 .SPECS
SOURCES
그런 다음 해당 디렉토리로 변경 SPECS
하고 rpmbuild <spec file>
.
물론 위의 내용 외에도 더 많은 내용이 있습니다. 자세한 내용은 다음에서 확인할 수 있습니다.페도라 위키
레드햇 또는 CentOS
rpmbuild
이러한 배포판은 동일한 도구( )를 사용하지만 프로세스와 필요한 패키지가 약간 다릅니다. CentOS 세부정보는 다음을 참조하세요.CentOS 위키.
구리 파이프 서비스
srpm
이는 소스 RPM( ) 파일을 업로드하고 RedHat/CentOS 또는 Fedora와 같은 모든 대상에 대해 서비스를 빌드할 수 있도록 Fedora에서 제공하는 빌드 서비스입니다 . 여전히 소스 코드와 파일을 패키징해야 spec
하지만 이는 모든 빌드 도구와 필수 개발 라이브러리를 로컬 시스템에 설치하는 데 도움이 됩니다.