Slackwareこんにちは。今回のテーマは『SlackBuilds.orgにSlackBuildスクリプトを投稿する』です。コミュニティによって支えられているLinuxディストリビューションは沢山あります。当ブログの読者の方の中には「コミュニティへの貢献を何かしたいけど、具体的に何をしたら良いか分からない」という方もいらっしゃるかも知れません。ユーザーリポジトリへの投稿という方法も一つの関わり方だと思います。今回はSlackwareの半公式リポジトリへの投稿です。【目次】ユーザーリポジトリに投稿してコミュニティへ貢献するSlackBuildファイルを書いてみる投稿するのに必要なファイル投稿時はtarballにまとめる作成したtarballを投稿しよう投稿時の注意事項ユーザーリポジトリに投稿してコミュニティへ貢献するLinuxディストリビューションのコミュニティに参加する方法は色々ありますが、割と手軽に行えるものの一つにビルドスクリプトの投稿があります。Linuxユーザーにとっての大きな財産となっています。Slackwareには半公式のSlackBuilds.orgというリポジトリがあり、公式リポジトリにはないパッケージのビルドスクリプトが日々投稿されています。今やSlackBuilds.orgの存在は公式パッケージの少ないSlackwareにとって、ほとんどディストリビューションの一部となっています。今回はこのSlackBuilds.orgへの投稿を記事にしようと思います。SlackBuilds.orgについてはコチラの記事をご覧ください。SlackBuildファイルを書いてみるSlackBuildファイルはビルド手順を書いたシェルスクリプトです。基本的には自分がビルドした手順に沿ってコマンドを書いていけば良いと思います。一般公開され、多くの人がSlackBuilds.orgのビルドスクリプトとしてsbopkgからも利用される観点から変数やパッケージをビルドする場所等はテンプレートに合わせて書くことが推奨されています。Guidlineを参照して下さい。投稿するのに必要なファイル投稿に際して必要最低限のファイルは以下のとおりです。<パッケージ名>.SlackBuild<パッケージ名>.infoslack-descREADME<パッケージ名>.SlackBuildメインとなるファイルです。ソースを展開してビルドしてパッケージを作成するまでの手順をシェルスクリプトで記述します。scriptに沿った形式で書くことを求めています。筆者が投稿したzinnia用のスクリプトzinnia.SlackBuildは記事に掲載するには長いのでリンクからご覧ください。<パッケージ名>.infoこのファイルはフォーマットが規定されています。フォーマットに従って記述しないと投稿時のチェックでエラーがでます。zinniaパッケージの例を示します。PRGNAM="zinnia"VERSION="0.06"HOMEPAGE="http://taku910.github.io/zinnia/index.html"DOWNLOAD="http://downloads.sourceforge.net/project/zinnia/zinnia/0.06/zinnia-0.06.tar.gz"MD5SUM="5ed6213e2b879465783087a0cf6d5fa0"DOWNLOAD_x86_64=""MD5SUM_x86_64=""REQUIRES=""MAINTAINER="Kuro_CODE25"EMAIL="kuro.code25@gmail.com"slack-descこのパッケージの説明を記載します。このファイルに記載された説明はpkgtoolやsbopkg等のツールで活用されます。このファイルもフォーマットが決まっていて、ハンドルーラーの中に収まるように記述します。zinnia向けに書いた例を示します。http://taku910.github.io/zinnia/index.htmlzinnia:zinnia:zinnia:zinnia:zinnia:READMEこのファイルに関しては特に説明はいらないかと思いますが、ここにはパッケージの説明や依存関係やオプション等、ビルドする上での注意事項などを記載しておきます。決まったフォーマットなどはなく自由に記載できます。投稿時はtarballにまとめるここまでで投稿するファイルは作成出来ました。あとはこれらのファイルをtarballにまとめて投稿するだけです。ファイル名やtarでまとめるディレクトリ名を間違えると投稿時にエラーとなります。パッケージ名をfooとすると以下のようにfooディレクトリ以下にファイルを格納します。foo/foo.SlackBuildfoo/foo.infofoo/slack-descfoo/README次にこのfooディレクトリを以下のようなコマンドでtarballにまとめます。foo/作成したtarballを投稿しようここまでくれば、ほぼ作業は終わりです。投稿はとても簡単です。http://slackbuilds.org/submit/にアクセスしましょう。tar.gzファイルをアップロードしてカテゴリーを選択肢ます。パッケージを探す際のキーワードをカンマで区切って入力します。最後に投稿者のEメールを記載します。運営側に連絡事項がある場合はメッセージ欄に記載できますが、空欄でも構いません。準備が整ったら”Submit”ボタンを押してファイルをアップロードします。エラーなくアップロードが完了すると審査待ちの状態になりhttp://slackbuilds.org/pending/にリストアップされます。スクリプトに問題がある場合はメールに運営側から連絡があると思います。投稿時の注意事項ライセンスはとても重要SlackBuilds.orgに投稿する場合にはライセンスはとても重要です。オープンソースかつ修正と再配布が許可されたライセンスでないと拒否されます。そのためBSDライセンスやMITライセンスが推奨されています。多くの場合ライセンスはSlackBuildファイルに記載します。LinuxのAURなども同じですが、ビルド用のスクリプトを投稿する場なのでソースファイルやバイナリファイルを含めるとリジェクトされます。最後にSlackBuilds.orgのパッケージ数はAURに比べるとまだまだ少ないです。他のディストリビューションでは当たり前に公式パッケージになっているものが意外に足りなかったりします。それだけ多くのビルドスクリプトを投稿する機会があるということでもあります。コメントをキャンセルメールアドレスが公開されることはありません。10をインストールするタイル型ウィンドウマネージャXmonadを使う(カスタム編)→もっと見るクロのプロフィール映画と読書愛するプログラマー。Androidな人だったけど気がついたらサーバーサイドへ。Dataを主宰しています。