作者weiyucsie (选择那刻 才算开始)
看板FreeBSD
标题自己写类似pkg_version -vL=的小程式 -- pver
时间Sun Dec 14 00:57:09 2008
功能描述:
类似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)