etckeeperについて皆さんに相談です。 upstreamにいくつかpullrequestを送付し、 そのうち小さな修正は取り込まれました。 しかし、以下の2つが大きな変更が取り込まれず pendingになっています。 仕様を大きく変更してしまうので、 おそらくupstreamには取り込まれないでしょう。 これらの変更をopenSUSE独自のpatchとして 適応するか否かの判断に迷っています。 etckeeperは割としょっちゅうソースが更新されているので パッチを当てると、後々メンテが面倒になりそうです。 1. ZYpp pluginのタイムアウトに対するパッチ zypperやYaST 1 click installなど、ZYppが動作すると、 etckeeperはプラグインを通じて自動的に起動します。 そして更新前・更新後の/etcの状態をVCSで管理しようとします。 しかしこの動作が遅いという問題が有ります。 30秒かかってpluginがtimeoutしてしまいます。 (インストール自体は成功します。) そして、timeoutした場合、etckeeperの自動commitは成功しません。 原因は解っています。 etckeeperはVCSのログにどのパッケージを追加・削除・変更したのかを 記録します。 この記録をするために、(アン)インストーラの起動前後で 合計2回rpm -qa | sortでパッケージ一覧を取得し、 その差分を取っています。 試しに私の環境で今rpm -qaしてみると24.255秒かかりました。 これを合計2回行うので30秒を超えてしまいZYppのpluginが timeoutします。 そこで、このログにパッケージの増減リストを取るのを諦めて、 rpm -qaをさせないことをconfファイルに定義できるpatchを書きました。 また、ZYppプラグインをサブパッケージにして、 アンインストール可能にしました。 ZYppによるetckeeperの自動commitを必要としない人は プラグインだけをアンインストールできます。 (が、etckeeperの魅力が半減します。) こちらはパッチではなく、サブパッケージなのでリリースします。 2. ZYpp, YUMの2つのパッケージマネージャーに対応するパッチ あまり知られていませんが、openSUSEは パッケージマネージャーとして、ZYppの他にYUMも使えます。 (使っている人がいるかどうかは判りませんが。) しかしetckeeperは複数のパッケージマネージャーを使う ディストリビューションを想定していません。 そこで複数のパッケージマネージャーに対応するパッチを 書いたのですが、仕様変更が大きく、 upstreamに取り込まれていません。 これらのパッチを入れた状態でリリースすべきでしょうか? それとも独自仕様は入れない方が良いでしょうか? 「1.」は機能的に不便なのでパッチを当ててもいいかなと 思うのですが、後々メンテを考えると入れてしまっていいのか どうか悩みます。 「2.」はYUMを使っている人がいるか否か判らないので、 あてないでいいかなと思っています。 皆さんのご意見を聞かせてください。 パッチを当てていない(どのディストリビューションよりも)新しい etckeeperは https://build.opensuse.org/package/show/home:Mitsutoshi:branches:utilities/e... にあります。 2014年7月13日 23:12 1xx <itsango@gmail.com>:
2014年7月13日 16:15 1xx <itsango@gmail.com>:
test仕様書: https://docs.google.com/spreadsheets/d/1kmtjqvCnqNMmuFHRLh0-xh1iBdjhxnvKoYgR...
-- 1xx <ItSANgo@gmail.com> <https://twitter.com/ItSANgo> <http://d.hatena.ne.jp/Itisango/> -- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-ja+owner@opensuse.org