我必須在運行Windriver Linux的x86_64硬件的目標體系結構上部署RPM軟件包。我在我的主機系統上使用rpmbuild實用程序,該系統是x86 32位12.04 Ubuntu PC。但是,我的主機上沒有安裝交叉編譯器。我必須以這種方式在我的主機上生成RPM,以便在部署到目標上時生成二進制文件。截至目前,我卡住了,因爲我發現直接運行目標上的rpm -ivh <source-rpm>
不會創建二進制文件。在這種情況下還有什麼其他選擇。如何在我的主機上沒有交叉編譯器的情況下爲某些目標架構製作RPM軟件包。所有我在主機上都有源文件和一個Makefile加上rpmbuild實用程序。我的目標硬件有必要的gcc和使工具進行編譯。如何使用rpmbuild爲主機上的源RPM構建目標二進制RPM
0
A
回答
0
對於那些誰可能會卡在類似的情況,我能解決使用FPM包管理實用程序這個問題,可以從以下GitHub庫下載 -
https://github.com/jordansissel/fpm
成功安裝後FPM,人們可以看到這裏有用的各種參數列表。其中一個參數是--after-install
。通過使用腳本傳遞此參數可以讓我們在安裝RPM軟件包之後執行一些操作。這些操作在腳本中定義。所以,基本上我在這個腳本中定義了我的構建語句。因此,一旦使用目標上的rpm -ivh <package-name>
安裝軟件包,此腳本就會在目標上執行必要的make
和make install
。
,我用我的主機上創建RPM包的FPM命令如下 -
fpm -s dir -t rpm -n <package-name> -a all -v 1.0.0 -C <path-of-Source-file-directory> --post-install <path-to-the-script-for-make> --before-remove <path-to-another-script-for-make clean> --prefix <path-for-downloading-package>
。
我知道這只是一種解決方法。但如果有其他人有更好的方式做,那麼請讓我知道。
相關問題
- 1. 如何檢測RPM是源rpm還是二進制rpm?
- 2. rpmbuilder創建只有源rpm不是二進制rpm
- 3. 爲CentOS構建RPM
- 4. 的rpmbuild生成RPM在子目錄
- 5. Rpmbuild - 創建.rpm的設置名稱
- 6. 如何爲我的嵌入式系統構建rpm二進制文件?
- 7. RPM構建是否總是採用〜/ rpmbuild中的文件?
- 8. 如何從多個項目構建rpm
- 9. 使用Maven在Debian上構建RPM
- 10. 兼容RPM RPM構建環境
- 11. 運輸* .so和二進制文件,同時構建RPM包
- 12. 從第三方二進制軟件包構建RPM
- 13. 使用rpmbuild編譯gdb源碼rpm帶符號
- 14. wxPython的源代碼RPM構建失敗
- 15. YUM/RPM - 如何指定不使用RPM
- 16. 如何使用源代替tarball構建rpm
- 17. 使用rpmbuild創建RPM文件,但拾取錯誤的文件
- 18. 如何使用現有rpms構建脫機rpm部署?
- 19. cygwin中rpm和rpmbuild的問題
- 20. RPM規格%後不會的rpmbuild
- 21. 用斜線在windows上構建rpm/
- 22. 如何使用相同的CentOS爲不同版本構建RPM?
- 23. 如何使用Redline RPM Java庫創建RPM包?
- 24. 如何使一個RPM包(沒有的rpmbuild)
- 25. rpmbuild需要(rpmlib) - 自定義rpm
- 26. 的rpmbuild的問題 - 從/home/me/rpmbuild/tmp/rpm-tmp.58942
- 27. 使用Hudson來構建RPM包
- 28. 構建RPM補丁失敗
- 29. RPM構建錯誤:/var/tmp/rpm-tmp.xgXjYS(%構建)出現錯誤的退出狀態
- 30. 在Cygwin上使用Ant創建RPM