使用 debuild 重新构建软件包失败

使用 debuild 重新构建软件包失败

为了在 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' 包的问题?

答案1

好的,在阅读了更多教程后,我弄清楚了至少可以对其进行修改和构建。我首先尝试这个官方的 Debian 教程,似乎太旧了( dpatch 无法按描述工作)然后我尝试了一下此第三方教程它使用 quilt 来构建补丁,使用 debuild 来构建软件包。它似乎效果更好。

我现在能够为 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 特有的问题。

编辑:现在我知道哪里出了问题。重建过程中不知何故缺少了一个文件夹。现在我通过使用脚本并手动触发来修复问题,而不是使用自动“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

相关内容