I'm author of a small open-source database library and want to supply .deb packages through my ppa. I have a couple of problems. I followed the documentation and several tutorials and created a debian/ directory, but when I run 'dpkg-buildpackage -rfakeroot' i get the following error:

During the build process, the unittests are started and many files are created or modified. When i run dpkg-buildpackage again then i get many errors, here are excerpts:

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

or these:

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

Is there a way to "force" the generation of a deb file? Or simply to ignore those "unrepresentable changes to source" errors?

I managed to fix the errors that I listed above, but now I run into another one (might also be caused by my lack of knowledge regarding automake). debuild runs "libtool" on the library sources, but does not create any output files (at least I do not find any). And building the sample then fails with an error:

1 Answer
1

If you listed it in debian/hamsterdb-dev.install, then yes. It's not going to appear out of thin air.

During the build process, the unittests are started and many files are created or modified.

The created files are easy to deal with, you just delete them in the clean rule, by listing them in debian/clean.

As to modifying files, you have a few options. If they can be re-created from scratch, delete them in clean. dpkg-source ignores deleted files. Otherwise, you have to figure out how to not modify them, or undo the modifications.