2015-02-05 6 views
1

동일한 대상에 배치해야하는 2 개의 종속 패키지가 있습니다. 패키지 B는 패키지 A에 종속적입니다.빌드 RPM 패키지 : 종속 재배치 패키지의 경로에 강제 설치

패키지 A는 다른 위치로 재배치 될 수 있습니다. 이제 패키지 B를 패키지 A와 동일한 대상에 배치해야합니다. 간단히 말해 패키지 B는 동일한 --prefix 없이는 설치할 수 없습니다.

아이디어가 있습니까?

이것을 확인하기 위해 % pre 스크립트를 넣을 것을 고려했습니다. 하지만이 스크립트에서 주어진 "접두사"를 읽을 수 없기 때문에 그게 도움이되지 않을까요? 아니면 제가 할 수 있을까요?

도움 주셔서 감사합니다.

+0

패키지에 설치된 접두어를 쿼리하는 방법을 알고 계십니까? 나는 (나는 결코 시도한 적이 없다). 즉, * 접두사에 의존하는 파일이 있는지 여부를 확인할 수 있다면 그렇게 할 필요가 없다고 말하는 것입니다. (사실 파일 전제 조건이 주어진 접두사의 영향을받을 수 있는지 궁금합니다.) –

+1

네,'rpm -qa --queryformat '% {instprefixes}'NAME_OF_PACKAGE' – Karl

+0

흥미 롭습니다. 그렇다면 * 현재 * 패키지의 접두어를 가져 오는 것에 대한 질문이 있었습니까? '% {DEFAULTPREFIX}'또는'% {INSTALLPREFIX}'는 인수에 따라'% pre'에서 올바르게 확장됩니까? –

답변

0

ah. 그래서 약간의 소스 다이빙을 한 결과, (및 다른 스크립틀릿)의 값으로 RPM_INSTALL_PREFIXRPM_INSTALL_PREFIX# 환경 변수가 설정되어있는 것으로 나타났습니다 (최소한 rpm 4.8.0에서는 다른 버전을 보지 않았습니다). (%{INSTPREFIXES} 및/또는 %{INSTALLPREFIX} 매크로 인 것처럼 보입니다). [source link]

%pre 스크립트에서 시도해 보겠습니다. 그들은 당신이 원하는 것을 줄 것입니다.

Same code in rpm head.

+0

하지만 패키지가 설치 될 때마다 다른 패키지와 일치하지는 않습니다. –

+0

@ AaronD.Marasco 사용자가 쿼리 할 수 ​​있습니다. '% pre' 중에 설치된 패키지의 접두사에 대한'rpm'은 제가 추정합니다 (또는 다른 패키지에 의존하는 알려진 파일에 대한 현재 패키지의 접두어를 검색합니다). –

+0

에탄 감사합니다! 그게 내가 필요한 것! 얼마나 훌륭 : D – Karl