lzma対応が今日のテーマ。
裏話。実は rpm 本体で対応するように書き換えていたのだが、 テストしたら動かなかった...
rpmの開発版 (hg で落としたところ version 4.4.90) では実装されていたので、まあいっか。
rpmに独自パッチ増やしても面倒なだけなので。
変な挙動をするといわれたので、 一応前あたっていたパッチをまた当てるようにした。 ちょっと自信はない。
adobe-reader は ATOKX と相性が悪いらしいので、 それを封じ込めるパッチである。
importした。
virtualboxが下請けとして使ってたため作ってあった。
virtualbox.spec は作っているが、 suseのカーネルにべたべたに依存してて作れなかったので 絶賛放置中。
%NoSource, %NoPatch 廃止のための改造。
Momongaではrpmで %NoSource, %NoPatch という独自マクロを定義して使っていた。
このマクロが spec 内で使用されていると、md5sum を比較してソースの正当性を確かめることができる。
書式はこんな感じ。
%NoSource ソース番号 ソース名 ソースのmd5sum値 %NoPatch パッチ番号 パッチ名 ソースのmd5sum値
マクロの内容を読みたい場合は Momonga の /usr/lib/rpm/macros.momonga を見てくれ。
「この機能は rpm ではなく、ビルドツール側で提供すべき」 という主張が出た。
主な理由としては
というのがある。
このリクエストに答えて nakaya さんにより OmoiKondara v2 に 実装されたのが、
パッケージ名/sources
という名前のファイルにchecksumとファイル名を 書いておいて比較する、というもの。
(ちなみに Fedora の ビルドツールである koji(工事ではなく麹システム)でも同じことやっている。)
hashアルゴリズムの選択は以下の流れ。
詳しい実装は、tools/v2/build.rb の 「# compare sha256sum」 部分を参照。
実効的には、md5sum/sha1sum でも問題ないとは思うが、 将来的にsha???sum に移行すると考えた場合、 どうしても全 sources ファイルの更新が発生するし、 SHA2を使うことで、3年くらいは時間稼ぎできたと思えば まあ充分ではないかと。