DebianからPPAにパッケージをコピーするにはどうすればよいですか?


10

Debian sidからチームのPPAに最新のグルメパッケージを追加して、最新バージョンのグルメを実行したいUbuntuユーザーがそのPPAをソフトウェアソースに追加できるようにしたいと思います。(依存関係については、現在サポートされているすべてのUbuntuバージョンで、現在の依存関係のほとんどすべてが既に利用可能であるため、それほど問題にはなりません。)

*.dscファイルとdebianとorigのtarball をダウンロードしましたが、これをパッケージのsource.changesファイルに使用できることもわかりました。またdput、パッケージを検証できるように、Debianメンテナの公開鍵をダウンロードしました。次に、dput ppa:~gourmet/ppa gourmet_0.17.3-1_source.changes(ティルダなしでも試してみました)を使用してパッケージをPPAにアップロードしようとしました。これは成功したようですが、確認メールが届かず、PPAにパッケージが表示されないため、信じられます。 Debianメンテナのキーが明らかにチームメンバーのキーの中にないため、パッケージが拒否されたとのことです。

では、Debian(sid)からLaunchpad PPAにパッケージを「コピー」する最も簡単な方法は何でしょうか。アップロードする前に、パッケージ全体をローカルで再構築する必要がありますか?


ところで、Ubuntu開発バージョンはDebianから(DebianImportFreezeの前に)パッケージを自動同期するので、Utopicからパッケージをコピーする方法を教えてくれる回答を喜んで受け入れます。
Bernhard Reiter 2014年

回答:


12

変更ログを調整して変更ファイルを再生成するために、アップロードする前にソースパッケージをローカルで再構築する必要があります。パッケージのバックポートはかなり一般的なタスクなので、これはスクリプト化されています。backportpackage マンページアイコンコマンドubuntu-dev-toolsubuntu-dev-toolsをインストールするパッケージを確認してください。

Debianからパッケージをバックポートするには、対象のディストリビューションシリーズ、PPA、およびパッケージのdscファイルを指定するだけです。

backportpackage -d trusty -u ppa:gourmet/ppa http://ftp.de.debian.org/debian/pool/main/g/gourmet/gourmet_0.17.3-1.dsc

dscファイルを見つける必要がないため、Ubuntuリリース間でパッケージをバックポートする方が簡単です。utopicからtrustyにバックポートしたいとしましょう:

backportpackage -s utopic -d trusty -u ppa:gourmet/ppa gourmet

驚くばかり!少しバグのように見える唯一のことは~gourmet/ppa-uパラメーターに引数として渡したにもかかわらず、パッケージが個人のPPA(〜ockham-razor / ppa)になってしまったことです。(しかし、幸運にも、PPAからLaunchpadを介してGourmetチームにコピーすることができました。)
Bernhard Reiter

1

これを行うにはいくつかの方法があります。

私がRhythmboxでこれを行ったとき、私は次のレシピに従いました:

a。ソースファイルとdebianファイルを取得する

ここに画像の説明を入力してください

b。ソースを解凍します(.orig.tar.xz)

c。ソースフォルダの名前を次のように変更しますrhythmbox-3.0.3

c。debianファイル(.debian.tar.xz)を解凍します

d。ソースディレクトリの下にdebianフォルダを移動します

e。 dch -i変更ログファイルを変更するには

f。「不安定な」パッケージ名をubuntuターゲットの名前に変更します。ここでは、12.04で正確に使用しています。アプリに応じてバージョンを変更します。ここでrhythmboxは3.0.3でした-追加したばかりです-1~ppafossfreedom

rhythmbox (3.0.3-1~ppafossfreedom) precise; urgency=low

  * rebuild

 -- fossfreedom <fossfreedom@somewheremail.com>  Thur, 07 Jun 2012 13:19:18 +0100

g。新しいソースパッケージを作成します。dh_build --createorig

h。あなたのキーでソースだけをビルドする:あなたのキーはdebuild -S -k0xABCDEFGどこABCDEFGですか

私。ビルドするパッケージをアップロードします。

cd ..
dput ppa:fossfreedom/rhythmbox rhythmbox_3.0.3-1_sources.changes    

まあ、それは基本的にパッケージを再構築することです。しかたがない。私はもっ​​と簡単な方法を望んでいましたが、それはないと思います。
ベルンハルトライター2014年

パッケージのdgetコマンドを見てくださいdevscripts。これはかなり簡単になります。
andrewsomething 2014年

@andrewsomething-例を使ってそれを答えに変えてください:)-それが私のパッケージングも単純化できるかどうか興味があります。
fossfreedom

まあ、私はまったく異なる答えを持っていますが、dget=)についてはまだ学ぶ必要があります。dscファイルには、ソースパッケージの他の部分に関するすべての情報が含まれています。したがってdget、dscファイルへのリンクを指定すると、すべてが取得され、正しく抽出されます。dget -ux http://http.debian.net/debian/pool/main/r/rhythmbox/rhythmbox_3.0.3-1.dsc
andrewsomething 14年

きちんとした答え-よくやった+1
自由の自由
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.