[opensuse-ja] [RFC]etckeeperにopenSUSE独自のpatchを当てるべきか? (was: test and review about etckeeper)
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
2014年7月13日 16:15 1xx
: test仕様書: https://docs.google.com/spreadsheets/d/1kmtjqvCnqNMmuFHRLh0-xh1iBdjhxnvKoYgR...
--
1xx
On Wed, Jul 30, 2014 at 07:32:54PM +0900, 1xx wrote:
2. ZYpp, YUMの2つのパッケージマネージャーに対応するパッチ
あまり知られていませんが、openSUSEは パッケージマネージャーとして、ZYppの他にYUMも使えます。 (使っている人がいるかどうかは判りませんが。) しかしetckeeperは複数のパッケージマネージャーを使う ディストリビューションを想定していません。
そこで複数のパッケージマネージャーに対応するパッチを 書いたのですが、仕様変更が大きく、 upstreamに取り込まれていません。
「2.」はYUMを使っている人がいるか否か判らないので、 あてないでいいかなと思っています。
私もそう思います。 openSUSEはzypper,Red Hat(CentOS)はyum という棲み分けでいいんじゃないかと。 ribbon -- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-ja+owner@opensuse.org
2014年7月30日 19:32 1xx
しかし、以下の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を使っている人がいるか否か判らないので、 あてないでいいかなと思っています。
私だったらbug reportを出すlevelだと思うので、悩んだ末
「1.」のパッチを当てることにしました。
「2.」についてはパッチを当てるのを見送ります。
現状の最新は
https://build.opensuse.org/package/show/home:Mitsutoshi:branches:utilities/e...
にあります。
テストを協力していただける方がいらっしゃれば幸いです。
今晩からテスト項目を考えます。
https://docs.google.com/spreadsheets/d/1kmtjqvCnqNMmuFHRLh0-xh1iBdjhxnvKoYgR...
--
1xx
2014年8月9日 18:34 1xx
2014年7月30日 19:32 1xx
: しかし、以下の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を使っている人がいるか否か判らないので、 あてないでいいかなと思っています。
私だったらbug reportを出すlevelだと思うので、悩んだ末 「1.」のパッチを当てることにしました。 「2.」についてはパッチを当てるのを見送ります。
現状の最新は https://build.opensuse.org/package/show/home:Mitsutoshi:branches:utilities/e... にあります。
昨晩の内にetckeeper 1.13がリリースされました。 http://ftp.de.debian.org/debian/pool/main/e/etckeeper/ 内容はGit版とほとんど変わらないようです。 こちらに差し替えた上で「1.」のパッチを当てた版をこれから作ります。
テストを協力していただける方がいらっしゃれば幸いです。
今晩からテスト項目を考えます。 https://docs.google.com/spreadsheets/d/1kmtjqvCnqNMmuFHRLh0-xh1iBdjhxnvKoYgR...
--
1xx
participants (2)
-
1xx
-
ribbon