This is the follow-up to my mail. For reference, these were my comments:
-
debian/source/include-binaries should only include debian related files, not the object files that were generated during the build
-
There should be a debian/watch file to automatically check for updates. See uscan(1) for how this file should look like (there is a section with a github template).
-
The file debian/copyright should be machine readable. It should also contain all copyright information of files in the upstream tarball, including third party code, even when that is not used to build the package.
-
There is a debian/doc-base.EX file that should be removed
-
As it is a new file (for Debian), debian/changelog should only contain one entry, and the release should be "-1". i.e. version is 4.1.0-1
-
debian/rules can be much simplified by using debhelper: in principle, one needs only 'override_dh_auto_build" and 'override_dh_clean' targets containing the instructions for build and clean. The list of installed packages goes to debian/install, the man page to debian/manpages. /debian/dirs can be removed, as it is only needed when the package ships an empty dir.
-
The CFLAGS, CPPFLAGS, and LDFLAGS are already set by the Debian build system and could be extended, but should not be overwritten by the package. This already covers debug flags (-g), warnings, general optimization settings. Debian introduces a number of additional hardening flags to prevent buffer or stack overruns. Also the CC environment variable is set by the build system and should not be overwritten without reason (this allows people to use f.e. clang or a special C compiler to be used for test reasons).
-
The installed package does not need the original installation instructions, which should be removed from debian/docs
What is still required is the completion of debian/copyright. This could be simplified by stripping the unused files out of the original tarball.