xenial (1) mercurial-buildpackage.1.gz

Provided by: mercurial-buildpackage_0.10.1_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).