Homebrew にプルリクエスト送って取り込まれたのでメモ

といっても取り込まれたのは先週の金曜のことですが・・・w

人生で初めてOSSに貢献することが出来ました。
該当のプルリクエストはこちらです。

https://github.com/Homebrew/homebrew/pull/41291

何やったの?

Terraform のバージョンアップです。

皆さん使ってますか? Terraform
最近注目を集め始めてますね

きっかけは?

今やっているお仕事のプロジェクトでTerraformを使うことになったので、
触っていますが出て間もないプロダクトなのでリソースちょっと定義して使おうとしても
何かとバグに当たることが多いです。。

↑のスライドを見るとうんうんと頷きたくなりますw

人気になってきていることもあり
バグレポート共に修正もがしがし行われているので
ちょこちょこバージョンアップしています。

そんな可愛いくてお茶目なTerraform0.6.0が6/30にリリースされました。
プロジェクトで書いたコードで丁度困っていた部分が修正されたこともあり、
Homebrewで数日のうちに振ってきてくれるかなぁと待ってみた物の上がる様子がなかったので
「じゃあやってみよう」という気持ちが深夜のテンションでわいてきました。

背中を押してくれた物

とりあえず過去のプルリクエストを漁ってみました。

https://github.com/Homebrew/homebrew/pulls?q=is%3Apr+Terraform+is%3Aclosed

その中にあった以下のプルリクエストのリンクにあったイシューの一文をみて「よしやろう」という気持ちに変わり手が動き出しました。

Could you try and open a pull request? This document should be helpful. Thanks!

もの凄く簡単に意訳すると

「プルリクエスト作ってみてくれないかな?手順とかはこのドキュメントを見ればいいから!」

ということで・・・

早速以下のドキュメントを参考にしながら手元でformulaの編集&インストールをトライを繰り返して問題なくなったのでプルリクエストを送りました。

https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/How-To-Open-a-Homebrew-Pull-Request-(and-get-it-merged).md#how-to-open-a-homebrew-pull-request-and-get-it-merged

英語に自信がなかったのと、依存関係のあるコミットハッシュの変更・追加で済んだので説明には何も書かずに出してみました。(過去のプルリクエストをさかのぼったら比較的何も書かない人も多かったというのもある)
手元でさんざん試した後だったのでそのままマージされるのかなと思いきやしばらく返答なく・・・

でよくよく探してみると、
bot.brew.sh でJenkins氏によるテストを行っている物の、
プルリクエストを送った時は死んでしまっていたためにテストが行われていない状況でした。
半日ほどしてJenkins氏が復旧して溜まっていたビルドが終わるとすんなりマージしてもらえました。

まとめ

コントリビューションガイドがすごくまとまっていてたのもあって
すごく作業がやりやすかったです。

しばらくTerraformとの戦いは続きそうなので
引き続きリリースしたらプルリクエスト投げるようにしたいと思います。

ではでは〜

MacBook Airを修理に出して無事返ってきたよ

お題の通りです。
少し前にMacBook Pro 13inch(2015 early)を買ったよという記事を書きました。
Proを買うことになったきっかけにもなったことですが、
ようやく、MacBook Airを修理に出せて戻ってきたのでまとめたいと思います。

Continue reading

Macでlzhな圧縮ファイルを解凍する

とある書籍のサンプルコードの解凍をしようと思ったらlzh形式だったのでメモ

GUIを使うとき

The Unarchiver – Dag Agren」がいい模様

CUIを使うとき

lhaコマンドを利用する模様

$ brew install lha
==> Downloading http://dl.osdn.jp/lha/22231/lha-1.14i-ac20050924p1.tar.gz
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/lha/1.14i-ac20050924p1 --mandir=/usr/local/Cellar/lha/1.14i-ac20050924p1/share/man
==> make install
🍺 /usr/local/Cellar/lha/1.14i-ac20050924p1: 4 files, 148K, built in 21 seconds
$ lha --help
LHarc for UNIX V 1.02 Copyright(C) 1989 Y.Tagawa
LHx for MSDOS V C2.01 Copyright(C) 1990 H.Yoshizaki
LHx(arc) for OSK V 2.01 Modified 1990 Momozou
LHa for UNIX V 1.00 Copyright(C) 1992 Masaru Oki
LHa for UNIX V 1.14 Modified 1995 Nobutaka Watazaki
LHa for UNIX V 1.14i Modified 2000 Tsugio Okamoto
Autoconfiscated 2001-2005 Koji Arai
usage: lha [-][] [- ...] archive_file [file...]
commands: [axelvudmcpt]
options: [q[012]vnfto[567]dizg012e[w=
<dir>|x= ]]
long options: --system-kanji-code={euc,sjis,utf8,cap}
--archive-kanji-code={euc,sjis,utf8,cap}
--extract-broken-archive
--help
--version
commands: options:
a Add(or replace) to archive q{num} quiet (num:quiet mode)
x,e EXtract from archive v verbose
l,v List / Verbose List n not execute
u Update newer files to archive f force (over write at extract)
d Delete from archive t FILES are TEXT file
m Move to archive (means 'ad') o[567] compression method (a/u/c)
c re-Construct new archive d delete FILES after (a/u/c)
p Print to STDOUT from archive i ignore directory path (x/e)
t Test file CRC in archive z files not compress (a/u/c)
g Generic format (for compatibility)
or not convert case when extracting
0/1/2 header level (a/u/c)
e TEXT code convert from/to EUC
w=<dir>specify extract directory (x/e)
x= eXclude files (a/u/c)
``````
$ lha e <解凍したいファイル>

Windowsの時はLhaplusとかUniversal Extractorとか使ってたけど、
MacになってからLZH形式扱うことがなかったので調べる良いきっかけになりました

ではでは〜