Descompactando o pacote Debian de origem que tem um tar.xz

1

Eu baixei o .tar.gz , .dsc e .diff.gz do pacote bash do Wheezy: link . Então eu executei dpkg-source -x no arquivo dsc para desempacotá-lo, e este é o resultado:

$ ls -l
total 2696
-rw-rw-r-- 1 pgimeno pgimeno 2748840 Dec 30  2012 bash-4.2dfsg.tar.xz
drwxrwxr-x 3 pgimeno pgimeno    4096 Apr  3 23:36 debian

UPDATE: eu posso extrair o arquivo manualmente, o problema não é esse. Por favor, leia com atenção abaixo. Eu adicionei ênfase em algumas frases-chave.

Isso me confundiu. O que devo fazer para obter um arquivo totalmente descompactado com os patches Debian aplicados , para que eu possa trabalhar na fonte e produzir um pacote modificado que construa? Eu tenho que Desembale-o e aplique os remendos manualmente? Em caso afirmativo, para qual diretório devo desempacotá-lo? O padrão depois de executar tar -xf bash-4.2dfsg.tar.xz é bash-4.2 , devo deixar assim ou mover os arquivos para o diretório principal? E então o que?

    
por Pedro Gimeno 03.04.2015 / 23:58

2 respostas

2

O local central que registra o que fazer com um pacote de fontes é debian/rules . É um makefile, e alguns destinos são obrigatórios ou padronizados, incluindo build , que irá necessariamente descompactar e corrigir qualquer arquivo fonte, e patch , que deve descompactar e corrigir qualquer arquivo fonte. Muitos pacotes usam scripts de ajuda , os principais queridos sendo debhelper ( dh_* e o mais recente dh frontend) e cdbs .

O pacote bash no wheezy usa alguns scripts de debhelper e não fornece um patch de destino. Ele também não fornece um unpack de destino (uma convenção comum), mas fornece alguns destinos que ele usa internamente:

make -f debian/rules bash_src=bash unpack-bash
make -f debian/rules bash_src=bash patch-bash
    
por 04.04.2015 / 01:15
0

valdyn de irc.oftc.net me ajudou a encontrar uma solução, que era executar:

debian/rules bash-configure

Ele faz algum trabalho extra e deixa alguns diretórios que não fazem parte da fonte, mas pelo menos o descompacta e aplica os patches, o que me permite trabalhar na fonte corrigida agora. Como eu suspeitava, o diretório de destino não deveria ser bash-4.2 como descompactado manualmente, mas apenas bash .

Mas isso parece um hack sujo. Eu ainda estou procurando a solução "certa", que deixa a fonte pronta para uma compilação normal enquanto ainda permite que eu trabalhe nela primeiro, como na maioria dos pacotes, sem precisar executar o configure.

    
por 04.04.2015 / 01:05