"dh_install: hamsterdb-dev отсутствуют файлы (usr / lib / pkgconfig / *), прерывание" создания пакета

5

Я являюсь автором небольшой библиотеки баз данных с открытым исходным кодом и хочу поставлять пакеты .deb через ppa. У меня есть пара проблем. Я выполнил документацию и несколько руководств и создал каталог debian /, но когда я запустил «dpkg-buildpackage -rfakeroot», я получил следующую ошибку:

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

Мне нужно предоставить файл /usr/lib/pkgconfig/hamsterdb-dev.pc?

В процессе сборки запускаются unittests, и многие файлы создаются или изменяются. Когда я запускаю dpkg-buildpackage снова, я получаю много ошибок, вот выдержки:

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

или эти:

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

Есть ли способ «заставить» генерировать файл deb? Или просто игнорировать эти ошибки «непредвиденных изменений в источнике»?

Мне удалось исправить ошибки, перечисленные выше, но теперь я столкнулся с другим (также может быть вызван недостатком знаний о automake). debuild запускает «libtool» в библиотечных источниках, но не создает никаких выходных файлов (по крайней мере, я их не найду). И построение образца затем не выполняется с ошибкой:

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

Вот как я вызываю команду сборки:

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

libhamsterdb.la действительно отсутствует.

    
задан cruppstahl 02.01.2013 в 22:55
источник

1 ответ

6
  

Мне нужно предоставить файл /usr/lib/pkgconfig/hamsterdb-dev.pc?

Если вы указали его в debian/hamsterdb-dev.install , тогда да. Он не появится из воздуха.

  

Во время процесса сборки запускаются unittests, и многие файлы создаются или изменяются.

Созданные файлы легко справляются, вы просто удаляете их в правиле clean , перечисляя их в debian/clean .

Что касается изменения файлов, у вас есть несколько вариантов. Если их можно воссоздать с нуля, удалите их в clean . dpkg-source игнорирует удаленные файлы. В противном случае вам нужно выяснить, как не изменять их, или отменить изменения.

    
ответ дан tumbleweed 03.01.2013 в 14:58
источник