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
See this post.
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: duplicate-files
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
General tips
How to search for packages that depend another to build
How to find a package that contains a specific file
lintian: how to see Pedantic, Experimental and other messages?
Please, see this post.