Let’s Bloom! – ROSパッケージをリリースしよう

著者:Ryosuke Tajima

Let’s Bloom! – ROSパッケージをリリースしよう

パッケージビルド,してますか?

ROSはオープンソースのプロジェクトですが,実はソースコードから使っている人はほとんどおらず,皆さんapt install してバイナパッケージをインストールしているのではと思います.先日のROSについてのアンケートでも,パッケージをコードからビルドしているという人の割合は12%ぐらいでした.

このバイナリパッケージ,誰でも自分で作れて配布できることを知っていましたか?

パッケージはどこから来るの?

パッケージの作成と配布のしくみについては,以下のROS Wikiに説明があります.

この公開用ビルドファーム(Jenkinsサーバ)でビルドされます.

build.ros.orgの画面

眺めていると,たくさんのパッケージが次々とビルドされていきます.ほとんどのパッケージはビルド時にテストも実行されるようになっていて,パッケージが(ある程度)正しく動くことを確認しています.新しくパッケージをリリースしたり,バージョンアップした時にはもちろん,依存しているパッケージが更新された時にもビルドしなおされます.ROSパッケージは他のパッケージに依存していることが多いので,他のパッケージが変更された時にもビルドが失敗することがあります.ビルドに失敗した場合にはパッケージメンテナにメールで通知され,解決にあたります.ROSのシステムは非常に大きいので,整合性を取るにはこのような仕組みが不可欠なのです.

ビルドされたパッケージはしばらくShadowレポジトリに置かれ,動作確認などに使われます.

1か月に1回ぐらい,Syncと呼ばれる操作でShadowレポジトリから公開用レポジトリにコピーされ,一般ユーザがaptで取得できるようになります.ROS DiscourseにSyncのお報せが定期的に投稿されるので,見たことがあるかも知れませんね.

リリースされたROSパッケージの状態は,このページを見るのが便利です.パッケージ名や状態で検索することが可能です.

bloom – リリースのためのツール

この仕組みに自分のパッケージを乗せ,バイナリパッケージをみんなに使ってもらうにはどうすれば良いのでしょうか? bloomというツールを使って,実は意外と簡単にできます.bloomの使い方は,ROS Wikiをご覧ください,

今回,bloomのROS Wikiのうち,必要最小限と思われるところを日本語訳してみました.よく読んで,ぜひパッケージのリリースやメンテナンスに挑戦してみてください.現在はとても少ないですが,日本からのROSパッケージの公開やROSメンテナーが増えて欲しいと願っています.

よく分からないことがある場合には,検索したり,ROS Answersで質問しましょう.一つ注意として,ROS Discourse本体は議論のための場なので,質問を投稿してはいけません.ただし,ROS DiscourseのJapan User Groupは例外的に何を投稿してもよいことになっており,そこで質問しても大丈夫です.日本語でOKです.

また,TORKではROSパッケージのリリースやメンテナンスの代行もお請けしています. ご興味のある方は,info [at] opensource-robotics.tokyo.jpまでご相談ください.

著者について

Ryosuke Tajima administrator