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」の問題ですか?
さて、さらにいくつかのチュートリアルを読んだ後、少なくともそれの変更とビルドを行う方法を理解しました。私が最初に試した この公式の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