web-dev-qa-db-ja.com

デビルドでパッケージの再ビルドに失敗する

Debian-wheezyでパッケージ 'thunar'をビルドするために、次の手順を実行しました。

Sudo apt-get build-dep thunar
Sudo apt-get source thunar
cd thunar-1.2.3/debian
Sudo debuild -uc -us

ここまではすべて正常に動作します。いくつかの.depパッケージが作成されており、dpkgを介してインストールできます。

ここで、ソースコードを変更してビルドを再実行したいと思います...しかし、クリーンアップして再構築することすらできません。私は以下を試しました:

Sudo debuild clean
Sudo debuild -uc -us

すでにcleanコマンドは、多くのファイルの削除が無視されたことを警告しています。多くのローカルな変更が認識されており、これらの変更を統合するために「dpkg-source--commit」を使用することをお勧めします...実際にはまだ何も触れていません。提案に従ったとしても、ビルドの最後に次のエラーが発生します。

....
make: *** [binary] Fehler 2
dpkg-buildpackage: Fehler: Fehler-Exitstatus von fakeroot debian/rules binary war 2
debuild: fatal error at line 1357:
dpkg-buildpackage -rfakeroot -D -us -uc failed

私もSudoではなく通常のユーザーとしてシングルステップを実行しようとしました...しかしその場合、最初の 'debuild -uc-us'でさえ失敗します。

私は何か間違ったことをしましたか?ビルド+再構築をどのようにトリガーしますか?それとも、パッケージ「thunar」の問題ですか?

4
Alex

さて、さらにいくつかのチュートリアルを読んだ後、少なくともそれの変更とビルドを行う方法を理解しました。私が最初に試した この公式のDebianチュートリアル 、これは古すぎるようです(dpatchは説明どおりに機能しません)私が試したよりも このサードパーティのチュートリアル キルトを使用してパッチをビルドし、パッケージをビルドするためにデビルドします。それはうまくいくようです。

これで、パッケージthunarのパッチを作成してインストールできるようになりました...ここで必要な手順は次のとおりです。

# get some packages, needed to do a build from source
Sudo apt-get install quilt build-essential fakeroot devscripts

# get the needed build dependencies of thunar
Sudo apt-get build-dep thunar

# get the sources of thunar (no Sudo!)
apt-get source thunar

# enter the sources
cd thunar-1.2.3

# define a patch dir for quilt
export QUILT_PATCHES=debian/patches

# apply all available thunar patches
quilt Push -a

# add my own patch ( increase the trailing number in the name ! )
quilt new 03_myTestPatch.patch

# add files which you are going to modify
quilt add thunar/main.c

# modify file ( I just added a comment in my first try, nano is the editor of my choice)
# if your editor creates temporary files( e.g. main.c~), make sure to remove them when you finished editing
nano thunar/main.c

# refresh the patch and de-apply all available patches
quilt refresh
quilt pop -a

# Add some info into the changelog ( attention, this will make use of your default console-editor, which could be vi )
dch -n

# build the package ( your patch will be applied )
debuild -uc -us

# install the package ( version/CPU is OS/system-specific )
Sudo dpkg -i ../thunar_1.2.3-4.1_AMD64.deb

..パッチをビルドしてテストできるようになりました..しかし、バイナリを再ビルドする方法がまだわかりません。

debuild clean
debuild -uc -us

->上記と同じエラーが発生します..cleanは、削除する必要のあるすべてのファイルを削除できないようです。これは本当にthunar特有の問題のようです。

編集:今、私は何が悪いのかを知っています。再構築中に、1つのフォルダーが何らかの理由で欠落しています。今のところ、自動化された「debuild」を使用する代わりに、スクリプトを使用して手動でトリガーすることで問題を修正しました。

#! /bin/bash
cd thunar-1.2.3
fakeroot debian/rules clean
fakeroot debian/rules build
mkdir debian/tmp/usr/share/gtk-doc
fakeroot debian/rules binary
3
Alex