これは、Ubuntu Online、Fedora Online、Windowsオンラインエミュレータ、MAC OSオンラインエミュレータなど、複数の無料オンラインワークステーションのいずれかを使用して、OnWorks無料ホスティングプロバイダーで実行できるコマンドsvn-buildpackageです。
プログラム:
NAME
svn-buildpackage - SVN リポジトリから Debian パッケージをビルドする
SYNOPSIS
svn-buildpackage [[ OPTIONS...] [ OPTIONS の dpkg-ビルドパッケージ ]]
DESCRIPTION
SubversionリポジトリからDebianパッケージをビルドします。ソースコードリポジトリは
作成された形式で svn-注入このスクリプトは作業から実行する必要があります
ディレクトリ(trunk/パッケージ).
デフォルトでは、作業ディレクトリがメインソースディレクトリとして使用されます(
アップストリームソースがリポジトリに保存されている)。代替案はいわゆる「マージ」である。
この方法では、debianディレクトリ(およびおそらく他の変更されたファイル)のみが
リポジトリに保存されます。ビルド時に、SVNトランクの内容がコピーされます。
抽出したtarballの内容(一部は上書きされる可能性があります)を選択するには、
モデルを設定する SVN 財産 上流とマージ debianディレクトリ
$ svn propset mergeWithUpstream 1 debian
上流とマージ ビルドシステムがtarballを準備できることが必要です。通常は
make DIST およびautotools。すべてのアップストリームパッケージには、何らかの形式のtarball作成機能があります。
サポートと、autotoolsを使用するか内部tarballサポートを持つネイティブパッケージは
つかいます 上流とマージ パッケージのビルドに必要な生成されたファイルを処理するために
SVNには存在しません。これを行う方法の例については、HOWTOガイドを参照してください。ネイティブ
autotoolsを使用せず、内部tarballサポートのないパッケージでも追加できます。
生成されたファイルをソースパッケージのtarballに useNativeDist ターゲットを設定する
トップレベルのMakefile。このカスタムターゲットは冪等であり、
エクスポートされたSVNソースとビルド依存関係のみを使用して、必要なファイルを作成します。
svn-buildpackage 使用する make ネイティブディスト 最上位レベルのMakefileでターゲットを設定するには、
useNativeDist ./debian/ ディレクトリのプロパティ:
$ svn propset useNativeDist 1 debian
のデフォルトの動作 svn-buildpackage 次のとおりです。
作業ディレクトリをチェックし、コミットされていないファイルについて警告します( --svn-ignore-new)
必要に応じて、元のtarballをビルドエリアにコピーします( --svn-no-links)
tarballを(マージモードで)抽出するか、SVN作業ディレクトリをビルドにエクスポートします。
ディレクトリ(下記も参照) --svn-no-links)
で構築する dpkg-ビルドパッケージ (また、 --svn-ビルダー, --svn-lintianなど)
将来のバージョンの変更ログエントリを作成する
OPTIONS
svn-buildpackage コマンドラインで次のオプションを受け入れます。
--svn-builder=コマンド
代わりのビルドコマンドを指定する dpkg-ビルドパッケージ、例えば。 デビルド,
pdebuildなど。すべてのパラメータ svn-buildpackage 知らない(--svn-*)が渡される
〜へ COMMANDコマンドラインと設定ファイルのパラメータに違いはありません
これらは同時に使用されます。
警告: シェルの引用規則はここでは完全には適用されません。
複雑な構造。このオプションを使用すると、 --svn-lintian --svn-move
機能。カスタムビルドコマンドを使用すると、一部の機能が無効になる場合があります。
出力ファイルの場所が予測できないためです。
デフォルト: 使用 dpkg-ビルドパッケージ.
--svn-ignore-new | --svn-ignore
SVNの競合や新規/変更されたファイルで停止しない。この動作を単一の
ファイルは deb:無視M プロパティを1に設定します。
SVN ブックの svn:ignore プロパティ。
デフォルト: 競合または新規/変更されたファイルがあれば停止します。
--svn をクリーンしない
debian/rules をクリーンに実行しないでください。
デフォルト: 最初にクリーン
--svn-no-links
ファイル リンクは使用せず、作業ディレクトリをエクスポートするか、ハード コピーを作成してください。
これは、一部のファイル、空のディレクトリ、
壊れたリンクなどはデフォルトのリンクコピーモードでは転送できません。
デフォルト: 可能な場合はリンクを使用します。
--svn-dont-purge
ビルドが完了したらビルド ディレクトリを削除しないでください。
デフォルト: ビルドが成功した後に削除します。
--svn-再利用
可能であれば、既存のビルドディレクトリを以降のビルドで再利用します。ビルド
ディレクトリはビルド後に削除されず、ビルドの開始時に名前が変更されず、
ファイルはそのままコピーされます。 上流とマージ 大きなモード
パッケージ。
デフォルト: ビルド ディレクトリは削除されます。
--svn-rm-前のディレクトリ
以前のビルドディレクトリが見つかった場合は、名前を変更するのではなく、ビルド前に削除してください。
それ。もし --svn-再利用 も同じ行に指定すると、再利用動作が発生します。
デフォルト: 古いディレクトリの名前を '廃止された' サフィックス。
--svnエクスポート
作業ディレクトリをエクスポートし、必要なコードマージ操作を実行して終了します。
デフォルト: オフ。
--svnタグ
最終ビルド: タグ付け、エクスポート、クリーンなビルド、新しい変更ログ エントリの作成。
デフォルト: オフ。
--svnタグのみ | --svn-only-tag
パッケージをビルドせず、タグのコピーのみを実行します。
デフォルト: オフ。
--svn-retag
タグコピーを作成中に既存のターゲットディレクトリが見つかった場合は、
まずターゲットディレクトリを削除します。
デフォルト: オフ。
--svn-noautodch
新しい Debian 変更ログエントリは自動的には追加されません。
デフォルト: 新しい 未公開 変更ログエントリは次のように設定されます DCH.
--svn-lintian
完了したら、結果の変更ファイルに対して lintian を実行します。
デフォルト: オフ。
--svn-move
完了したら、作成されたファイル(.changesにリストされている)を親ディレクトリに移動します。
相対的に svn-buildpackage 始められた。
デフォルト: オフ。
--svn-move-to=...
生成されたファイルを移動するターゲット ディレクトリを指定します。
デフォルト: オフ (ファイルはビルド コマンドによって配置された場所に残されます)。
--svn-pkg=パッケージ名
検出されたパッケージ名を上書きします。設定が遅すぎる可能性があるため、注意して使用してください。
処理中(たとえば、シェル変数を展開するときに古い値がまだ残っている)。
デフォルト: オフ。
--svn-arch=ARCH
ビルド アーキテクチャを指定できます (例: amd386 マシン上の i64 ビルド)。
デフォルト: オフ。
--svn-override=var=値、anothervar=値
自動検出された設定変数または見つかった設定変数を上書きします。 .svn/deb-レイアウト.
デフォルト: オフ。
--svn-prebuild | --svn-postbuild | --svn-pretag | --svn-posttag
ビルド/タグコマンドの呼び出し前/後に実行されるコマンド(フック)。例:
アーカイブからオリジナルのtarballをダウンロードします。ただし、シェルコードはここに埋め込むことができます。
推奨されません。環境には様々な補助変数が用意されています。
詳細な説明については、以下の環境変数を参照してください。
プレビルドフックとポストビルドフックは、通常のプレビルドフックと
ビルド後のアクション svn-buildpackageプレビルドの場合、これはビルドが
依存関係はチェックされません。ポストビルドの場合、これは結果のファイルが
移動されず、lintian は実行されません。
デフォルト: オフ。
--svn-非対話型
このパラメータを使用すると svn-buildpackage ユーザーと対話しません。
デフォルト: オフ。
--svn-savecfg
デフォルトでは、 svn-buildpackage 毎回の呼び出しで.svn/deb-layoutを作成するために使用されます。
バージョン 0.6.22 ではこの動作は非推奨です。
このパラメータを使用すると svn-buildpackage 以前の行動を(部分的に)再現します。
非推奨の動作とは対照的に、 .svn/deb-レイアウト 地元のものとしてみなされている
上書き。以前の動作では、バージョン管理されたレイアウト情報を無視していました。
発見 .svn/deb-レイアウト.
このオプションは、ローカル オーバーライド ファイルを作成するときに便利であるために提供されました。
デフォルト: オフ。
--svn-download-orig
このオプションは svn-buildpackage アップストリームのtarballをダウンロードしてみる apt
ウスカン.
デフォルト: オフ。
--svn-verbose
より詳細なプログラム出力。
デフォルト: オフ。
-h | - 助けて
ヘルプメッセージを表示します。
例
使用方法の詳細については svn-buildpackageについては、HOWTO を参照してください。
http://svn-bp.alioth.debian.org/[1]。
*.dscファイルから既存のネイティブDebianパッケージを操作するには、それを
コマンドでリポジトリを作成します:
svn-inject package_0.1.dsc svn://host/debian/devel/packages
Debianの既存のアップストリームパッケージを*.dscファイルから操作するには、それをインポートします。
次のコマンドでリポジトリに追加します:
svn-inject -o package_0.1-2.dsc svn://host/debian/devel/packages
アップストリームパッケージをビルドする前に、元のソースが利用可能であることを確認してください。例えば、
ウスカン は働いている:
svn mkdir ../tarballs
svn propset svn:ignore "*" ../tarballs
uscan --force-download --destdir ../tarballs
Subversionリポジトリからパッケージをビルドするテストを行うには、以下のコマンドを使用します。 dpkg-
ビルドパッケージ(1)マニュアルページ -我ら 等オプション:
svn-buildpackage --svn-lintian -us -uc -rfakeroot
パッケージがクリーンな状態でビルドされたことを確認するには、次のようにテストします。 ビルダー(1):
svn mkdir ../build-area # 結果を保存する
svn propset svn:ignore "*" ../ビルドエリア
svn-buildpackage --svn-ignore-new --svn-builder=pdebuild
新しいアップストリームリリースが利用可能になったら、すべての変更をコミットし、
きれいな状態のツリー。その後、 svn-アップグレード(1)新しいリリースをインポートする:
svn status # コミットされていない変更がないことを確認する
svn-upgrade --verbose ../package-2.0.tar.gz
CONFIGURATION FILE
svn-buildpackageの動作はファイルを使用して変更できます ~/.svn-buildpackage.conf です。
各パッケージの作業ディレクトリにファイルを使用して追加のパーツを追加できます。
.svn/svn-buildpackage.conf。これは本質的に長いコマンドラインオプションのリストである。
(先頭のマイナス記号なし)、1行に1つの引数(引用符で囲まない)
複数単語の引数)。シェル変数がシステムシェルで展開される。
そこに見つかります。~記号は信頼性の低い展開のため避けてください。$HOMEを使用することをお勧めします。
代わりに。例:
svn-builder=debuild -EPATH
svn-no-links
svn-override=origDir=$HOME/debian/upstream/$PACKAGE
# svn-ignore-new
#svn-lintian
DIRECTORY レイアウト 取り扱い
デフォルトでは、 svn-buildpackage パス/URL宣言を含む設定ファイルが必要です。
.svn/deb-layout で設定できる値は、 --svn-オーバーライド オプション、参照
設定ファイルが見つからない場合は、以下の手順に従って設定が自動検出されます。
ローカルディレクトリとリポジトリレイアウトに関する一般的な前提。さらに、コンテンツは
初期設定中に、カスタム ファイル debian/svn-deblayout がインポートされます。
パッケージ管理者は、このファイルをリポジトリに保存して、新しいパッケージに正しいデフォルトを渡すことができる。
svn-buildpackage ユーザー。フォーマットは.svn/deb-layoutファイルと同じです。
debian/svn-deblayoutファイルの代わりとして、メンテナーはSubversionのプロパティを設定できます。
debian/ ディレクトリの場合、debian/ の以下の形式の名前を持つプロパティ
svn-bp:PROP の源となる プロップ で示された値を持つ設定
プロパティ値の最初の行。完全なSVN URLが指定されていない場合は、リポジトリのルートが
この値の先頭に追加されます。
ENVIRONMENT 変数
以下の環境変数は、 svn-buildpackage で使用できます
フック コマンドまたはパッケージ ビルド システム。
パッケージ、パッケージ
ソースパッケージ名。
SVN_ビルドパッケージ
のバージョン svn-buildpackage.
TAG_VERSION、debian_version
完全な Debian バージョン文字列。タグのコピーにも使用されます。
非エポックバージョン
と同じ debian_version ただし、エポック文字列はありません。
上流_バージョン
debian_version と同じですが、Debian 拡張機能はありません
推測場所
プール内のアップストリームソースパッケージ名を推測すると、
libm/libmeta-html-perl_3.2.1.0.orig.tar.gz
差異
(実験的) 生成された diff ファイルの場所を表示します
すべてのレイアウトプロパティも環境にエクスポートされます。以下のものは
する意味 svn-buildpackage.
ビルドエリア
ビルドエリアディレクトリの場所
トランクURL
現在のパッケージのトランクディレクトリの URL。
タグURL
現在のパッケージのタグ ベース ディレクトリの URL。
元のディレクトリ
元の tarball が配置されるローカル ディレクトリ。
元のURL
現在のパッケージの元の tarball を取得できる URL。
以下の変数は svn-buildpackage:
フォースタグ
不完全な変更ログの兆候を無視して、とにかくリポジトリにタグを付けます。
強制エクスポート
リポジトリからアップストリームソースをエクスポートする 上流とマージ プロパティが設定されます。
DEBIAN_フロントエンド
If DEBIAN_フロントエンド 「非対話型」に設定されています --svn-非対話型 静かに呼び出されます。
推奨事項
シェルエイリアスを使用します。Bashの例をいくつか示します。
エイリアス svn-b="svn-buildpackage -us -uc -rfakeroot --svn-ignore"
エイリアス svn-br="svn-b --svn-dont-purge --svn-reuse"
エイリアス svn-bt="svn-buildpackage --svn-tag -rfakeroot"
これらのコマンドはそれぞれ意味を持ちます: 新しいファイルや変更されたファイルに関係なくビルドします。
新しいファイルや変更されたファイルに関係なく、ビルドディレクトリを再利用します。ビルド(アップロード用)と
タグ。
SSHはリモートリポジトリにアクセスする最も簡単な方法ですが、通常は
パスワードをより頻繁に入力する svn-buildpackage回避策としては、
パスフレーズのないSSHキー(これは安全ではなく、比較的遅いですが)、または
SSH接続キャッシュ機能はSSHの最新バージョンに搭載されています。詳細については、
svn-buildpackage マニュアル。
リモートリンクを取得する別の方法は、Subversion DAVモジュール(SSLとApacheを使用)を使用することです。
ユーザー認証については、 svn-buildpackage 詳細についてはHOWTOマニュアルをご覧ください。
onworks.net サービスを使用して svn-buildpackage をオンラインで使用する