61.4 Debian Building the Distribution

Using autoconf we need a configuration file configure.in which contains the version number and other relevant information. See below for an example configure.in

Each of the identified AC_OUTPUT files will be generated by the configure script from the corresponding files suffixed with .in by the ./configure script which is in turn generated by the autoconf command which reads information from configure.in

So, when you change the version number regenerate the configure script with:

  $ autoconf

Next time you ./configure the new Makefiles and source code will contain the updated information.

  $ ./configure

The Makefile.in in the base directory includes a target to generate a tar file for distribution:

  $ make dist

The resulting tar file will be named something like ./wajig-2.0.20.tar.gz. After making the distribution tar file move it to another directory for the convenience of the Debian packaging tools:

  $ mv wajig-0.1.1.tar.gz ../../debian/wajig/ 

An example configure.in is:

  dnl Process this file with autoconf to produce a configure script. 
  AC_INIT(src/wajig.py)

  PACKAGE=wajig
  VERSION=2.0.20

  AC_PATH_PROG(PYTHON, python)

  AC_SUBST(PYTHON)
  AC_SUBST(PACKAGE)
  AC_SUBST(VERSION)

  AC_PROG_INSTALL
  AC_PROG_MAKE_SET

  AC_OUTPUT(Makefile src/Makefile src/const.py wajig.sh)


Your donation will support ongoing availability and give you access to the PDF version of this book. Desktop Survival Guides include Data Science, GNU/Linux, and MLHub. Books available on Amazon include Data Mining with Rattle and Essentials of Data Science. Popular open source software includes rattle, wajig, and mlhub. Hosted by Togaware, a pioneer of free and open source software since 1984. Copyright © 1995-2021 Graham.Williams@togaware.com Creative Commons Attribution-ShareAlike 4.0