RPM을 만드는 것은 아주 새로운 일이지만 기본적인 사항은 잘 알고 있습니다. 기본 스크립트를 작성 중인데 새로 생성된 RPM을 저장하기 위한 기본 위치를 허용할 수 없다는 요구 사항이 있습니다.
일반적으로 생성된 RPM은 ~/rpmbuild/RPMS에 저장됩니다.
/centralStorage/Some/New/Location에 저장해야 합니다.
새로 생성된 RPM이 저장되는 위치를 알기 위해 RPM 빌더는 어떤 변수를 찾고 있습니까? 이 설정을 수동으로 변경하는 방법을 문서에서 찾을 수 없는 것 같습니다.
답변1
이는 _topdir
매크로를 사용하여 설정됩니다. 예를 들면 다음과 같습니다.
%_topdir /home/ed/mybuild
관련 매크로를 사용하여 이를 세부적으로 조정할 수 있습니다. Fedora 시스템에서 매크로는 다음 위치에 있으며 다음을 /usr/lib/rpm/macros
포함합니다.
# The directory where newly built binary packages will be written.
%_rpmdir %{_topdir}/RPMS
따라서 재정의할 수 있습니다 _rpmdir
.
보통 저는 단지 settings 를 사용하고 $HOME/.rpmmacros
, 다른 사람들은 command line options 을 사용합니다 --define
.
rpmbuild --define '_topdir /Location/On/Storage/' -bb myNewServer.spec
추가 자료:
- RPM이 다른 빌드 영역을 사용하도록 허용(최대 RPM: RPM 패키지 관리자를 한계까지 밀어붙입니다)
- 사용자 정의 매개변수를 rpmbuild에 전달하여 변수를 채우는 방법
- 조건부 매개변수를 rpm 빌드에 전달(속도를 위해4)