“dh_install: hamsterdb-dev faltando arquivos (usr / lib / pkgconfig / *), abortando” construindo um pacote

5

Sou autor de uma pequena biblioteca de banco de dados de código aberto e quero fornecer pacotes .deb através do meu ppa. Eu tenho alguns problemas. Eu segui a documentação e vários tutoriais e criei um diretório debian /, mas quando eu executo 'dpkg-buildpackage -rfakeroot' eu recebo o seguinte erro:

dh_install: hamsterdb-dev missing files (usr/lib/pkgconfig/*), aborting
make: *** [binary] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2

eu tenho que fornecer um /usr/lib/pkgconfig/hamsterdb-dev.pc?

Durante o processo de compilação, os unittests são iniciados e muitos arquivos são criados ou modificados. Quando eu executo o dpkg-buildpackage novamente, eu recebo muitos erros, aqui estão alguns trechos:

dpkg-source: error:   old version is plain file
dpkg-source: error: cannot represent change to hamsterdb/install-sh:
dpkg-source: error:   new version is symlink to /usr/share/automake-1.11/install-sh
dpkg-source: error:   old version is plain file

ou estes:

dpkg-source: error: cannot represent change to tools/tests/db1.db: binary file contents changed
dpkg-source: error: add tools/tests/db1.db in debian/source/include-binaries if you want to store the modified binary in the debian tarball
dpkg-source: warning: executable mode 0775 of 'tools/tests/export_import.sh' will not be represented in diff
dpkg-source: warning: executable mode 0775 of 'tools/tests/ham_dump/generate.sh' will not be represented in diff
dpkg-source: warning: executable mode 0775 of 'tools/tests/ham_dump/compare.sh' will not be represented in diff
dpkg-source: warning: executable mode 0775 of 'tools/tests/ham_info/generate.sh' will not be represented in diff
dpkg-source: warning: file hamsterdb/documentation/latex/namespacehamsterdb.tex has no final newline (either original or modified version)
dpkg-source: warning: file hamsterdb/documentation/latex/index.tex has no final newline (either original or modified version)
dpkg-source: error: unrepresentable changes to source
dpkg-buildpackage: error: dpkg-source -b hamsterdb gave error exit status 2

Existe uma maneira de "forçar" a geração de um arquivo deb? Ou simplesmente ignorar os erros "alterações não representáveis na origem"?

Consegui corrigir os erros que listei acima, mas agora me deparo com outro (também pode ser causado por minha falta de conhecimento sobre o automake). debuild executa "libtool" nos fontes da biblioteca, mas não cria nenhum arquivo de saída (pelo menos eu não encontro nenhum). E a criação da amostra falha com um erro:

make[3]: Entering directory '/home/chris/prj/hamsterdb/samples'
gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I..  -I../include -I../include   -g -O2 -Wall -DHAM_LITTLE_ENDIAN -fno-tree-vectorize -D_FILE_OFFSET_BITS=64 -c db1.c
make[3]: *** No rule to make target '../src/libhamsterdb.la', needed by 'db1'.  

É assim que invoco o comando de compilação:

db1_SOURCES     = db1.c
db1_LDADD       = $(top_builddir)/src/libhamsterdb.la

O libhamsterdb.la está de fato ausente.

    
por cruppstahl 02.01.2013 / 22:55

1 resposta

6
  

eu tenho que fornecer um /usr/lib/pkgconfig/hamsterdb-dev.pc?

Se você listou em debian/hamsterdb-dev.install , então sim. Não vai aparecer do nada.

  

Durante o processo de compilação, os unittests são iniciados e muitos arquivos são criados ou modificados.

Os arquivos criados são fáceis de lidar, basta excluí-los na regra clean , listando-os em debian/clean .

Quanto à modificação de arquivos, você tem algumas opções. Se eles puderem ser recriados do zero, exclua-os em clean . dpkg-source ignora arquivos excluídos. Caso contrário, você terá que descobrir como não modificá-los ou desfazer as modificações.

    
por tumbleweed 03.01.2013 / 14:58

Tags