簡體   English   中英

RPM需要確切的發行標簽

[英]RPM Requires exact release tag

我在一個Java項目上工作,每個模塊創建一個始終帶有1.0版本標簽的單獨的rpm包,但是Release標簽采用Jenkins CI注入的內部版本號。

每個組件都使用maven-rpm-plugin。

還有一個主要的 rpm軟件包,我們在spec文件中根據需求指定了已部署模塊的確切版本,例如一個需求示例:

要求:module1 = 1.0-10

要求:module2 = 1.0-123

這些軟件包已部署到公司的存儲庫中,並可供運行CentOS 6的開發機器使用。

所以問題是:

在一台開發機上,先前的軟件包安裝了module1-1.0-9

當我使用yum安裝當前的軟件包版本時,即使我指定了確切的軟件包版本要求(直到Release標記),module1 也不會升級

刪除所有軟件包並嘗試安裝當前的軟件包后,將安裝module1-1.0-12 同時部署了另一個模塊。

我一直在尋找有關此的任何類型的文檔,但沒有任何運氣。

這是正常現象還是錯誤?

有任何想法嗎? -即使確實不是錯誤,甚至歡迎更改版本控制策略。

軟件包名稱是否有所更改? Yum使用名稱,版本和發行版。 因此,如果您使用其他名稱打包,那么yum不會將較新的軟件包視為對舊軟件包的更新。

執行rpm -qip *your-rpm-file-name.rpm*並比較名稱的輸出。 過去,我曾看到有些人對RPM的文件名和yum / rpm使用的RPM的實際名稱感到困惑。

經過一天的努力,我終於在bugzilla中偶然發現了這個錯誤報告。

我還查看了與yum相關的源代碼,並在depsolve.py模塊上找到了注釋,該注釋解釋了如何解決依賴關系並證實了先前在CentOS 6中報告的行為:

  1. 如果您正在安裝軟件包,並且找到了所需的軟件包,則會安裝最新版本
  2. 如果要更新軟件包,並且已經安裝了必需的軟件包,則不會升級依賴項

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM