2016-01-22 26 views
1

一個RPM有趣的功能是,它會看共享對象,發現他們對鏈接什麼,發現什麼包提供這些鏈接的共享庫,並自動安裝這些依賴庫作爲安裝的一部分編譯共享庫。我是否仍然聲明其他共享對象的需求依賴關係?

如果libnaftuli是針對libbz2聯繫,例如,rpm-build程序將指定沒有我不得不宣佈它在我的.spec文件中libnaftuli RPM的依賴。

如果我仍然在我的規範文件中聲明這些依賴呢?我想我應該聲明不明確的依賴關係,但除此之外,我是否應該手動確定我的庫鏈接的對象並指定它們的requires子句,或者讓rpm-build變得聰明?

回答

1

通過rpmbuild添加的自動依賴關係是有幫助的,但他們沒有做的一切。明確Requires標籤可以做這些額外的東西:

  • 告訴rpm,這是正常安裝你的包在給定的依賴的特定版本(包括版本範圍)。
  • 告訴rpm該包裝取決於一個虛擬包,例如,包裝,其提供「相同」的功能,但以不同的名稱(如稱任何 Java包)。

延伸閱讀:

+0

謝謝,這是我承擔。 –

1

如果你需要的,因爲一個圖書館的要求其它的什麼包該轉找出你的名字,那麼沒有真的任何理由自己手動列出軟件包作爲需求。

但是,如果你依賴於包一些其他原因(非庫文件等),或者對包裝特定版本控制需求(其中庫版本一般應爲您處理,所以你不應該)然後自己添加它是有道理的。

任何其他你有要求的軟件包,該rpm沒有拿起,顯然應明確列出。

相關問題