こんにちは。岩手県立大学アドベントカレンダー24日目の記事です。
僕の友人が記事を書いていたので、書きたくなって勝手に登録しました。
はじめに
OSSの活動ってなんとなくハードル高い気がしませんか?
僕自身、OSSってのはスーパーエンジニアのやることで、僕には関係ないことだと思っていました。
でも、実はそんなことないです。まずはやること、やろうとすることが重要なんです。
やったこと
mizzy/specinfraはコマンド生成のFrameworkです。その中でも Darwin のパッケージ管理ツールである、 brew の uninstall コマンドを追加しました。
追加するまでの経緯はいたって単純で、itamae-kitchen/itamaeを使ってサーバの構成管理をしていたときです。サンプルとして作成した レシピ をローカルで実行してみたときにインストールされたパッケージを レシピ を変更してアンインストールしようとしたときに、エラーでパッケージをアンインストールできませんでした。試しに、サーバ上で実行してみたら問題なくインストールもアンインストールもできました。エラーメッセージから、どうやら Darwin のパッケージ管理ツールの remove メソッドが無いよって感じでした。
で、いろいろ原因調査してたら itamae じゃなくて、パッケージのコマンド自体は specinfra を使って作成されていることがわかりました。
実際に specinfra がどのようにコマンドを生成しているのかをみてみると結構単純でしたので、他の remove メソッドを参考に Darwin ようの remove メソッドを作成して PR 送ってみました。
テスト落ちているけど、いくつかフィードバッグをいただいた後に Merged されました :)
おわりに
この PR では本当大した変更はしていないけれどマージされたし、OSS活動できたと言えると思います。こういう小さいことからコツコツやっていくことは重要だと思います。バグを見つけたとき、ググッて解決してあ〜良かったとか思っているときがチャンスです!もしかしたらそれはバグかもしれませんよ。