Improved Autodist documentation to produce better HTML pages. autodist.1.4
authorPekka Riikonen <priikone@silcnet.org>
Fri, 14 Mar 2008 15:14:34 +0000 (17:14 +0200)
committerPekka Riikonen <priikone@silcnet.org>
Fri, 14 Mar 2008 15:14:34 +0000 (17:14 +0200)
apps/autodist/doc/autodist.texi

index ce597b8344dd57b88f9fe8c9c1efff2b1622db6d..d6964ec0860737e3601b0470aae800513a2490f9 100644 (file)
@@ -9,26 +9,13 @@
 
 @copying
 
-This manual is for SILC Autodist (version @value{VERSION},
-@value{UPDATED}), a program which is used to manage and create source
-distributions.
-
-Copyright @copyright{} 2004 - 2005 Pekka Riikonen, SILC Project
-
-@quotation
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the @acronym{GNU} Free Documentation License,
-Version 1.2 or any later version published by the Free Software
-Foundation; with no Invariant Sections, with the Front-Cover texts
-being ``A @acronym{GNU} Manual,'' and with the Back-Cover Texts as in
-(a) below.  A copy of the license is included in the section entitled
-``@acronym{GNU} Free Documentation License.''
-
-(a) The FSF's Back-Cover Text is: ``You have freedom to copy and
-modify this @acronym{GNU} Manual, like @acronym{GNU} software.  Copies
-published by the Free Software Foundation raise funds for
-@acronym{GNU} development.''
-@end quotation
+Autodist is a source distribution management system that allows powerful
+mechanisms to define what is included in and excluded from a distribution
+and what license is used. It is especially targeted at large software
+projects that create multiple distributions from a source tree. Autodist
+supports distribution management in directory, file, and file content
+level, and automatic relicensing of a distribution.
+
 @end copying
 
 @dircategory Software development
@@ -42,7 +29,7 @@ published by the Free Software Foundation raise funds for
 @end direntry
 
 @titlepage
-@title SILC Autodist
+@title Autodist
 @subtitle For version @value{VERSION}, @value{UPDATED}
 @author Pekka Riikonen
 @page
@@ -53,7 +40,7 @@ published by the Free Software Foundation raise funds for
 @ifnottex
 @node Top
 @comment  node-name,  next,  previous,  up
-@top SILC Autodist
+@top Autodist
 
 @insertcopying
 
@@ -62,10 +49,9 @@ published by the Free Software Foundation raise funds for
 * Integrating Autodist::        Integrating Autodist into your project
 * Invoking Autodist::           Running Autodist
 * Examples::                    Examples using Autodist
+* Download::                   Download Autodist @url{http://silcnet.org/download/autodist/, Autodist @value{VERSION}}
 
 @detailmenu
- --- The Detailed Node Listing ---
-
 Introduction
 
 * Motivation::                  Reasons for using Autodist
@@ -522,7 +508,7 @@ If the new header file has fewer lines that the current header file, all
 of the lines from the current header will not be replaced.  If the new header
 has fewer lines, empty lines must be added to it.  If the new header file
 has more lines than the current header file, the extra lines will not appear
-in the replaced header.  Basic rule is to always make sure the header 
+in the replaced header.  Basic rule is to always make sure the header
 files have equal amount of lines in them.
 
 Second limitation is in indentation of the header files.  It is suggested,
@@ -533,14 +519,14 @@ the header file should start the license text at the second character also.
 If same indentation is not used the appearance of the replaced header
 may not be perfect.  While this is a cosmetic issue, one still to remember.
 
-Third limitation is that the distribution cannot be partially re-licensed.  
-If the 'license-header' directive is used then all files that have the 
-specified header will be replaced with the new header.  There are 
-currently two ways to not re-license a file;  use different license header 
-in the file than one specified in 'license-header', or specify the file or 
-directory in 'noprocess' directive.  Using 'noprocess' is not possible if 
-the file needs to be otherwise processed for the distribution.  Future 
-versions of Autodist may provide a mechanism to re-license only part of 
+Third limitation is that the distribution cannot be partially re-licensed.
+If the 'license-header' directive is used then all files that have the
+specified header will be replaced with the new header.  There are
+currently two ways to not re-license a file;  use different license header
+in the file than one specified in 'license-header', or specify the file or
+directory in 'noprocess' directive.  Using 'noprocess' is not possible if
+the file needs to be otherwise processed for the distribution.  Future
+versions of Autodist may provide a mechanism to re-license only part of
 the distribution.
 
 Example current header:
@@ -581,8 +567,8 @@ files.  Otherwise the replacement will not be complete.
 
 @section Directive: prereq <version>
 
-The 'prereq' may be used to enforce the Autodist version.  If the Autodist 
-version used to process the distribution is older than the version 
+The 'prereq' may be used to enforce the Autodist version.  If the Autodist
+version used to process the distribution is older than the version
 specified with 'prereq' the Autodist will fail.
 
 Example:
@@ -601,13 +587,13 @@ into the distribution.  The <distfile> specifies the name of the
 inherited distribution.  If the distribution cannot be inherited Autodist
 will give an error.
 
-The 'inherit' will inherit the following information from the 
-distribution: distdefs, undefines, includes, excludes and noprocesses.  
-Other information will not be inherited.  If the inherited distribution 
-inherits other distributions, they will also be inherited automatically.  
-User should be careful when inheriting distributions as it may be possible 
-to create an infinite recursion.  The Autodist would allow for this and 
-not detect this error.  Zero or more 'inherit' directives may be set for 
+The 'inherit' will inherit the following information from the
+distribution: distdefs, undefines, includes, excludes and noprocesses.
+Other information will not be inherited.  If the inherited distribution
+inherits other distributions, they will also be inherited automatically.
+User should be careful when inheriting distributions as it may be possible
+to create an infinite recursion.  The Autodist would allow for this and
+not detect this error.  Zero or more 'inherit' directives may be set for
 distribution.
 
 Example:
@@ -621,19 +607,19 @@ Will inherit distributions 'common', 'client' and 'toolkit' into this
 distribution.  All distdefs, undefines, includes, excludes and noprocesses
 from these distributions are now also part this distribution.
 
-The distribution that is being prepared or packaged take precedence when 
-defining distdefs that were specifically undefined in the inherited 
-distribution.  This means that if the inherited distribution specifically 
-undefines a distdefs but the inheriting distribution (one being prepared 
-or packaged) specifically defines it, the distdef will be defined.  
-Similarly, if the inherited distribution defines a distdef but the 
-inheriting distribution undefines it, the distdef will be undefined.  
-Note that, this precedence works only in the top distribution (the one 
-being prepared or packaged).  If the inherited distribution inherits other 
-distributions, all distdefs (defined and specifically undefined) will be 
-inherited as is.  This means that if one inherited distribution defines a 
-distdef that other inherited distribution distdef undefines, it will be 
-undefined.  However, the top distribution can then override them if 
+The distribution that is being prepared or packaged take precedence when
+defining distdefs that were specifically undefined in the inherited
+distribution.  This means that if the inherited distribution specifically
+undefines a distdefs but the inheriting distribution (one being prepared
+or packaged) specifically defines it, the distdef will be defined.
+Similarly, if the inherited distribution defines a distdef but the
+inheriting distribution undefines it, the distdef will be undefined.
+Note that, this precedence works only in the top distribution (the one
+being prepared or packaged).  If the inherited distribution inherits other
+distributions, all distdefs (defined and specifically undefined) will be
+inherited as is.  This means that if one inherited distribution defines a
+distdef that other inherited distribution distdef undefines, it will be
+undefined.  However, the top distribution can then override them if
 needed.
 
 
@@ -688,13 +674,13 @@ distribution.  The following options are available.
 template
 @end example
 
-When set, the distribution is a template distribution.  Templates are 
-special distributions which cannot be prepared or packaged with Autodist. 
-Templates can only be inherited.  Usually, templates are used to define a 
-common template distribution for other distributions.  Templates may set 
-distdefs, undefines, includes, excludes and noprocesses.  A large software 
-project could have several distributions that share a common base.  In 
-this case defining the common base as a template distribution and then 
+When set, the distribution is a template distribution.  Templates are
+special distributions which cannot be prepared or packaged with Autodist.
+Templates can only be inherited.  Usually, templates are used to define a
+common template distribution for other distributions.  Templates may set
+distdefs, undefines, includes, excludes and noprocesses.  A large software
+project could have several distributions that share a common base.  In
+this case defining the common base as a template distribution and then
 inheriting that distribution makes it easier to manage the distfiles.
 
 @example
@@ -805,12 +791,12 @@ This will exclude the file 'README' and anything that match 'doc/client*'.
 
 @section Directive: noprocess <filename> [...]
 
-The 'noprocess' directive can be used to tell Autodist specifically not to 
-process files or directories.  The Autodist will not process the files 
-during distribution packaging.  This directive is optional.  One or more 
-files can be specified in the 'noprocess' directive.  Zero or more 
-'noprocess' directives can be used in distribution.  The <filename> can be 
-a single file, a single directory or a regular expression that will match 
+The 'noprocess' directive can be used to tell Autodist specifically not to
+process files or directories.  The Autodist will not process the files
+during distribution packaging.  This directive is optional.  One or more
+files can be specified in the 'noprocess' directive.  Zero or more
+'noprocess' directives can be used in distribution.  The <filename> can be
+a single file, a single directory or a regular expression that will match
 several files and/or directories.
 
 Example:
@@ -819,10 +805,10 @@ noprocess autodist.texi
 noprocess apps/foo/
 @end example
 
-Autodist will not process 'autodist.texi' file, and any files and 
+Autodist will not process 'autodist.texi' file, and any files and
 directories under 'apps/foo/'.
 
-Note that, 'noprocess' directive cannot be used to disallow 
+Note that, 'noprocess' directive cannot be used to disallow
 processing of any file with '.ad' suffix.
 
 
@@ -835,10 +821,10 @@ Zero or more 'pre-hook' directives may be set for distribution.  The
 'pre-hook' hook will be run immediately after invoking Autodist to start
 preparing the source tree for configuration and compilation (@pxref{Preparing source tree, , , , }).
 
-The scripts will get at least three (3) command line arguments when 
-Autodist executes the script: distribution name, distribution version and 
-package name of distribution.  The script may use these arguments if it 
-needs them.  If user passed any extra parameters to autodist in the 
+The scripts will get at least three (3) command line arguments when
+Autodist executes the script: distribution name, distribution version and
+package name of distribution.  The script may use these arguments if it
+needs them.  If user passed any extra parameters to autodist in the
 command line they will also be passed to the script as last arguments.
 
 
@@ -852,10 +838,10 @@ Zero or more 'post-hook' directives may be set for distribution.  The
 preparing the source three for configuration and compilation (@pxref{Preparing source tree, , , , }).  The Autodist will exit after it has run the
 'post-hook' scripts.
 
-The scripts will get at least three (3) command line arguments when 
-Autodist executes the script: distribution name, distribution version and 
-package name of distribution.  The script may use these arguments if it 
-needs them.  If user passed any extra parameters to autodist in the 
+The scripts will get at least three (3) command line arguments when
+Autodist executes the script: distribution name, distribution version and
+package name of distribution.  The script may use these arguments if it
+needs them.  If user passed any extra parameters to autodist in the
 command line they will also be passed to the script as last arguments.
 
 
@@ -869,11 +855,11 @@ directives may be set for distribution.  The 'pre-process-dist-hook' hook
 will be run immediately after the Autodist has created the distribution
 directory but has not yet started any distribution processing.
 
-The scripts will get at least four (4) command line arguments when 
-Autodist executes the script: distribution name, distribution version, 
-package name of distribution and destination distribution directory name.  
-The script may use these arguments if it needs them.  If user passed any 
-extra parameters to autodist in the command line they will also be passed 
+The scripts will get at least four (4) command line arguments when
+Autodist executes the script: distribution name, distribution version,
+package name of distribution and destination distribution directory name.
+The script may use these arguments if it needs them.  If user passed any
+extra parameters to autodist in the command line they will also be passed
 to the script as last arguments.
 
 
@@ -888,11 +874,11 @@ defined in one 'post-process-dist-hook' directive.  Zero or more
 has finished processing the destination distribution directory but has not
 yet created the distribution package.
 
-The scripts will get at least four (4) command line arguments when 
-Autodist executes the script: distribution name, distribution version, 
-package name of distribution and destination distribution directory name.  
-The script may use these arguments if it needs them.  If user passed any 
-extra parameters to autodist in the command line they will also be passed 
+The scripts will get at least four (4) command line arguments when
+Autodist executes the script: distribution name, distribution version,
+package name of distribution and destination distribution directory name.
+The script may use these arguments if it needs them.  If user passed any
+extra parameters to autodist in the command line they will also be passed
 to the script as last arguments.
 
 
@@ -906,11 +892,11 @@ distribution.  The 'pre-dist-hook' hook will be run immediately after
 the Autodist has started distribution creation, but has not yet created
 the distribution directory.  This hook is run before 'pre-process-dist-hook'.
 
-The scripts will get at least four (4) command line arguments when 
-Autodist executes the script: distribution name, distribution version, 
-package name of distribution and destination distribution directory name. 
-The script may use these arguments if it needs them.  If user passed any 
-extra parameters to autodist in the command line they will also be passed 
+The scripts will get at least four (4) command line arguments when
+Autodist executes the script: distribution name, distribution version,
+package name of distribution and destination distribution directory name.
+The script may use these arguments if it needs them.  If user passed any
+extra parameters to autodist in the command line they will also be passed
 to the script as last arguments.
 
 
@@ -924,11 +910,11 @@ be set for distribution.  The 'post-dist-hook' hook will be run
 immediately after the Autodist has finished creating the distribution
 package.  This is the last hook Autodist runs.
 
-The scripts will get at least four (4) command line arguments when 
-Autodist executes the script: distribution name, distribution version, 
-package name of distribution and destination distribution directory name. 
-The script may use these arguments if it needs them.  If user passed any 
-extra parameters to autodist in the command line they will also be passed 
+The scripts will get at least four (4) command line arguments when
+Autodist executes the script: distribution name, distribution version,
+package name of distribution and destination distribution directory name.
+The script may use these arguments if it needs them.  If user passed any
+extra parameters to autodist in the command line they will also be passed
 to the script as last arguments.
 
 
@@ -1059,9 +1045,9 @@ Autodist must be run manually.  When dependencies are enabled Autodist is
 run automatically when source is compiled with 'make'.  Dependencies make
 the development easier.  This macro has no arguments.
 
-Note that, the dependencies are enabled only in the prepared source tree.  
-Depedencies are not delivered to distribution, as they would require the 
-presence of 'Makefile.ad' and 'configure.ad' files, which are not 
+Note that, the dependencies are enabled only in the prepared source tree.
+Depedencies are not delivered to distribution, as they would require the
+presence of 'Makefile.ad' and 'configure.ad' files, which are not
 delivered to distribution.
 @end defmac
 
@@ -1302,8 +1288,8 @@ The following suffixes will be considered as source files by the Autodist:
     .hh
 @end example
 
-Also, any file that has '.in' suffix with any of the above source file 
-suffixes, the format inside the file must follow the source code format.  
+Also, any file that has '.in' suffix with any of the above source file
+suffixes, the format inside the file must follow the source code format.
 Using distdefs in any other file must follow the non-source format.
 
 Example:
@@ -1318,22 +1304,22 @@ In this example, in both of the files the source code format is used.
 @node Dependencies
 @section Autodist dependency support
 
-Autodist support dependencies for 'Makefile.ad' and 'configure.ad' files.  
-When these files are edited, they are processed by Autodist automatically 
-when the source tree is compiled with 'make'.  This makes development in 
+Autodist support dependencies for 'Makefile.ad' and 'configure.ad' files.
+When these files are edited, they are processed by Autodist automatically
+when the source tree is compiled with 'make'.  This makes development in
 the source tree easier, when Autodist does not have to be run manually.
-The dependencies can be disabled by using 'AD_DISABLE_DEPENDENCIES' macro 
+The dependencies can be disabled by using 'AD_DISABLE_DEPENDENCIES' macro
 in the 'configure.ad' file.
 
-When editing 'configure.ad' fragments the modifcation is detected when the 
-source tree is compiled with 'make' from the top source directory.  
-Giving 'make' in a subdirectory will not detect a change in 'configure.ad' 
+When editing 'configure.ad' fragments the modifcation is detected when the
+source tree is compiled with 'make' from the top source directory.
+Giving 'make' in a subdirectory will not detect a change in 'configure.ad'
 fragment.
 
-Dependencies are present only in the prepared source tree.  They are not 
-delivered to created distribution, as they depend on 'Makefile.ad' and 
-'configure.ad' files which are not present in the created distribution.  
-Autodist automatically removes the dependencies when the distribution is 
+Dependencies are present only in the prepared source tree.  They are not
+delivered to created distribution, as they depend on 'Makefile.ad' and
+'configure.ad' files which are not present in the created distribution.
+Autodist automatically removes the dependencies when the distribution is
 created.
 
 
@@ -1529,18 +1515,18 @@ This example would create, in addition of 'tar.gz' package, also a
 'tar.bz2', 'tar.Z' and '.zip' packages.  Current version of Autodist does
 not support archiving with 'shar'.
 
-If you wish to run additional processing for your distributions when they 
-are being packaged you may set 'pre-process-dist-hook', 
-'post-process-dist-hook, 'pre-dist-hook' and/or 'post-dist-hook' in your 
-distribution file.  Also note that any hooks provided by Automake in 
+If you wish to run additional processing for your distributions when they
+are being packaged you may set 'pre-process-dist-hook',
+'post-process-dist-hook, 'pre-dist-hook' and/or 'post-dist-hook' in your
+distribution file.  Also note that any hooks provided by Automake in
 Makefiles will be run in normal manner.
 
-When creating the distribution Autodist creates a log file, 
-'makedist.log', that will include messages created by Autodist.  It is 
-suggested that this file is checked after distribution is created.  For 
-example, when the 'license-header' directive is used to re-license the 
-distribution, the 'makedist.log' will include list of files that were not 
-re-licensed.  The log file can be used to verify that the distribution was 
+When creating the distribution Autodist creates a log file,
+'makedist.log', that will include messages created by Autodist.  It is
+suggested that this file is checked after distribution is created.  For
+example, when the 'license-header' directive is used to re-license the
+distribution, the 'makedist.log' will include list of files that were not
+re-licensed.  The log file can be used to verify that the distribution was
 re-licensed correctly, and fix any possible mistakes.
 
 
@@ -1795,8 +1781,8 @@ autodist libfoozbar 1.0.5
 makedist
 @end example
 
-Nomad has also an RPM .spec file that you have written and a pre-dist-hook 
-that will replace the RPM release version with sed tool with the one you 
+Nomad has also an RPM .spec file that you have written and a pre-dist-hook
+that will replace the RPM release version with sed tool with the one you
 give as extra parameter to autodist:
 
 @example
@@ -1804,11 +1790,16 @@ autodist nomad 2.0 0.fc7
 makedist
 @end example
 
-The end results are: 'libfoozbar-1.0.5.tar.gz' and 'nomad-2.0.tar.gz', and 
-the RPM will have a release version '0.fc7' when you compile the RPM.  Any 
-extra parameter that you pass to autodist will be delivered to your hook 
+The end results are: 'libfoozbar-1.0.5.tar.gz' and 'nomad-2.0.tar.gz', and
+the RPM will have a release version '0.fc7' when you compile the RPM.  Any
+extra parameter that you pass to autodist will be delivered to your hook
 scripts.
 
+@node Download
+@chapter Download
+
+Download latest version of Autodist at
+@url{http://silcnet.org/download/autodist/}
+
 @page
-@contents
 @bye