rpmbuild打包錯誤記錄

2021-08-27 16:50:31 字數 1497 閱讀 6629

一,在rpmbuild給spec指令碼指定變數

rpmbuild --define="version $" --define="project $" -ba  ./rpm/project.spec
這樣,在spec指令碼中可以用%version獲取到version的變數值,如下:

name:    %project

version: %version

release: 1

group: system

license: commercial

二,在機器上安裝出錯

在有些機器上安裝,會出現下面的提示資訊

error: failed dependencies:

rpmlib(filedigests) <= 4.6.0-1 is needed by pasr-2.0.0-1.x86_64

rpmlib(payloadisxz) <= 5.2-1 is needed by pasr-2.0.0-1.x86_64

這主要是md5驗證和payload設定的版本有些不匹配,可以公升級安裝的機器 ,我採用下面的方法,經驗證,可以解決這個問題

rpmbuild --define="_source_filedigest_algorithm md5"  --define="_binary_filedigest_algorithm md5" --define="_binary_payload w9.gzdio" --define="_source_payload w9.gzdio" --define="version $" --define="project $" -ba  ./rpm/project.spec
也可以要spec檔案中如下設定:

source:  %-%.tar.gz

prefix: %

%global _source_filedigest_algorithm md5

%global _binary_filedigest_algorithm md5

%global _source_payload w9.gzdio

%global _binary_payload w9.gzdio

三,關閉自動依賴

autoreqprov: no

四,_topdir巨集

在不同的系統上,用於build的目錄是不一樣的,如centos上一般是~/rpmbuild,而在suse上是/usr/src/packages,在redhat上是/usr/src/redhat,這個由/usr/lib/rpm/macros檔案中的_topdir來指定。也可以在build的時候自己定義,如:

rpmbuild --define="_topdir ~/rpmbuild/" -ba project.spec

puppet 錯誤記錄

因為測試的需要把puppet master 給乾掉了,重新安裝puppet master,重新開始認證簽名。安裝好puppet master,什麼也不做,使用之前的client 連線master,會出現以下錯誤 warning peer certificate won t be verified i...

錯誤記錄(一)

時間限制 3000 ms 記憶體限制 65535 kb 難度 2 描述 編寫乙個c程式,實現兩個分數的加減法 輸入 輸入包含多行資料 每行資料是乙個字串,格式是 a boc d 其中a,b,c,d是乙個0 9的整數。o是運算子 或者 資料以eof結束 輸入資料保證合法 輸出對於輸入資料的每一行輸出兩...

簡單錯誤記錄

使用了部落格的 設計思路。這裡主要記錄一下在處理這一題時自己理解錯的地方 1 需要從輸入的日誌資訊中提取檔名和行號。如果這樣想這個問題,那麼需要分割字串分別獲取檔名和行號。其實可以利用格式化輸入分別獲取檔名字串和行號整數值。2 輸入一條日誌,顯示一次更新的日誌資訊。理解為時迴圈輸入日誌資訊,然後將日...