SRPM의 압축을 풀고, 수정하고, 다시 빌드하고 설치하는 방법

SRPM의 압축을 풀고, 수정하고, 다시 빌드하고 설치하는 방법

Fedora 15 패키지( )를 수정하고 싶습니다 gnome-shell-extensions-alternative-status-menu. 이것은 약간의 수정입니다(복원이번에 제출하세요). ( )를 사용하여 yumdownloaderSRPM을 다운로드할 수 있습니다 gnome-shell-extensions-3.0.2-1.g63dd27cgit.fc15.src.rpm.

그런 다음 압축을 풀고 다시 빌드하려면 어떻게 해야 합니까?

답변1

ROOT 사용자로서 무엇을 해야 합니까?

  1. 다른 패키지와 마찬가지로 SRPM 설치( rpm --install [source-rpm-filename])

  2. 디렉터리를 확인 /root/rpmbuild/SPECS하고 패키지와 일치하는 사양 파일을 찾으세요.

  3. rpmbuild -bb /root/rpmbuild/SPECS/[found-filename]

결과 바이너리 패키지는 /root/rpmbuild/RPMS/표준 명령을 통해 설치할 준비가 된 디렉터리에 위치합니다 rpm --install.

노트:이것이 바로 표준 바이너리 패키지에 포함된 것입니다. 소스 코드를 변경하고 새 패키지를 생성하는 방법이 아니라 특정 질문에 답변하기 위해 이 글을 게시합니다.

수정하려면 패치를 입력으로 제공하고 SPECS 파일을 변경하거나... *.tar.bz2찾은 표준을 자신의 변경 사항으로 교체 /root/rpmbuild/SOURCES한 다음 위와 같이 빌드할 수 있습니다.

SPECS 패키지가 작동하도록 변경해야 할 수도 있습니다(일반적으로 패치를 제거하고 SPECS 파일에 프로그래밍된 일부 파일 이름을 변경함).


편집하다

rpm을 루트로 구축하는 것은 나쁜 습관인 것 같습니다(원천). 루트가 아닌 사용자로는 정상적으로 작동합니다.

패치 추가에 대한 단계별 지침(여기):

  1. 패치를 에 복사하세요 rpmbuild/SOURCES.
  2. rpmbuild/SPECS/package.spec라인 뒤에 Patch0: mypatch.patch오른쪽을 편집 하고 추가하십시오 Source0: ....
  3. %setup ...줄 뒤에 %patch0 -p1줄을 추가하세요.

이제 정상적으로 빌드됩니다. 그리고:rpmbuild -ba SPECS/package.spec

답변2

OpenSSL 패키지 재구축 CentOS 6.4SRPM 패키지 재구성의 자세한 예입니다.

위의 예에서는웃음- 패키지 빌더의 제다이 광선검.

모의는 chroot를 안정적으로 채운 다음 해당 chroot에서 패키지를 다시 빌드하기 위해 생성됩니다.

자세한 내용은 다음을 참조하세요.http://fedoraproject.org/wiki/Projects/Mock

예제에서 mock은 세 번 사용되었습니다. 한 번은 패키지를 "압축해제"한 다음 .src.rpm을 다시 빌드하고 마지막으로 .rpm을 생성하는 데 사용되었습니다.

관련 정보