Tips about Debian packaging
The main goal of this article is gather quick tips about software packaging in Debian. I will use these tips to help to sponsor third party packages.
Mandatory checks after packaging
Remove all trash and extra blank lines
Use cowbuilder to verify if the package builds in a clean jail
Use blhc to verify the full hardening status
References:
Use spell to check spelling errors
Try to use dh-autoreconf
References:
- https://www.debian.org/doc/manuals/maint-guide/dreq.en.html#customrules
- https://wiki.debian.org/Autoreconf
Common issues and solutions
debian/rules: how to pass extra parameters to ./configure command
debian/rules: adding a SONAME to a library
debian/watch: how to make?
Please, see this post.
debian/watch: what to do if upstream homepage is dead?
search GitHub, use fake site etc
dpkg-shlibdeps: warning: package could avoid a useless dependency if FOO was not linked against BAR.so.1.2 (it uses none of the library's symbols)
lintian: hardening-no-relro / hardening-no-fortify-functions
Use blhc... Change = to += CFLAGS and LDFLAGS appends
References:
- https://lintian.debian.org/tags/hardening-no-relro.html
- https://lintian.debian.org/tags/hardening-no-fortify-functions.html
- https://wiki.debian.org/Hardening
- https://wiki.debian.org/HardeningWalkthrough
lintian: how to see Pedantic, Experimental and other messages?
Please, see this post.