2014-04-05 75 views
0

我正在開發一個Java項目,每個模塊創建始終具有1.0版本標籤的獨立rpm包,但Release標籤採用由Jenkins CI注入的內部版本號。RPM需要準確發佈標籤

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

還有一個 rpm包是我們指定了部署模塊的精確版本,如在規範文件的要求,作爲一項要求例如:

要求:模塊1 = 1.0-10

要求:模塊2 = 1.0-123

的包被部署到該公司的倉庫,並且由阿瓦伊標籤,可以運行的CentOS 6

我們的開發機器所以問題是:

在一個dev的機器,以前主要包安裝module1-1.0-9

當我安裝當前主要使用yum的軟件包版本,模塊1 未得到升級,儘管我指定了確切的包版本要求,直到Release標籤。

刪除所有包並試圖安裝當前主要包後,module1-1.0-12獲取的安裝!與此同時部​​署了另一個模塊構建。

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

這是正常行爲還是錯誤?

任何想法? - 即使改變版本策略也是值得歡迎的,如果它確實不是一個bug。

回答

0

改天試圖讓這個我終於碰到這個錯誤報告中bugzilla絆倒後下方。

我也看了一下yum相關的source code,並發現了對depsolve的評論。PY模塊,說明如何依賴性解決,證實在CentOS 6的先前報告的行爲:

  1. 如果你安裝一個軟件包和所需的包裝中發現,最新版本安裝
  2. 如果」重新更新一個軟件包和一個必需的軟件包已經安裝,沒有依賴性升級
0

軟件包名稱是否改變了? Yum使用名稱,版本和發行版。所以如果你使用不同的名字進行包裝,那麼yum不會將更新的包看作是舊包的更新。

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

+0

我試過了,他們在rpm文件名上返回了正確的名稱,版本,發行版和體系結構。我懷疑百勝回購元數據,但我還沒有訪問。 –

+0

您是否有可以創建回購的測試機器?然後你可以在你控制的盒子上測試這個理論。 –