Build Service/CLI

移動先: 案内, 検索

openSUSE Build Service コマンドラインツールは現在 2 種類あります。一つは Perl で、もう一つは Python で実装されています。どちらのパッケージも、自分のコードが使うライブラリも提供しています。http://software.opensuse.org/download/openSUSE:/Tools/ にさまざまなディストリビューション向けのパッケージ(SUSE Linux、Fedora、Mandriva、Debian)があります。

osc / python コマンドライン・クライアント

Python クライアントは、最初に使用する際にあなたの証明書を求め、それを ~/.oscrc に保存します。(ですが、.netrc もあれば使われます。)

以下はいくつかの例です:

コマンドの使用方法を表示させる

osc help
osc help <cmd>

サーバ上に存在している内容をリストする

osc ls                          # プロジェクトの一覧を表示
osc ls Apache                   # プロジェクト内のパッケージの一覧を表示
osc ls Apache subversion        # プロジェクトのパッケージ内のファイルの一覧を表示

内容物をチェックアウトする

osc co Apache                   # プロジェクト全体
osc co Apache subversion        # あるパッケージ
osc co Apache subversion foo    # 一つのファイルのみ

作業ディレクトリをアップデートする

osc up
osc up <directory>
osc up *                        # プロジェクトのディレクトリ内からすべてのパッケージをアップデートする
osc up                          # プロジェクトのディレクトリ内からすべてのパッケージをアップデートし、
                                  "かつ"、新たに加えられたパッケージをすべてチェックアウトする

変更した内容をアップロードする

osc ci                          # current dir
osc ci <file1> <file2>          # only specific files
osc ci <dir1> <dir2> ...        # multiple packages

(どのファイルローカルで変更したかの)状態を表示する

osc st
osc st <directory>

更新が自動的にマージされない場合、ファイルは「C」(conflict) の状態にあり、 コンフリクトは特別な <<<<<<< and >>>>>>> という行でマークされます。 問題を手で直した後、以下のコマンドを実行してください

osc resolved <file>

次回の「チェックイン」時にファイルに追加や削除のマークをつける

osc add foo
osc rm foo

ローカルにある新規ファイルをすべて追加し、なくなったファイルをすべて削除する

osc addremove

変更点を見るために、diff を生成する

osc diff [file]

パッケージのビルド結果を表示する

osc results
osc results <platform>

パッケージのログファイルを表示する(パッケージのディレクトリ内にいる必要があります)

osc log <platform> <arch>

Yum/YaST/smart のためのパッケージ・ソースから .repo ファイルの URL を表示する

osc repourls [dir]

パッケージを全リポジトリ/アーキテクチャに対してリビルドするよう指示する(triggers)

osc rebuildpac [dir]

自分のローカル・プラットフォーム上でパッケージをビルドする

osc build <platform> <arch> <specfile> [--clean|--noinit]

自分のローカル・プラットフォーム上で、特定のディストリビューションに対してパッケージをビルドする

BUILD_DIST=... osc build <specfile> [--clean|--noinit]

BUILD_DIST のところは「=<platform>-<arch>」としてください

設定されたプラットフォーム/ビルドターゲットを表示する

osc platforms [project]

メタ情報を表示する

osc meta <project>
osc meta <project> <package>
osc id <username>

メタ情報を編集する。まだ作っていないなら、新しいパッケージ/プロジェクトを作成してください。メタ情報は生の XML メタデータでエディタを開きます。よく分からなければ、代わりに web クライアントを使ってください。

osc editmeta <project>
osc editmeta <project> <package>

spec ファイルのメタデータでパッケージのメタデータをアップデートする

osc updatepacmetafromspec <dir>

The Perl クライアント 'opensuse-commandline'

Perl クライアント('opensuse-commandline' と名づけられています)は現在メンテされていません。上述の 'osc' を使ってください。

Perl クライアントは、以下のような ~/.netrc ファイルを作って自分のアカウントとパスワードを設定する必要があります:

 machine api.opensuse.org login $login password $pass

$login と $pass は自分のログイン名とパスワードに置き換える必要があります。