2011年12月09日

MacPorts コミッタになるには #MACDEVJP2011 09

2011年のMac Dev JPのAdvent Calendarの9日目として、記事を書きます。

前回に引き続き、MacPorts の話です。最近は Homebrew も気になるところですが、相変わらず MacPorts を使い続けています(個人的な好みの問題ですが)。

さて、Portfile が書けるようになってくると、それを配布したくなってくると思います。さらに、どうせなら本家にコミットしたいと思うかもしれません。そんなわけで、今回は MacPorts コミッタになる方法について述べます。

= MacPorts-JP の利用

いきなり本家に行くのが不安に感じたら、まずは MacPorts-JP を利用するのが良いと思います。

独自の PrivatePorts があり、ここに自作の Portfile をコミットしたりできます。コミットするには、sourceforge.jp のアカウントを取得してプロジェクトに参加すれば OK です。リポジトリは本家と同様に subversion で管理されています。

分からないことがあれば、日本語で相談することもできます。メンバには本家へのコミット権を持つ人も複数参加しています。

= 本家 Trac の利用

MacPorts 本家に Portfile を取り込んでほしくなったら、いきなりコミット権をもらおうと考えるのではなく、まずは Trac に提出しましょう。Trac に提出した内容に問題がなければ、コミット権を持つ誰かが代わりにコミットしてくれます。

Trac チケットの書き方は MacPorts Guide に書いてあるので、一度見ておくと良いと思います。英語で書く必要がありますが、簡単な英語で十分なので(Portfile を書けるくらいの人なら)そんなに難しくないと思います。

ポイントは Summary をちゃんと書くことでしょう。Summary が分からないと、相手にしてもらえないかもしれません。Guide に書いてあるように、「port名 バージョン 説明」の形式で書いておきましょう。Summary で足りない内容は Description に書きます。まあ、あまりくどくど詳細を書く必要はないと思います。新規 port なのか既存 port の修正なのかくらいは分かるようにしたほうがいいでしょう。

Type の欄は、新規の port の場合は submission にします。既存の port を更新する場合は、バージョンアップ対応なら update、機能拡張なら enhancement、バグ修正なら defect にします。ただ、迷うようなら厳密に考えずにフィーリングで良いと思います。大事なのはメンテナに意図が伝わるかどうかです。簡単なコミュニケーションができればOKです。

なお、port を継続的に更新するつもりがあるなら、Portfile の maintainers を自分のメールアドレスにします(正確には、メールアドレスが name@example.com であれば example.com:name という形式で書きます)。一時的に提出しただけで今後の更新はほかの人にまかせたい場合は、maintainers を nomaintainer にします。nomaintainer の場合、誰かが更新したりメンテナになってくれるかもしれませんし、そのまま放置されるかもしれません。

= コミット権のリクエスト

Trac で何度かやりとりして、そろそろ自分でコミットしたい、と思ったら、コミット権をリクエストしましょう。あまり貢献していない人がいきなりコミット権を要求しても許可されないかもしれませんが、まあ Trac で数件のチケットを出したことがある人なら大丈夫なんじゃないかと思います。

リクエストの方法はやはり MacPorts Guide に書いてあります。なぜコミット権が欲しいのか理由を伝える必要がありますが、具体的にメンテナンスしたい port の名前を挙げれば良いでしょう。

なお、コミット権はすぐにもらえるわけではなく、時間がかかります。開発者の皆さんは忙しいのでしょうから、気長に待ちましょう。私の場合はなんと2ヶ月もかかりました。(今はもう少し早くなっているのかなあ?)

= コミッタになったら

一度コミット権をもらってしまえば、その後は本家の subversion リポジトリに直接コミットできます。ちなみに、コミット内容はしっかりチェックされていて、変なコミットをするとすかさず指摘メールが飛んできます。さらにそのメールは開発者向けのメーリングリストに流れるので、みんなのさらしものになります。私もなりました(笑)。まあ、それがオープンソースのコミュニティってものでしょうね。

= まとめ

MacPorts コミッタになる方法について書きました。

Mac Dev JP Advent Calendar の明日の予定はまだ埋まっていないみたいです。ぜひ参加してみてください。
posted by usami-k at 12:28| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2011年12月03日

MacPorts の Portfile を書く際の Tips #MACDEVJP2011 03

2011年のMac Dev JPのAdvent Calendarの3日目として、記事を書きます。

Mac に UNIX ツールを導入するパッケージシステムのひとつ、MacPorts の話をします。といっても、使い方ではなく、自分で Portfile を書く話です。

MacPorts では(今のところ)バイナリパッケージは提供されておらず、各自のマシンでビルドする仕組みになっています。このビルド手順を記述してあるファイルが Portfile です。

Portfile の例として、私がメンテナンスしている port を挙げておきます。


MacPorts にはたくさんの port が存在しますが、そこにないものが欲しいと思うかもしれません。あるいは、既存の port に満足できずにカスタマイズしたいと思うかもしれません。そんなときに、自分で Portfile を書くことができます。

Portfile の書き方は、MacPorts-JP にある「Portfile の作り方」を読みましょう。以上。

・・・としてもいいんですが、いくつか便利な Tips を挙げてみます。

Tips : Ports tree を用意せずに Portfile を書く

きちんとやるなら Ports tree を用意して macports.conf に追加するのが良いかもしれません。ただ、とりあえず試してみるという程度なら、わざわざ Ports tree を用意する必要はないのです。

適当なフォルダを作って、そこに Portfile を置くだけ。port コマンドを実行するときは、そのフォルダに移動してからコマンドを実行します。このとき、パッケージ名は省略するのがポイント。port install hoge とするかわりに、単に次のように実行します。

port install

port コマンドでパッケージ名を省略すると、カレントディレクトリの Portfile を参照します。

Tips : チェックサムを簡単に計算する

Portfile に記述するチェックサムは、次のようにすれば簡単に出力できます。

port -v checksum

checksum コマンドは、ビルドフェーズのうちチェックサム照合までを行なっています。この際に -v オプションをつけておけば、チェックサムの計算値が出力されます。md5、sha1、rmd160 をすべて出力してくれるうえ、出力結果は Portfile にそのままコピー&ペーストできます。

Tips : configure オプションを変更する

自前で Portfile を作る場合、そのままビルドするのでなく多少自分でいじりたいことが多いと思います。例えば簡単なところで configure オプションを変更したい場合、Portfile に次のように記述します。

configure.args [オプション]

また、そもそも configure スクリプトを使わない場合は、次のように記述します。

use_configure no

Tips : livecheck

自分で Portfile を書いた場合、バージョンアップの面倒は自分でみなければなりません。このとき、いちいち自分で Web サイトをチェックするのは面倒です。そこで、livecheck の仕組みを活用します。

port livecheck というコマンドがあり、upstream のバージョンが上がっているか確認することができます。これを有効にするには、Portfile に次のような記述を追加します。

livecheck.regex ${name}-(\[a-z0-9.\]+)${extract.suffix}

正規表現でグループ化してある部分がバージョンとみなされます。内容は配布ファイル名にあわせてください。配布元が sourceforge だとこれだけで OK ですが、そうでない場合は type の指定が必要です。たとえば、Web ページ上から正規表現で検索するには次のような type を指定します。

livecheck.type regex

さらなる情報源

日本語による情報交換の場として、MacPorts-JP があります。


MacPorts 本家には、以下のような情報があります(英語)。

  • MacPorts Guide の Portfile Development のセクションにひと通りのことが書いてあります。

  • MacPorts Wiki の MacPorts Development のセクションにはいろいろな Tips があります。




Mac Dev JP advent calendar の明日の当番は、MacRuby の watson さんです。よろしくお願いします。
posted by usami-k at 10:41| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2011年05月24日

CotEditor 1.2 をリリースしました

CotEditor 1.2 をリリースしました。

CotEditor - SourceForge.JP

変更内容は以下のとおりです。
<新機能>
* 自動アップデート機能を追加
<追加/修正/変更>
* アプリケーションのアイコンを変更(kanai さんに感謝!)
* 「ScriptMenu フォルダについて」のドキュメントを更新
<バグフィックス>
* 自動インデントでタブが無視されていた不具合を修正
* 10.6において、スクリプトメニュー上のOption+クリックでAppleScriptエディタが開かなかったのを修正


自動インデントのバグについては、多くの方からご指摘いただきました。対応が少々遅くなりましたが、ご報告いただきありがとうございました。

また、アプリケーションアイコンを先日紹介したアイコンに変更しました(今回のリリースにあわせて微修正されています)。これまでのアイコンにも愛着がありましたが、512x512 サイズのアイコンがないのはちょっと気になっていましたし、心機一転ということで。

それと、自動アップデート機能を追加しました(次回リリース以降、自動アップデートが可能なはずです)。これは、Mac App Store に対応すればいらないかな、と思って見送っていた機能です。しかし、前回リリース時の気づきとして、Mac OS X 10.4 や 10.5 のユーザさんが意外と多いんだな、と感じました。つまり Mac App Store が使えないユーザが結構多いということで、それなら自動アップデート機能を組み込もう、と考えました。

何かあれば、お気軽にご連絡ください。
posted by usami-k at 07:36| Comment(4) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。