我有一個RPM文件。我必須對該RPM進行一些更改,重新打包並測試。誰能幫我?解包RPM文件並重新打包它
13
A
回答
0
我認爲這是一個叫做補丁的概念。我開始使用link修補第一個srpm。但基本思想是,獲取srpm,安裝srpm,在build區目錄內創建你的補丁,並在spec文件中指定補丁文件%patch0 -p1。然後做rpm構建。快樂補丁!
13
修改一個RPM,你沒有來源,就是按照這些步驟的最佳方式:
- 拆開轉速與rpm2cpio命令目錄
- 使內進行必要的更改子目錄
- 製作一個「虛擬」spec文件並構建它。
這虛擬規範文件可能是這樣的:
Name: blah
Version: 1.0
Release: 1
Summary: blah
License: blah
Distribution: blah
Group: blah
Packager: me
BuildRoot: /path/to/dir/with/mods
%description
blah
%files
/path/to/dir/with/mods/*
在這裏更換每一個「嗒嗒」與真實值(使用rpm -qpi rpm file
得到的值)。將BuildRoot替換爲已解包的已修改rpm的目錄。然後運行rpmbuild -bb dummy.spec
。
由於沒有定義準備工作/設置/構建/安裝步驟,它只會採用buildroot中的內容並創建一個RPM。
如果rpm包含腳本文件,您還必須將它們放在這個虛擬spec文件中。要查看包是否有任何腳本,請運行:rpm -qp --scripts rpm file
。相同的事情去依賴,prereqs等
可能有其他細節我失蹤,但這應該足以讓你開始。
UPDATE:對於它的價值,也有http://rpmrebuild.sourceforge.net/
相關問題
- 1. 解包並重新打包.jar文件
- 2. 如何解包和重新打包WAR文件
- 3. 使用「ar」打包解包並打包
- 4. pyGTK:打包並解包
- 5. 如何解壓,更新和重新打包Adobe Air文件?
- 6. 如何重新安裝rpm包?
- 7. 編輯和重新打包二進制rpm?
- 8. 如何在Fedora上解壓並重建rpm包?
- 9. 如何在不安裝RPM的情況下「重新打包」RPM文件(例如cpio2rpm)?
- 10. 在MSI中解壓縮,修改和重新打包文件?
- 11. 重新打包xps解壓縮到zip1
- 12. RPM包中最新版RPM包的識別過程是什麼?
- 13. Java - 將參考庫打包成jar文件並重新使用
- 14. 重新包裝.jar文件
- 15. 創建RPM包來複制文件
- 16. 創建RPM包
- 17. 提取rpm包
- 18. 創建RPM包
- 19. 重新安裝相關軟件包的RPM規格文件%pre部分?
- 20. 拆包並重新打包一個元組(Python 2.x)
- 21. 刪除RPM軟件包
- 22. RPM PHP和PEAR軟件包
- 23. 正確打包單個JAR文件作爲RPM
- 24. Eclipse編輯器在打開/保存時解壓/重新打包文件?
- 25. 用包/解包重新實現to_i
- 26. 創建僅包含所需軟件包的RPM軟件包
- 27. 打開並重新打開exe文件
- 28. RPM到MSI包裝?
- 29. 包含一個文件並替換它
- 30. jQuery HTMLElement打包/解包
我面臨的主要問題是我沒有一個源RPM。我只有RPM版本。 – Monojeet 2011-06-15 08:30:41
@Monojeet,然後找出源rpm?這是唯一合理的原因,因爲在修補時,我們需要* source * rpm而不是建立的rpm。 – Jasonw 2011-06-15 08:38:16
所以我沒有辦法在沒有SRPM的情況下編輯RPM? – Monojeet 2011-06-15 08:39:46