web-dev-qa-db-ja.com

PPAにアップロードする前にバックポートされたパッケージを編集するにはどうすればよいですか?

Clang3.2をRaringからQuantalにバックポートしようとしています。これは比較的痛みのないプロセスだと思い、次のコマンドを実行しました。

backportpackage -s raring -d quantal -u ppa:george-edison55/clang3.2-backports clang

パッケージはエラーなしでPPAにアップロードされ、エラーなしでビルドされました。残念ながら、debian/controlファイルには次の依存関係が含まれているため、インストールできません。

Depends: ... libgcc-4.7-dev, libobjc-4.7-dev ...

これらのパッケージはQuantalには存在しません。これらのパッケージの内容は gcc-4.7 Install gcc-4.7 および gobjc-4.7 Install gobjc-4.7 代わりにパッケージ。私の問題は、パッケージをPPAにアップロードする前に変更を加える方法がわからないことです。

backportpackageにPPAにアップロードしないように指示し、ファイルを編集した/tmp/clang3.2にダンプしてみました。ただし、パッケージをアップロードしようとすると、元の.tar.gzが再度ダウンロードされ、変更が上書きされます。

これを行う適切な方法は何ですか?

2
Nathan Osman

Backportpackageに作業ディレクトリを保持するように指示する-wオプションがありますが、解凍された(および変更された)ソースを保持するように指示する方法はまだありません。だからここに私のために働いたものがあります:

  1. プログラムをローカルにコピーして変更します。

    cp /usr/bin/backportpackage ~

  2. ローカルファイルを開き、do_backport関数を見つけます。その最後の行は次のようになります

    shutdown.rmtree(srcdir)

  3. その行を削除し、ファイルを保存して、通常どおりにスクリプトを実行します。作業ディレクトリを指定するには、必ず-wオプションを指定してください。

  4. 作業ディレクトリに移動します。 <package>-<dist>のような名前のサブディレクトリが必要です。例: gcc-xenial
  5. そのディレクトリにcd、やりたい変更をすべて行います。
  6. Debianパッケージを作成します。結果に署名してアップロードします。

    debuild --no-lintian -S -nc -uc -us -sd

    debsign ../<package-version>_source.changes

    dput -u ppa:<user>/<repo> <package-version>_source.changes

1