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