僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
# bmake => Bootstrap dependency digest>=20010302: found digest-20080510 => Bootstrap dependency tnftp-[0-9]*: found tnftp-20070806 => Checksum SHA1 OK for ppp-2.4.3.tar.gz => Checksum RMD160 OK for ppp-2.4.3.tar.gz ===> Installing dependencies for pppd-2.4.3nb2 ===> Overriding tools for pppd-2.4.3nb2 ===> Extracting for pppd-2.4.3nb2 ===> Patching for pppd-2.4.3nb2 => Applying pkgsrc patches for pppd-2.4.3nb2 ************************************** Ignoring patch file /usr/pkgsrc/net/pppd/patches/patch-ae: invalid checksum ************************************** ERROR: Patching failed due to modified or broken patch file(s): ERROR: /usr/pkgsrc/net/pppd/patches/patch-ae *** Error code 1
patchesディレクトリにある patch-* (aaからbpまで42個)のSHA1を調べてみた。
一つとしてdistinfoに記述されている値と合っているものはなかった。
他のソフトもいくつか見たが、合っていないのが普通みたい(patch以外は合ってるけど)。
ツッコミを受けて、改めて確認。
先頭行を抜いてsha1すると合った。patch-aeだけが合ってなかった。
/usr/pkgsrc/net/pppd:# grep patch-ae distinfo | awk '{print $4}' 9e45283b07dac0d3422b25ea80b4ebe0c18a10b7 /usr/pkgsrc/net/pppd:# sed "1{/./d}" patches/patch-ae | sha1sum | awk '{print $1}' e21e7dbcbcc3dee08de92f4466c8e8fb3c1c1da3
Netで確認すると、既に更新されているようだった。早い。
RIPEMD-160アルゴリズムに基づいたハッシュ関数...らしい。
FreeBSD-6.4にはある(man はsha1とかと一緒くた)が、
GNU-Coreutils-6.12には含まれていない。
オプション無しでbootstrapしたpkgsrcでも作られないようだ。
ツッコミを受けて、これも確認。
/usr/pkgsrc/net/pppd:# grep RMD distinfo RMD160 (ppp-2.4.3.tar.gz) = 845821496bacb07d93bb7572a171854853ef722b /usr/pkgsrc/net/pppd:# digest rmd160 ../../distfiles/ppp-2.4.3.tar.gz RMD160 (../../distfiles/ppp-2.4.3.tar.gz) = 845821496bacb07d93bb7572a171854853ef722b
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。
hash値は NetBSD RCS ID ($NetBSD ...$)を抜いて計算します(そんこは commit すると変わってしまうので)。<br><br>値があってないのはおかしいので、commit した人に聞いてみます。
rmd160は pkgsrc では何かbuildすると漏れなくインストールされる pkgtools/digest に含まれる、digest(1) コマンドで計算できます。
ツッコミおよび対応ありがとうございます_o_