Man Linux: Main Page and Category List


       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 $

       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 example).

              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

              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

              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

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

              Variable settings with names  of  this  form  are  generated  by

              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 assumed.


              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),


       Copyright (C) 1995-1996 Ian Jackson
       Copyright (C) 2000 Wichert Akkerman

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