Falha ao recompilar o pacote com o debuild

2

Para construir o pacote 'thunar' no debian-wheezy eu fiz os seguintes passos:

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

Até aqui tudo funciona bem. Alguns pacotes .dep são produzidos e podem ser instalados via dpkg.

Agora, gostaria de modificar o código-fonte e executar a compilação novamente ... no entanto, nem sequer consigo limpar + reconstruir. Eu tentei o seguinte:

sudo debuild clean
sudo debuild -uc -us

Já o comando clean me avisa que a exclusão de muitos arquivos foi ignorada. Do que muitas mudanças locais são reconhecidas e sugiro usar 'dpkg-source --commit' para integrar estas mudanças ... na verdade eu não toquei em nada ainda. Mesmo se eu seguir a sugestão, recebo o seguinte erro no final da compilação:

....
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

Eu também tentei executar as etapas individuais como usuário normal, não como sudo ... no entanto, nesse caso, até mesmo a primeira 'debuild -uc -us' falha.

Eu fiz algo errado? Como você acionaria uma reconstrução de build +? Ou talvez seja um problema do pacote 'thunar'?

    
por Alex 08.02.2015 / 23:04

1 resposta

1

Ok, depois de ler mais alguns tutoriais, eu descobri como pelo menos uma modificação + build dele pode ser feito. Eu tentei pela primeira vez este tutorial oficial do debian , que parece ser muito antigo (o dpatch não funciona como descrito) Do que eu tentei fazer este tutorial de terceiros que usa o quilt para construir o patch e debuild para construir o pacote. Parece funcionar melhor.

Agora posso criar um patch para o pacote thunar e instalá-lo ... aqui as etapas necessárias:

# 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

.. bem, eu sou capaz de criar e testar patches agora .. no entanto, eu ainda não tenho idéia de como reconstruir os binários:

debuild clean
debuild -uc -us

- > Eu recebo os mesmos erros como mencionado acima .. limpa parece não ser capaz de remover todos os arquivos que precisam ser removidos. Parece que isso é realmente um problema específico do thunar.

EDIT: Agora eu sei o que está errado. Uma única pasta está de alguma forma ausente durante a reconstrução. Por enquanto, consertei as coisas usando um script e acionando as coisas manualmente, em vez de usar a "debuild" automatizada:

#! /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
    
por 09.02.2015 / 11:36