自己寫類似pkg_version -vL=的小程式 -- pver

看板FreeBSD作者 (選擇那刻 才算開始)時間15年前 (2008/12/14 00:57), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
功能描述: 類似pkg_version -vL= (其實應該說類似pkg_version -IvL= 之前忘記INDEX和實際ports裡面的情形可能不同@@) 不過也就只有列出版本號不同者 個人測試是比pkg_version -IvL=快三倍以上 (不考慮建立db的時間的話) 範例輸出: ImageMagick-nox11 6.4.5.5 6.4.7.5 phpMyAdmin 3.1.0 3.1.1 下載網址: http://www.csie.nctu.edu.tw/~weiyu/software/pver-0.07.tar.gz 僅原始檔,需自行編譯 dependency: * portupgrade(optional) * db-3+ (應該吧 測試環境是db-4.3) 編譯: 主要有個INDEX_DB_FILE可以設定 預設是/usr/ports/INDEX-{uname取得的主要版本}.db 也就是portupgrade裡portsdb所建立的檔案 方式一(使用portupgrade的portsdb建立的檔案): * make 方式二(不想依賴portupgrade的話): 1. make INDEX_DB_FILE='檔案要放的位置' 其中檔案要放的位置 建議寫成絕對路徑(可以在不同目錄使用) 使用前請先執行 2. pver_dbgen 在指定位置產生db檔 (ports的index更新時須重新執行) 程式大致上的動作: 取出/var/db/pkg下的目錄名稱,和ports的INDEX所建立的db做比對 不一樣的話再去/var/db/pkg/{PKGNAME}/+CONTENTS找 @comment ORIGIN:那行取來源位置 如果該位置可以在ports的db找到的話,則取出db裡面的版本 (因為此時ports的db記錄的版本,和/var/db/pkg下的資訊不一樣 所以版本理論上應該不一樣) 顯示套件名稱和新舊版本 其他: 0.07 只有把顯示上的\t\t改成\t 0.06 使用scandir來達成排序效果 在nfs建立db很慢的話,可能需要指定建立在非nfs目錄 -- 和FreeBSD有關,應該可以放在這個版吧XD (雖然是宣傳自己的程式:p) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.203.6 ※ 編輯: weiyucsie 來自: 140.114.203.6 (12/16 15:44)
文章代碼(AID): #19G-bcyM (FreeBSD)
文章代碼(AID): #19G-bcyM (FreeBSD)