Once the package correctly autotool’ed and configured (see Bootstrapping the Package), run ‘make distcheck’ to build the tarball. Contrary to a simple ‘dist’, ‘distcheck’ makes sure everything will work properly. In particular it:
AC_INITis in the top of NEWS, otherwise it fails with ‘NEWS not updated; not releasing’.
Arguments passed to the top level configure (e.g.,
‘CXX=g++-5.0’) will not be taken into account
here. Running ‘export CXX=g++-5.0’ is a better way
to require these compilers. Alternatively use
DISTCHECK_CONFIGURE_FLAGS to specify the arguments of the
$ make distcheck DISTCHECK_CONFIGURE_FLAGS='--without-swig CXX=g++-4.0'
autoconfto recreate configure, or if it complains that autom4te.cache cannot be created, then it means the tarball is broken! So track down the reason of the failure.
If you just run ‘make dist’ instead of ‘make distcheck’, then you might not notice some files are missing in the distribution. If you don’t even run ‘make dist’, the tarball might not compile elsewhere (not to mention that we don’t care about object files etc.).
Running ‘make distcheck’ is the only means for you to check that
the project will properly compile on our side. Not running
distcheck is like turning off the type checking of your compiler:
you hide instead of solving.
At this stage, if running ‘make distcheck’ does not create bardec_f-tc-4.tar.bz2, something is wrong in your package. Do not rename it, do not create the tarball by hand: something is rotten and be sure it will break on the examiner’s machine.