• Like
  • Save
etckeeperをopenSUSEの公式リポジトリに入れたいぞ!
Upcoming SlideShare
Loading in...5
×
 

etckeeperをopenSUSEの公式リポジトリに入れたいぞ!

on

  • 215 views

The record that I was active to put etckeeper in openSUSE.

The record that I was active to put etckeeper in openSUSE.
I lectured in http://lilo.doorkeeper.jp/events/13874 .

Statistics

Views

Total Views
215
Views on SlideShare
214
Embed Views
1

Actions

Likes
0
Downloads
1
Comments
0

1 Embed 1

https://twitter.com 1

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Netでは135を名乗っています。 <br /> 現在、職についていません。暇だけが資本です。 <br /> 有意性は切れていますがTOEIC355点ということで英語は全然できません。 <br />

etckeeperをopenSUSEの公式リポジトリに入れたいぞ! etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Presentation Transcript

  • etckeeper を openSUSE の公式リポ ジトリに入れたいぞ ! @ItSANgo
  • Who am I ● @ItSANgo ● http://d.hanena.ne.jp/Itisango/ ● http://mixi.jp/show_profile.pl?id=789759 ● http://www.facebook.com/profile.php?id=100005833 ● TOEIC 355 点 ( 有意性切れてます ) ● 英語は話せない ( はず )
  • 何を話すか ● etckeeper について ● 6 月から今日までに起こったことをかいつまん で ● というか、資料作るの間に合わんかった !
  • etckeeper って何 ● Joey Hess が書いたユーティリティ ● http://joeyh.name/code/etckeeper/ ● /etc の下を (git など )VCS で管理 ● /etc をいじったら、手動で起動 ● cron で自動起動 ● YUM/APT と連携、自動起動 ● おかしくなったら旧バージョンと見比べてトラブルシュー ト ● @_hito_ さんもおすすめ ● http://www.amazon.co.jp/dp/4048866877 ● Debian/Ubuntu/Fedora で公式リポジトリに入っている
  • でも ● openSUSE の公式リポジトリにはない ● 非公式 (utilities) リポジトリにはある。 ● いちいち非公式リポジトリから取ってくるのも 面倒 ? ● なら、公式リポジトリに入れてもらえるようお 願いすればいいんじゃね ?
  • お願いするにはどうすればいいの ● Debian の RFP(Request For Package) みたい なのあるのかな ? ● とりあえず日本語 ML で訊いてみた ● http://lists.opensuse.org/opensuse-ja/2014-06/msg0003 ● 回答 : http://lists.opensuse.org/opensuse-ja/2014-06/msg0003
  • openFATE という方法と opensuse- factory ML があるらしい ● openFATE (https://features.opensuse.org/) ● package リクエストの投票システムのようなもの ● あまり機能していないらしい ● openSUSE Factory (http://ja.opensuse.org/Factory_Distribution) ● 要するに開発版 ● opensuse-factory ML ● openSUSE Factory について議論する ML
  • opensuse-factory ML に投げてみた ● http://lists.opensuse.org/opensuse-factory/2014-06/
  • 速攻で返事が返ってくる ● http://lists.opensuse.org/opensuse-factory/2014-06/ Greg Freemyer
  • 超訳 ( 注 : TOEIC 355 点 ) ● 君の文章は、誰か人に頼んでいる文体だけ ど、 openSUSE はコミュニティなんだよ。 ● 自分でやれ ! 言い出しっぺの法則 !!!
  • 何から始めればいいか ? ● とりあえずそれも、教えて君になって訊いてみ る。 ● http://lists.opensuse.org/opensuse-factory/2014- 06/msg00071.html – openSUSE Build Service のアカウントを取る。 ( 取得済み ) – パッケージに対して role( 役割 : メンテナ・バグオーナ ) を申請する。 ● 今回は bug owner を申請した。 ● パッケージに bug があったら連絡が来る ( 損な役回り ?) – パッケージを Factory へ submitrequest する。
  • イメージ ● 第 1 回 Open Build Service 道場 (P.17 参照 ) ● http://www.slideshare.net/ftake/1-open-build-service
  • 速攻で decline されました orz ● 機械的に decline の判断が下りました。 ● どうも spec ファイルが悪いらしい。 ● utilities の etckeeper の version も 1.7 と古い。 ● ( 当時 ) 最新は etckeeper-1.12 ● なら、最新版に更新するか…
  • そして初めてソースを見ました ● etckeeper はシェルスクリプト ( 他 ) の塊 ● 一つのスクリプトは 100 行程度、小さい。 ● etckeeper メインスクリプトがサブのスクリプトを呼び出 す。 – 全部で 133 ファイル ( ディレクトリ含む ) ● サブスクリプトがメインスクリプトを再帰的に呼び出して たり…。 ● そこそこ複雑。 ● 意外な発見あり ● 対応していないと思っていた機能があったり
  • 対応していないと思っていた機能が ● Debian(Ubuntu)/Fedora では APT/YUM を実行 した後、 etckeeper が自動起動する。 ● openSUSE では ZYpp を起動しても etckeeper はスルー ● 仕様 ( 未対応 ) かと思っていたけど
  • あった ● ls したら ● zypper-etckeeper.py – あるやん ! (2012 年から ) – 今まで動いてなかっただけやん ! ● bug でした。 ● スクリプトに実行権限がついていませんでした。 ● 実行権限をつけると動く。 – けど、まだなんかおかしい。 ● upstream に pullrequest ● 速攻で update されました w
  • ここでいきなり etckeeper の使い方 ● Usage: etckeeper [subcommand] [args...] ● eg. etckeeper commit ● /etc/etckeeper/[subcommand].d/ ディレクトリ 配下のスクリプトを順番に実行する。
  • じゃあ、こんなことをしてみたら ● etckeeper ../init restart ● デーモンを再起動しようとする w ● 変じゃね ? ● とりあえず、 [subcommand] に「 ../ 」が入っ ていないかチェックする処理を入れました。 ● pullrequest しました。 ● https://github.com/joeyh/etckeeper/pull/14
  • するとある方からご意見が ● 超訳 ( 注 : TOEIC355 点 ) ● etckeeper のバグではなく、使い方の問題だろう。 ● 「 ../ 」を禁止すべきではない。 ● 裏ワザだって技だ ! それが UNIX だ ! alerque まさかの宗教戦争勃発か ?!
  • いきなりの緊張緩和 w ● あっさり修正されました。 ● pullrequest したコードよりもより厳しいチェッ クが入りました。 ● egrep '[^-a-z_]'
  • その後様々な修正が pullrequest さ れるのであった ● その一部 ● https://github.com/joeyh/etckeeper/pull/12 (decline) ● https://github.com/joeyh/etckeeper/pull/14 (merged) ● https://github.com/joeyh/etckeeper/pull/15 (merged) (rpmlint) ● https://github.com/joeyh/etckeeper/pull/16 (merged) (rpmlint) ● https://github.com/joeyh/etckeeper/pull/17 (pending) ● https://github.com/joeyh/etckeeper/pull/18 (pending) ● 小さな変更は merge されるけど、大きな変更は pending に なってしまう。 ● merge するとも decline とも伝えてくれない。 ● mail には答えてもらえない。
  • ZYpp プラグインが遅い ● 先述の実行権限をつけることで plugin は動き出した。 ● でも遅い。 ● zypper が 30 秒でタイムアウトを起こす。 ● 調べてみた ● etckeeper は APT/YUM/ZYpp の動作前後でパッケージのリストを取得す る。 (rpm -qa を前後 2 回 ) – 差分を取って追加・削除されたパッケージを VCS の log に残す。 – これが遅い、 30 秒以上かかる。 ● パッケージリストを log に残さない設定ができるように patch を書いた (pull/17) ● upstream には取り込まれず (pending) ● ひょっとすると openSUSE の rpm の bug かも ( 未調査 )
  • ZYpp だけでなく YUM にも対応し たい ● openSUSE は ZYpp だけではなく YUM にも一 応対応している。 ● でも etckeeper は 2 つの packagemanager の混 在を想定していない。 ● 修正を書いた (pull/18) ● でも ( 変更が大きすぎて )upstream には取り込 まれず。
  • どうにか完成 ● 2014 年 08 月 16 日 ( つまり昨日 ) utilities に submitrequest ● 2014 年 08 月 17 日 ( 今日 ) ● utilities は accept – 変更は utilities プロジェクトに取り込まれました。 ● 2014 年 08 月 17 日 ● Factory へ submitrequest ● 現在審査中
  • ところで Joey Hess ってどんな人 ? ● http://joeyh.name/code/ ● なんと debhelper もこの人の作 ● 多分お忙しいんですよね ● dis ってごめんなさい
  • 所感 ● 言い出しっぺの法則こわい w ● 英語が解らなくても何とかなる。 ● 思ったよりいけてない ! ● 意外と泥臭い FLOSS の世界 ● 逆に考えるんだ ! ● 活躍の場はかえって大きいと言えるんじゃね ? ● お気に入りのソフトを見つけてソースを追っか けてみるといいよ。 !
  • 最後に ● ソースは友達 !