一,在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 輸入一條日誌,顯示一次更新的日誌資訊。理解為時迴圈輸入日誌資訊,然後將日...