2011-06-15 5 views

답변

0

나는 그것이 패치라는 개념이라고 생각합니다. 이 link을 사용하여 첫 번째 srpm에 패치를 적용하기 시작했습니다. 그러나 기본적인 아이디어는 srpm을 얻고, srpm을 설치하고, 빌드 영역 디렉토리 안에 패치를 만들고, spec 파일에 패치 파일 % patch0 -p1을 지정하는 것입니다. 그런 다음 rpm을 빌드하십시오. 행복한 패치!

+0

있다. RPM을 만들었습니다. – Monojeet

+0

@ Monojeet, 그런 다음 소스 rpm을 찾으십니까? 패치가 적용될 때 우리는 * rpm *이 필요하고 rpm은 필요하지 않기 때문에 srpm이 존재하는 이유는 논리적 인 것입니다. – Jasonw

+0

그래서 SRPM이 없으면 RPM을 편집 할 수있는 방법이 없습니다. – Monojeet

13

다음 단계를 수행하는 것입니다 당신이 소스가없는 RPM을 수정하는 가장 좋은 방법 :

  1. 의 포장을 풀고
  2. 내부 필요한 변경을 확인합니다 명령을 내리면 명령을 사용하여 디렉토리에 RPM을 그 하위 디렉토리
  3. "더미"사양 파일을 만들고 빌드하십시오.

더미 spec 파일은 다음과 같이 하심 :

Name: blah 
Version: 1.0 
Release: 1 
Summary: blah 
License: blah 
Distribution: blah 
Group: blah 
Packager: me 
BuildRoot: /path/to/dir/with/mods 

%description 
blah 

%files 
/path/to/dir/with/mods/* 

가 (값을 얻을 수 rpm -qpi rpm file 사용) 실제 값으로 여기에있는 모든 "ㅋ"를 교체합니다. BuildRoot를 수정 된 rpm unwrapped 디렉토리로 대체하십시오. 그런 다음 rpmbuild -bb dummy.spec을 실행하십시오.

prep/setup/build/install 단계가 정의되어 있지 않으므로 buildroot에있는 내용을 가져 와서 RPM을 만듭니다.

rpm 패키지에 스크립트 파일이있는 경우이 파일을 더미 사양 파일에 넣어야합니다. 패키지에 스크립트가 있는지 보려면 rpm -qp --scripts rpm file을 실행하십시오. 의존성, 필수 사항 등에 대해서도 마찬가지입니다.

누락 된 다른 세부 사항이있을 수 있지만 이는 시작하기에 충분합니다.

UPDATE : 그것은 가치가 무엇인지에 대한는, 내가 직면하고 주요 문제는 내가 소스 RPM이없는 것입니다 또한 http://rpmrebuild.sourceforge.net/

+0

+1은'--scripts'입니다. 나는 그것에 대해 몰랐다. – Brandan

+0

FWIW http://rpmrebuild.sourceforge.net/ –

+1

이것은'rpmbuild'의'BUILDROOT' 설정을 지정하거나 수정하지 않으면 작동하지 않습니다. – jmtd

관련 문제