Provided by: mercurial-buildpackage_0.10.1+nmu1_amd64 bug

NAME

       mercurial-buildpackage - Build a .deb package from source code under Mercurial control.

SYNOPSIS

       mercurial-buildpackage [option] ...

DESCRIPTION

       mercurial-buildpackage  builds  a  .deb  package  from within a Mercurial repository.  The
       package is built either by use of pbuilder(1) or in-place, depending on the options.

OPTIONS

       --version, -V

              Output version and exit.

       --verbose, -v

              Increase verbosity level.  Can be used several times.

       --no-check-dependencies, -d

              Do not check for missing build dependencies.

       --include-source, -s, -sa

              Force inclusion of upstream source.

       --from-version changelogversion, -f changelogversion

              Include all changelog entries from changelogversion.

       --source-only, -S

              Build the source only.

       --configfile pbuilderconfigfile, -c pbuilderconfigfile

              Use pbuilder(1) to build package in a chroot(8) specified in pbuilderconfigfile.

EXAMPLES

       mercurial-buildpackage

              Silently build a package in-place using debian/rules and  dpkg-genchanges(1).   The
              complete build log will be placed in ../package_version_arch.build.

       mercurial-buildpackage -s -f 1.2-3 -c /home/jps/lenny-pbuilderrc

              Build  a backport package for the Lenny release using pbuilder.  The source and all
              changelog entries since 1.2-3 are included in package.

REPOSITORY LAYOUT

       Let us assume that your package is  called  mypack.   The  package  repository  should  be
       created by a regular hg init mypack command.

       If  mypack  is  a  native  package,  then your repository will only have the usual default
       branch and mercurial-buildpackage will  only  affect  the  .hgtags  file  when  mercurial-
       tagversion(1) is invoked to tag a release of mypack.

       If  mypack  is  a  non-native package, then it will have a number of upstream tarballs, as
       specified  in  dpkg-source(1).   Let  us   assume   that   the   upstream   tarballs   are
       mypack_1.0.orig.tar.gz,  mypack_1.0.orig-comp1.tar.bz2  and  mypack_1.0.orig-comp2.tar.gz,
       and that you therefore use package format 3.0 (quilt).  mercurial-buildpackage  will  then
       maintain the following branches.

       mypack    A branch containing the source from the main tarball.

       comp1     A branch containing the source from the comp1 tarball.

       comp2     A branch containing the source from the comp2 tarball.

       pristine  A  branch  containing  additional  information  for recreating pristine upstream
                 tarballs.

       upstream  The combination of all upstream tarballs, as specified in dpkg-source(1).

       default   The branch for mainline package work.  It will have all  debian/patches  applied
                 and the quilt .pc directory included as part of the repository.

       So  each upstream tarball will have its own branch which together with the pristine branch
       are used by mercurial-pristinetar(1) to recreate pristine upstream tarballs.

       The upstream branch is used by mercurial-importorig(1) to merge new upstream versions into
       the  mainline  default  branch;  and  by mercurial-port(1) to make alternative packages of
       selected upstream versions, for instance for backporting.

       In general, you should leave alone all the branches dealing with upsteam sources, and only
       work in the default branch or branches created by mercurial-port(1) for porting.

OPERATIONAL OUTLINE

   In-place building
       fakeroot debian/rules clean
       dpkg-source -i.hg -b mypack ..
       debian/rules build
       debian/rules binary
       dpkg-genchanges > ../mypack_1.0-2_i386.changes

   Chroot building
       fakeroot debian/rules clean
       dpkg-source -i.hg -b mypack ..
       pbuilder --build --configfile ~/etc/sid-pbuilderrc ../mypack_1.0-2.dsc

AUTHOR

       Jens Peter Secher <jpsecher@gmail.com>

THANKS

       The ideas for this package originates from John Goerzen's hg-buildpackage.

SEE ALSO

       dpkg-source(1),  pbuilder(1),  mercurial-importorig(1), mercurial-importdsc(1), mercurial-
       tagversion(1), mercurial-pristinetar(1), mercurial-port(1).