답변:
예, 매우 쉽습니다.
그냥 써:
Requires: somepackage >= 0.5.0, somepackage < 0.6.0
당신에 .spec
파일.
버전 요구 사항 추가
패키지에 약간 더 엄격한 요구 사항이있는 경우 특정 버전의 패키지가 필요할 수 있습니다. 필요한 버전 번호를 추가하고 다음 비교 연산자 중 하나를 추가하기 만하면됩니다.
지정된 버전보다 낮은 버전의 패키지가 필요합니다.
지정된 버전 이하의 패키지가 필요합니다.
지정된 버전과 동일한 버전의 패키지가 필요합니다.
지정된 버전 이상의 패키지가 필요합니다.
지정된 버전보다 큰 버전의 패키지가 필요합니다.
이 예에서 계속해서 필요한 패키지 막대 버전이 실제로는 2.7 이상이어야하고 baz 패키지 버전이 2.1이어야한다고 가정 해 봅시다 (다른 버전은 수행 할 수 없음). require 태그 라인은 다음과 같습니다. requires : bar> = 2.7, baz = 2.1
출처 : http://rpm.org/user_doc/more_dependencies.html
위에서 설명한 시스템은 대부분의 패키지에서 작동합니다. 그러나 필요한 패키지가 [가상 기능] [1]으로 제공되거나 다른 이름 ( 서로 충돌하지 않는 )의 패키지로 제공되는 경우 (예 : "제공": "키워드) 두 개의 서로 다른 패키지가 설치 될 수 있으며 각 패키지는 개별적으로 요구 사항 중 하나를 충족시킵니다. 예를 들어, 스펙 파일에 다음이 포함 된 경우 :
Requires: postgresql-server >= 8.4, postgresql-server < 9.0
다음과 같은 설치가 발생할 수 있습니다 (yum에 이러한 패키지를 사용할 수있는 경우).
그러나 postgresql84-server 는 설치 하지 않을 것으로 예상되는 패키지는 설치 하지 않습니다 .
(이 경우 해결책은 단순히 postgresql84-server를 요구하는 것이지만 쉬운 해결책이없는 다른 예제가있을 수 있습니다.)
패키지를 빌드하거나 패키지를 설치하고 종속성을 "제한"하려고하는지 확실하지 않습니다.
패키지를 다시 빌드하지 않고 두 번째 사례를 만드는 방법을 찾지 못했습니다.
SRPM을 검색하고 사양 파일을 편집하고 다음과 같은 항목에 require (somepackage 0.5.x, 원하지 않습니까?)를 추가 / 수정할 수 있습니다.
Requires: somepackage = 0.5.0
그런 다음
rpmbuild -bb -v yourpackage.spec
당신이 그것을하지 않은 경우, 협박 것처럼 보이지만 문제를 해결합니다. 배포판 용 공개 패키지를 만드는 경우이 방법으로 종속성을 설정하는 것은 일반적으로 권장되지 않으므로 지침을 읽으십시오.