
Luckily for you, the process of creating release tarballs is almost completely automated by the maketarball.sh shell script. This also runs maintainer mode rules in Automake based projects in order to ensure that the shipped files have the correct timestamps on Makefile.in and configure files to stop Automake being run when the tarballs are built on end user's systems (when it often doesn't work). To clear out all compiled files and executables, make clean and make distclean are run through the whole file tree to remove anything previous makes may have run. A purge of symlinks and other library files known to be left behind by the build system is done, as they have caused problems in the past (although the build system should clean them up itself when make distclean is run). At this time, one hidden file (.travis.yml) is included in the tarball. In practice this means that only the few Audacity-supported bits of lib-src go into the Minimal tarball.Īny generated files, editor droppings and Git droppings are removed from the source tree to minimise the size of the tarball, as these files are not needed at any time but left over from previous development work. When we had a Full tarball, the differences between the two tarballs were standard packages which are either optional (most of them) or assumed to be obtained via the system's package manager from their upstream source. Anything which is patched in Audacity Git such that the upstream version is not sufficient to build Audacity without it, goes in.Anything for which Audacity Git is the upstream source and which is needed to build Audacity, goes in.The rationale for deciding what goes in the tarball was worked out roughly as follows: We only release a Minimal Source tarball at the moment. The stuff in between is mostly rationale and explanation. For a walk-through of actually creating a release tarball, skip to Step by Step at the bottom of the page. These different users have slightly different needs, and all of them differ from the needs of the development team, which largely determine the layout of the Audacity Git repository.

