Ubuntuでnetwork-manager-openconnectパッケージの更新バージョンを作成したいと思います。どうやら、最新のパッケージソースを取得する必要があります。
bzr branch lp:~network-manager/network-manager/openconnect-ubuntu.head
じゃあ何?パッケージには、gitを使用して最新のアップストリームコードから自身を更新する方法があるようです。しかし、どうすればそれを実現できますか?
Bzrブランチから更新されたパッケージをビルドすることは、ブランチの保守者やパッケージの一般的な動作方法によってかなり異なる傾向があります。ただし、PPAにプッシュされる、ほぼすべてのパッケージの迅速でダーティな更新に関するいくつかのガイドラインを次に示します。
ブランチを取得します。
bzr branch lp:~network-manager/network-manager/openconnect-ubuntu.head
次に、それに切り替えて、変更ログを更新します。
dch -i
dch -iは、debian/changelogに新しいエントリを開き、バージョンリビジョンを1つ増やします。パッチを追加する場合はこれで問題ありませんが、アップストリームソフトウェアの新しいバージョンに更新する場合は、ダッシュ(-)の前にバージョン番号を更新する必要があります。たとえば、1.2-0ubuntu1のバージョンで、dch -iを起動すると、1.2-0ubuntu2、これはパッチ適用には適していますが、新しいバージョンが必要な場合は、1.3-0ubuntu1。
パッチを適用する必要がある場合は、ここで変更を追加します。 debian /ディレクトリのみを持つブランチでは、bzr bd-doを使用できます(bzr-builddebパッケージが必要です)変更できる作業ツリーに切り替えるには、キルトまたは任意のパッチシステムを使用し、「0を終了」して変更をコピーします。
新しいアップストリームバージョンが必要な場合は、変更ログを変更したら、次のようなコマンドを実行する可能性があります。
debian/rules get-orig-source
これにより、通常、アップストリームのパブリッシャーから適切なtarballがダウンロードされ、開始できます。さらに変更が必要な場合は、上記のように「パッチ」またはdebian /ディレクトリ内の他のファイルを変更します。それ以外の場合はほぼ完了です。
bzr bd -S
bzr bdはビルドを処理します。引数なしで呼び出すと、システム上でビルドが開始されますが、-Sを指定して呼び出すと、..._ source.changesを含むソースパッケージを準備するように指示されます。 PPAにアップロードするファイル(dput ppa:<yourname>/<your your ppa> <changes file>を使用します)。
NetworkManagerパッケージの場合、少し異なります。特にopenconnectを見てみましょう:
bzr branch lp:~network-manager/network-manager/openconnect-ubuntu.head network-manager-openconnect
ビルドの依存関係もすべて確認してください:Sudo get-build-deps
ブランチが取得されると、これはdebian/controlファイルを読み取り、network-manager-openconnectの構築に必要なものすべてをダウンロードしようとします。 gitも必要かもしれません。それが完了したら、get-orig-sourceを実行して、最新のスナップショットのtarballをgitから取得します。
debian/rules get-orig-source
テキストが表示され、長いバージョン番号のtarballが表示されます。これは、nm-openconnectで入手できる最新のコードです。
次に、-0ubuntu1サフィックスをそのままにして、変更ログをtarballのバージョン番号で更新する必要があります。
または、debian/changelogを特定のバージョン番号に変更してから、実行します:debian/rules get-current-source
プラグインはあまり変更されないため、上記のようにbzr bdを使用して、そこからパッケージをビルドすることができます。そうでない場合は、上記のように必要な変更を適用します。
変更を行った後はbzr commitを忘れないでください。
最初に追加するのを忘れましたが、マージ提案システムを使用することをheしないでください(マージの提案LPのブランチのページをリンクする)再作成は他の人に利益をもたらす可能性があります。通常、あなたがベースにしているブランチに対してマージすることを提案することができます(この場合はlp:〜network-manager/network-manager/openconnect-ubuntu.headなど)。
[OK]を起動パッドからコードをプルする方法について更新しました
bzrブランチlp:〜network-manager/network-manager/openconnect-ubuntu.head
この用量は、lp(launchpadホスティングサービス)からコードを引き出します。コードが置かれている場所を見つける必要があります。
男bzr
343 #type 343 manページが表示されます。
bzr branch FROM_LOCATION [TO_LOCATION]
If the TO_LOCATION is omitted, the last component of the FROM_LOCATION
will be used. In other words, "branch ../foo/bar" will attempt to cre‐
ate ./bar. If the FROM_LOCATION has no / or path separator embedded,
the TO_LOCATION is derived from the FROM_LOCATION by stripping a lead‐
ing scheme or drive identifier, if any. For example, "branch
lp:foo-bar" will attempt to create ./foo-bar.
作業したいディレクトリに変更するか、あなたとコードを移動するディレクトリを追加してみてください。
cd/home/[ユーザー名]/[開発ディレクトリへのパス]
またはbzrブランチlp:〜network-manager/network-manager/openconnect-ubuntu.head/home/[ユーザー名]/[開発ディレクトリへのパス]
e.g bzr branch lp:〜network-manager/network-manager/openconnect-ubuntu.head/home/joe/projects/network-manger/dev
すでにこれを行っている場合は、おそらくホームディレクトリにディレクトリがあります
ls〜
./ openconnect-ubuntu.head
そのディレクトリにREADME fielがあるはずです。そこに何があるべきかを確認するには、 プロジェクトコード 、ここに READMEへのリンクがあります。 .source
READMEには、その個々のプロジェクトのビルドに関する指示が必要です。
インストールする他の便利なbzrツール
Sudo apt-get install bzr-builddeb bzr-builder bzr-Explorer quilt
Bzr-explorereを使用すると、GUIでマシン上に作成したbzrリポジトリを閲覧できます。
別の注意。 1つのコンポーネントopenconnectを構築するために、ネットワークマネージャーソース全体をプルする必要がある場合があります。多くの依存関係があり、異なるコンポーネント間にあります。
現在のopneconnectパッケージの修正を作成してから、使用するすべてのdiffツールを使用してパッチを作成する必要があります。そして、それをパッケージメンテナーに送ります。
または、新しいパッケージの修正をローカルで使用する場合は、.debパッケージファイルを作成します。
これは非常に複雑なパッケージの作成で、次のリンクを読んでください