Provided by: dpkg-dev_1.16.1.2ubuntu7_all bug


       deb-substvars - Debian source substitution variables




       Before  dpkg-source,  dpkg-gencontrol  and dpkg-genchanges write their control information
       (to  the  source  control  file  .dsc  for  dpkg-source  and  to   standard   output   for
       dpkg-gencontrol  and  dpkg-genchanges)  they  perform  some  variable substitutions on the
       output file.

       A variable  substitution  has  the  form  ${variable-name}.   Variable  names  consist  of
       alphanumerics,  hyphens  and colons and start with an alphanumeric. Variable substitutions
       are performed repeatedly until none are left;  the  full  text  of  the  field  after  the
       substitution is rescanned to look for more substitutions.

       After all the substitutions have been done each occurrence of the string ${} (which is not
       a legal substitution) is replaced with a $ sign.

       While variable substitution is done on all control fields, some of those fields  are  used
       and  needed during the build when the substitution did not yet occur. That's why you can't
       use variables in the Package, Source and Architecture fields.

       Variable substitution happens on the content of the fields after they  have  been  parsed,
       thus  if  you  want  a variable to expand over multiple lines you do not have to include a
       space after the newline. This is done implicitly when the field is output. For example, if
       the variable ${Description} is set to "foo is bar.${Newline}foo is great." and if you have
       the following field:

        Description: foo application
         More text.

       It will result in:

        Description: foo application
         foo is bar.
         foo is great.
         More text.

       Variables can be set using the -V common option. They can be also specified  in  the  file
       debian/substvars  (or  whatever  other  file  is specified using the -T option). This file
       consists of lines of the form name=value.  Trailing whitespace on each line, blank  lines,
       and lines starting with a # symbol (comments) are ignored.

       Additionally, the following standard variables are available:

       Arch   The current build architecture (from dpkg --print-architecture).

              The source package version.

              The upstream source package version, including the Debian version epoch if any.

              The  binary  package  version (which may differ from source:Version in a binNMU for

              The source package  version  (from  the  changelog  file).  This  variable  is  now
              deprecated  as  its  meaning  is  different  from  its  function,  please  use  the
              source:Version or binary:Version as appropriate.

              The total size of the package's installed files. This  value  is  copied  into  the
              corresponding  control  file field; setting it will modify the value of that field.
              If this variable isn't set dpkg-gencontrol will use du -k debian/tmp  to  find  the
              default value.

              Additional  disk  space used when the package is installed. If this variable is set
              its value is added to that of the Installed-Size variable (whether  set  explicitly
              or  using  the  default  value) before it is copied into the Installed-Size control
              file field.

              The value of the output field fieldname (which  must  be  given  in  the  canonical
              capitalisation).  Setting  these variables has no effect other than on places where
              they are expanded explicitly.

       Format The .changes file format version generated by this version of the source  packaging
              scripts.  If you set this variable the contents of the Format field in the .changes
              file will change too.

       Newline, Space, Tab
              These variables each hold the corresponding character.

              Variable settings with names of this form are generated by dpkg-shlibdeps.

              The upstream version of dpkg.

              The full version of dpkg.

       If a variable is referred to but not defined it generates a warning and an empty value  is


              List of substitution variables and values.


       The  point  at  which  field  overriding  occurs compared to certain standard output field
       settings is rather confused.


       dpkg(1), dpkg-genchanges(1), dpkg-gencontrol(1), dpkg-shlibdeps(1), dpkg-source(1).


       Copyright © 1995-1996 Ian Jackson
       Copyright © 2000 Wichert Akkerman

       This is free software; see the GNU General Public Licence version 2 or later  for  copying
       conditions. There is NO WARRANTY.