RPM %설치 섹션

RPM %설치 섹션

그래서 저는 rpmbuild 프로세스에 대해 약간 혼란스러워합니다. 지금은 이전에 만든 여러 스크립트를 유지 관리하고 있는데, 대부분은 작동하지만 일관성 있는 접근 방식을 찾을 수 없을 정도로 서로 다릅니다.

  • 일부는 패키징하기 전에 파일을 개별적으로(매우 지루하게) 임시 위치에 복사합니다.

  • 일부는 원저작자의 사양 파일을 사용하며 우리는 구성이나 코드만 수정합니다.

  • 일부는 집에서 만든 것이지만 확실히 나와 같은 수준의 이해로 만들어졌습니다!

특히 저는 이 방법을 사용하고 싶지만 구축된 소프트웨어는 괜찮지 make; make install만 실제로 시스템에 설치하기는 어렵습니다. makemake install

내가 하고 싶은 것은 make install을 사용하고 프로그램을 패키징할 목적으로 작업 디렉토리에 배치하는 것입니다. 소프트웨어를 대상 컴퓨터의 등에 설치하고 싶지만 /usr/binmake install을 실행할 때 소프트웨어를 설치하고 싶습니다 /tempDir/usr/bin. 그게 말이 됩니까? 기본적으로 저는 제가 패키징하는 소프트웨어로 시스템을 오염시키는 것을 피하고 싶습니다. 모든 것을 연결하는 것은 옳지 않은 것 같습니다. 구성 오류여야 하나요, 아니면 정상인가요?

내가 사용하고 있는 사양 파일에서 발췌했습니다. 소스 파일을 복사하여 /usr/src/redhat/SOURCES사용하세요 rpmbuild -bb <specfilename>.

BuildRoot:      /var/tmp/%{name}-%{version}-root
Source0:        %{name}-%{version}.tar.gz

%prep
%setup -q

%build
./configure <config opts>
make 

%install
rm -rf $RPM_BUILD_ROOT
make install

답변1

패키징할 파일은 섀도우 트리에 마운트/격리되어야 합니다.

이는 일반적으로 ]DESTDIR을 재정의하여 수행됩니다.

make DESTDIR=%{buildroot} install

%install 섹션에 있습니다.

관련 정보