Provided by: svn-buildpackage_0.6.23ubuntu1_all bug

NAME

       svn-buildpackage - build Debian packages from SVN repository

SYNOPSIS

       svn-buildpackage [ OPTIONS... ] [ OPTIONS for dpkg-buildpackage ]

DESCRIPTION

       Builds   a   Debian   package  from a Subversion repository. The source
       code repository must be in the format created by svn-inject,  and  this
       script must be executed from the working directory (trunk/package).

       By  default, the working directory is used as the main source directory
       (assuming the whole upstream source is being stored in the repository).
       The  alternative   is  so called  "merge  mode". With this method, only
       the debian directory (and maybe some other modified files)  are  stored
       in  the  repository.   At build time, the contents of the svn trunk are
       copied to the extracted tarball contents (and can  overwrite  parts  of
       it).   To   choose   this   working   model,   set  the  svn   property
       mergeWithUpstream   on   the    Debian    directory    ("svn    propset
       mergeWithUpstream 1 debian").

       The default behaviour is as follows:

       Check  the  working  directory,  complain on uncommited files (also see
       --svn-ignore-new)

       Copy the orig tarball to the build area if necessary (also  see  --svn-
       no-links)

       Extract the tarball (in merge mode) or export the svn work directory to
       the build directory (also see below and --svn-no-links)

       Build with dpkg-buildpackage (also  see  --svn-builder,  --svn-lintian,
       etc.)

       Create a changelog entry for the future version

OPTIONS

       svn-buildpackage accepts the following options on the command-line:

                    [ --svn-builder=COMMAND ]
              Specifies    alternative    build    command  instead  of  dpkg-
              buildpackage, eg.  debuild, pdebuild, etc. Every parameters that
              svn-buildpackage  doesn’t  know (--svn-*) are passed to COMMAND.
              There is no difference between the command line and config  file
              parameters . They are used at the same time.

              WARNING:  shell  quotation  rules  do not completely apply here,
              better use wrappers for complex constructs.  Using  this  option
              may    break    --svn-lintian,    --svn-linda   and   --svn-move
              functionality. Some functions may  be  disabled  when  a  custom
              build  command  is  used because the output file location is not
              predictable.

                    [ --svn-ignore-new | --svn-ignore ]
              Don’t stop on svn conflicts or new/changed files.  To  set  this
              behaviour  for  single files set the "deb:ignoreM" property to 1
              on them. Also see documentation of the  svn:ignore  property  in
              the SVN book.

                    [ --svn-dont-clean ]
              Don’t run debian/rules clean (default: clean first)

                    [ --svn-no-links ]
              Don’t  use file links but try to export or do hard copies of the
              working directory (default: use links where possible).  This  is
              useful  if your package fails to build because some files, empty
              directories, broken links, ...  cannot not be  transported  with
              in the default link-copy mode.

                    [ --svn-dont-purge ]
              Don’t  remove  the  build  directory  when  the  build  is done.
              (Default: remove  after successful build)

                    [ --svn-reuse ]
              If  possible,  reuse an existing build directory  in  subsequent
              builds. The build directory is not purged after the build, it is
              not renamed when a build starts and the files  are  just  copied
              over  into  it.  Useful  in  mergeWithUpstream  mode  with large
              packages.

                    [ --svn-rm-prev-dir ]
              If a  previous  build  directory  is  found,  remove  it  before
              building instead of renaming it. if --svn-reuse is also given in
              the same line, the reuse behaviour occurs.

                    [ --svn-export ]
              Just export the working directory and do neccessary  code  merge
              operations, then exit.

                    [ --svn-tag ]
              Final  build:  Tag,  export,  build cleanly & make new changelog
              entry

                    [ --svn-tag-only | --svn-only-tag ]
              Don’t build the package, do only the tag copy

                    [ --svn-retag ]
              If an existing target directory has been found while  trying  to
              create the tag copy, remove the target directory first.

                    [ --svn-noautodch ]
              No new Debian changelog entry is added automatically.

                    [ --svn-lintian | --svn-linda ]
              Run lintian or linda on the resulting changes file when done.

                    [ --svn-move ]
              When done, move the created files (as listed in .changes) to the
              parent directory, relative to the one where svn-buildpackage was
              started.

                    [ --svn-move-to=... ]
              Specifies the target directory to move generated files to.

                    [ --svn-pkg=packagename ]
              Overrides  the  detected package name. Use with caution since it
              could be set too late during the processing (eg. still have  the
              old value when expanding shell variables).

                    [ --svn-override=var=value,anothervar=value ]
              Overrides  any  config  variable  that  has been autodetected or
              found in .svn/deb-layout.

                    [ --svn-prebuild | --svn-postbuild | --svn-pretag | --svn-
       posttag ]
              Commands  (hooks)  to  be  executed before/after  the  build/tag
              command invocations, e.g. to download the orig tarballs from the
              archive. Shell  code  can  be  emdded  here  though  it  is  not
              recommended.  Various  helping  variables  are  available in the
              environment,  see  ENVIRONMENT  VARIABLES  below  for   detailed
              explanation.

                    [ --svn-noninteractive ]
              With  this parameter svn-buildpackage will not interact with the
              user

                    [ --svn-savecfg ]
              By default, svn-buildpackage used to create  .svn/deb-layout  on
              every  invocation.   Since  version  0.6.22  this  behaviour  is
              deprecated.

              With this parameter svn-buildpackage will (partly) replicate the
              old  behaviour.  In  contrast  to  the deprecated behaviour, the
              .svn/deb-layout  is  regarded  as  a  local  override;  the  old
              behaviour  simply ignored any versioned layout information if it
              found .svn/deb-layout.

              This option was provided since it can be useful when creating  a
              local override file.

                    [ --svn-verbose ]
              More verbose program output

                    [ -h | --help ]
              Show the help message

CONFIGURATION FILE

       svn-buildpackage’s  behaviour  can  be  modified using the file ~/.svn-
       buildpackage.conf. Additional  parts  can  be  added  in  each  package
       working  directory  using  the  file  .svn/svn-buildpackage.conf. It is
       essentially a list of the long command line  options  (without  leading
       minus  signs), one argument per line (without quotes surrounding multi-
       word arguments). The variables are expanded with the  system  shell  if
       shell  variables  are  found  there. Avoid ~ sign because of unreliable
       expansion: it is better to use $HOME instead.  Example:

       svn-builder=debuild -EPATH
       svn-no-links
       svn-override=origDir=$HOME/debian/upstream/$PACKAGE
       # svn-ignore-new
       #svn-lintian

DIRECTORY LAYOUT HANDLING

       By default, svn-buildpackage expects a configuration file with path/url
       declaration,  .svn/deb-layout.  The values there can be overridden with
       the --svn-override  option, see above. If a config file  could  not  be
       found,  the  settings  are autodetected following the usual assumptions
       about local  directories  and  repository  layout.   In  addition,  the
       contents  of a custom file debian/svn-deblayout will be imported during
       the initial configuration. Package maintainers can store this  file  in
       the  repository to pass correct defaults to new svn-buildpackage users.
       The  format  is  the  same  as  in  the  file  .svn/deb-layout.  As  an
       alternative  to  the  debian/svn-deblayout  file,  maintainers  can set
       Subversion properties for the  debian/  directory;  any  properties  of
       debian/ which have a name of the form svn-bp:PROP will be the source of
       a PROP setting which has the value indicated by the first line  of  the
       property value.

ENVIRONMENT VARIABLES

       The  following  environment  variables are exported by svn-buildpackage
       and can be used in hook commands or the package build system.

       PACKAGE

       package
              The source package name

       SVN_BUILDPACKAGE
              Version of svn-buildpackage

       TAG_VERSION

       debian_version
              The complete Debian version string, also used for the tag copy

       non_epoch_version
              Same as debian_version but without any epoch strings

       upstream_version
              Same as debian_version but without Debian extensions

       guess_loc
              Guessed upstream source package name in the pool, something like
              libm/libmeta-html-perl_3.2.1.0.orig.tar.g

       DIFFSRC
              (experimental) shows the location of generated diff file

       All  the  layout  properties  are exported to the environment, too. The
       following ones have meaning to svn-buildpackage.

       buildArea
              the location of build area directory

       trunkUrl
              the URL of the trunk directory for the current package.

       tagsUrl
              the URL of the tags base directory for the current package.

       origDir
              the local directory where the orig tarball should be located.

       origUrl
              the URL from where the orig tarball for the current package  can
              be pulled from.

       The following variables are understood by svn-buildpackage:

       FORCETAG
              Ignore  the  signs  of  an  incomplete  changelog  and  tag  the
              repository anyway

       FORCEEXPORT
              Export   upstream   source   from   the   repository   even   if
              mergeWithUpstream property is set

       DEBIAN_FRONTEND
              If   DEBIAN_FRONTEND   is   set   to   ’noninteractive’   --svn-
              noninteractive is called silently

RECOMMENDATIONS

       Use shell aliases. Here are some examples for Bash:

       alias svn-b="svn-buildpackage -us -uc -rfakeroot --svn-ignore"; alias svn-br="svn-b --svn-dont-purge --svn-reuse";  alias  svn-bt="svn-buildpackage  --svn-tag -rfakeroot";

       Those commands have respective meanings: build  regardless  of  new  or
       changed  files;  build regardless of new or changed files and reuse the
       build directory; build (for upload) and tag.

       SSH  is  the  easiest  way to access remote repositories,  although  it
       usually   requires  entering  a  password  more  frequently  with  svn-
       buildpackage.   Workarounds  include  using  an  ssh  key   without   a
       passphrase  (although  this  is insecure and still relatively slow), or
       the SSH connection caching feature present in recent versions  of  SSH.
       For details, see the svn-buildpackage manual.

       Another  way  to  get  a remote link is using the Subversion DAV module
       (with SSL and Apache user  authentication),  see  the  svn-buildpackage
       HOWTO manual for details.

SEE ALSO

                 /usr/share/doc/svn-buildpackage/
              The svn-buildpackage HOWTO manual

                 svn-inject(1)
              puts a Debian source package into Subversion repository

                 svn-upgrade(1)
              upgrade source package from a new upstream revision

                 svn(1)
              Subversion command line client tool

                 dpkg-buildpackage(1)
              Debian source package tools

                 lintian(1)
              Debian package checker

AUTHOR

       svn-buildpackage  was  written  by Eduard Bloch with contributions from
       others. You can contact the current  maintainers  by  joining  the  IRC
       channel #debian-svn-bp on the OFTC network (via irc.debian.org).

       This  manual  page was written by Eduard Bloch in roff and converted to
       SGML by Goneri Le Bouder.

                                 22 April 2008             SVN-BUILDPACKAGE(1)