pbuilder(8)


NAME

   pbuilder - personal package builder

SYNOPSIS

   pbuilder create [options]

   pbuilder update [options]

   pbuilder build [options] .dsc-file

   pbuilder clean

   pbuilder login [options]

   pbuilder execute [options] -- script [script options]

   pbuilder dumpconfig

   pbuilder debuild [options]

DESCRIPTION

   Front  end program to the pbuilder suite of programs, used for creating
   and maintaining chroot environment and building Debian package  in  the
   chroot environment.

COMMANDS

   create
          Creates a base.tgz for the specified distribution.

   update
   up
   u
          Updates  the  base.tgz for the specified distribution.  Also, by
          specifying the  --override-config  option,  it  is  possible  to
          install  a  new apt-line using the given options and settings in
          the configuration file for the base.tgz.

          For example, to switch the distribution of an existing  base.tgz
          to sid, specify the --distribution sid --override-config options
          to update.

   build
   b
          Builds  the  package  specified  by  .dsc-file  in  the   chroot
          environment created using the base.tgz

   clean
          Cleans   up   the   directory  specified  by  the  configuration
          BUILDPLACE and APTCACHE specified in /etc/pbuilderrc

   login
   l
          Logs into the chroot, and cleaned up  afterwards.   Any  changes
          you  make  will  not  be  kept.  Only use this for temporary and
          debugging purposes.   Do  not  bind-mount  filesystems  directly
          inside the chroot.  Use --bindmounts option to mount.

   execute
   e
          Execute  a  script  or  command  inside the chroot, in a similar
          manner to login

          The file specified in the command-line argument will  be  copied
          into the chroot, and invoked.

          The remaining arguments are passed on to the script.

   dumpconfig
          Dumps configuration information, used for debugging.

   debuild
          Builds  a  Debian package from the Debian source directory.  The
          current directory should have the usual debian/ directory.

          Same as pdebuild --use-pdebuild-internal

OPTIONS

   The command is followed by options of the form --option name which will
   modify  the  semantics as explained below.  They are applied from left-
   to-right, and when there are conflicting options, the rightmost options
   will have effect.

   --basetgz [basetgz-location]
          Specifies the location of base.tgz

          This  option  will define the default distribution and apt-lines
          when used in pbuilder update and pbuilder create

   --buildplace [location of build]
          Specifies the location where building and base.tgz updating  and
          creation takes place. This is a temporary work directory.

          A  subdirectory  of  that directory using the current PID of the
          process is used.

   --buildresult [location to put build result]
          Specifies  the  location  the  build  result  gets  into   after
          building.  The deb files and other files that have resulted from
          build is copied there.  Note that the default value is  not  the
          current     directory,     or    ..     but    another    place,
          /var/cache/pbuilder/result This is to avoid overwriting  already
          existing deb files with the newly generated ones.

   --mirror [mirror location]
          Specifies   the   URL  of  Debian  mirror  to  be  specified  in
          sources.list inside the chroot.  This option is only valid  when
          distribution  is  being specified, for update and build targets.
          The format is something  like:  http://http.us.debian.org/debian
          which should point to your favourite mirror.

          This  option can optionally be omitted, and left blank, in which
          case, this part is skipped.

          Note that these URLs specified to pbuilder  will  be  used  from
          within  the  chroot,  and  specifying file:/somewhere/ will most
          probably fail.

   --othermirror [deb http://xxx/xxx/ ./ | other deb lines... ]
          The lines which is added to the sources.list, delimited  with  |
          Like      deb      http://local/mirror      stable      main|deb
          file:/usr/local/mirror ./

          The deb lines here are the ones that will appear at the  top  of
          the  sources.list  inside  the  chroot.   Be  sure to follow the
          syntax rules of sources.list(5).   These  lines  appear  at  the
          beginning  of the constructed sources file, so this is the place
          to list your local mirror sites;  apt  will  then  use  them  in
          preference to the ones listed in --mirror .

   --distribution [distribution]
          Specifies  the  distribution used.  The supported values are the
          ones debootstrap supports, plus experimental  which  is  special
          cased   in   pbuilder.    For  instance  you  may  use:  sid  or
          experimental .

   --architecture [architecture]
          Specifies   the   build   architecture    (as    described    in
          dpkg-architecture(1)).   It'll  be  the  architecture  used when
          creating the chroot, defaults to the system one.  The  supported
          values are the ones debootstrap supports.

   --host-arch [architecture]
          Specifies    the    host    architecture    (as   described   in
          dpkg-architecture(1)).  Defaults to the build architecture.  Use
          this  flag  if  you are interested in doing a cross architecture
          build.  pbuilder will make sure the environment is correctly set
          up,   including   adding   nocheck   to   DEB_BUILD_OPTIONS  and
          DEB_BUILD_PROFILES.

   --no-auto-cross
          Suppress automatic addition of nocheck to DEB_BUILD_OPTIONS  and
          DEB_BUILD_PROFILES  in  case  of  cross-building.  All the other
          configuration (adding the architecture to dpkg,  installing  the
          cross  toolchain, passing --host-arch to dpkg-buildpackage, etc)
          is done nonetheless; specify this flag  twice  to  prevent  that
          from happening too.

   --components [components]
          Specifies  the default distribution components to use. eg. "main
          contrib non-free".  Default is "main".

   --override-config
          Specify to use different apt set up inside the  chroot  than  it
          was  used for creating the base.tgz.  Specify this when you want
          to do pbuilder update with a different distribution  target  set
          up.

          --distribution , --components , --mirror , --othermirror options
          are only valid when --override-config  option  is  specified  in
          update target, or when pbuilder create is being called.

   --http-proxy [proxy]
          Specifies     the     http    proxy    URL.    Something    like
          http://xxx.xxx.xxx.xxx:8080/ should do.

   --use-network [yes|no]
          Specify yes when you do  not  want  to  disable  network  access
          during  build.   Network is not available on a Debian buildd, so
          you might want to keep the default  of  no.   Disabling  network
          access currently only works on Linux.

   --aptcache [location of retrieved package files]
          Specifies  the  location  where  the  packages downloaded by apt
          should be cached. Use --aptcache "" if you want  caching  to  be
          turned off.

   --debdelta
          This  option is used in the update target, and enable the use of
          debdelta  (if  it  is  already  installed,  otherwise  will   be
          installed the first time this option is used).

   --configfile [configuration file to load]
          Additional   configuration   file   to   read  after  all  other
          configuration files have been read.

   --hookdir [location of user scripts]
          Specifies the  location  where  scripts  for  user  intervention
          during  the  create  and  update  process  are stored. Currently
          scripts are executed  at  only  one  point,  on  exit  from  the
          chrooted  environment,  just  before  either a create or a build
          regenerated the base.tgz file. The script names must be  in  the
          form   X<digit><digit><whatever-else-you-want>  much  like  boot
          scripts. The scripts  must  be  executable  and  may  be  either
          binaries or interpreted scripts. If it is a script in other than
          Bourne Shell or Perl, it  is  up  to  the  user  to  ensure  the
          interpreter   was   previously   installed   in   the   chrooted
          environment. Files ending in ~ or .bak are ignored.

          Although it may not seem necessary, pbuilder --update  does  not
          invoke  the hooks if --hookdir is empty, so if you want to avoid
          running hooks, run pbuilder with --hookdir ""

          If there is a distribution hook, for example,  if  there  was  a
          file  sid inside the hook directory, and the script was creating
          the chroot for sid distribution, pbuilder will call  debootstrap
          with  that  as the 4th parameter in the chroot creation process.
          This allows for use of custom debootstrap hook script.

          A<digit><digit><whatever-else-you-want> is for build target.  It
          is  executed  before  build  starts;  after  unpacking the build
          system, and unpacking the  source,  and  satisfying  the  build-
          dependency.

          B<digit><digit><whatever-else-you-want>  is executed after build
          system finishes building, successfully, before copying back  the
          build result.

          C<digit><digit><whatever-else-you-want>  is executed after build
          failure, before cleanup.

          D<digit><digit><whatever-else-you-want>   is   executed   before
          unpacking  the  source  inside  the chroot, after setting up the
          chroot environment.  Create $TMP, and $TMPDIR if necessary.

          This is  called  before  build-dependency  is  satisfied.   Also
          useful for calling apt-get update

          E<digit><digit><whatever-else-you-want>    is   executed   after
          pbuilder update
           and pbuilder create finishes  apt-get  work  with  the  chroot,
          before  umounting  kernel  file systems (/proc) and creating the
          tarball from the chroot.

          F<digit><digit><whatever-else-you-want> is executed just  before
          user  logs  in,  or  program  starts  executing, after chroot is
          created in login or execute target.

          G<digit><digit><whatever-else-you-want> is executed  just  after
          debootstrap  finishes, and configuration is loaded, and pbuilder
          starts mounting /proc and invoking  apt-get  install  in  create
          target.

          H<digit><digit><whatever-else-you-want>  is  executed just after
          unpacking the chroot, mounting proc and any bind mount specified
          in BINDMOUNTS.  It's executed for every target that requires the
          unpacked chroot.  It's useful if you want to dynamically  change
          the chroot guts before anything starts using it.

          I<digit><digit><whatever-else-you-want>  is executed after build
          system finishes building, successfully, after copying  back  the
          build results.

          In your hook the following environment variables are available:
           PBUILDER_OPERATION  a  string  indicating which of the pbuilder
           command has been called.  Possible  values  are  build,  clean,
           create, debuild, dumpconfig, execute, login, update.
           BUILDDIR  the  place  where  the build happens, the sources are
           inside a directory named <package>-<version>.
           DISTRIBUTION the name of the used distribution, as provided  by
           the  DISTRIBUTION  config  value, or the --distribution command
           line flag.
           BUILD_ARCH contains the build  architecture,  the  architecture
           the package is building on.
           HOST_ARCH  contains the host architecture, the architecture the
           package is building for.

   --debbuildopts [options]

          List  of  options  that  are  passed  on  to  dpkg-buildpackage.
          Multiple  flags are additive and appended ot the any value given
          in DEBBUILDOPTS as specified in pbuilderrc.  To clear  the  list
          of options, pass the empty string, e.g.  --debbuildopts "".

          Multiple  options are delimited with spaces, like --debbuildopts
          "-j100 -E"

   --profiles [profile1[,profile2]]
          Comma-separated list of build profiles to use during the  build.
          It  overrides a possible DEB_BUILD_PROFILES environment variable
          already defined.

   --logfile [file to log]
          Specifies the logfile to create.  The messages generated  during
          execution  will  be  written  to  the  specified  file,  and the
          standard output.

   --loglevel I
          Specify how much output you want from pbuilder, valid values are
          E  (errors  only),  W (errors and warnings), I (errors, warnings
          and  informational)  and  D  (everything  including  some  debug
          messages).

   --binary-arch

          Specify  to  build only architecture specific targets instead of
          all targets.  This instructs pbuilder  to  respect  only  Build-
          Depends,  Build-Depends-Arch,  Build-Conflicts, Build-Conflicts-
          Arch source relationships, and calls dpkg-buildpackage with -B.

          Setting --debbuildopts after this option will re-set some  parts
          of the effects.

          Use this option rather than using --debbuildopts -B.

   --binary-indep

          Specify  to  build only architecture independent targets instead
          of all targets.  This instructs pbuilder to respect only  Build-
          Depends,  Build-Depends-Indep, Build-Conflicts, Build-Conflicts-
          Indep source relationships, and calls pkg-buildpackage with -A.

          Setting --debbuildopts after this option will re-set some  parts
          of the effect.

          Use this option rather than using --debbuildopts -A.

   --bin-nmu [changelog message]
          Specify  to  build  a  binary-NMU instead of a standard package.
          This option takes the changelog message to pass to  the  binary-
          NMU package as parameter.

   --bin-nmu-maintainer [maintainer]
          Specify the maintainer name and email address to be displayed in
          the changes file.  If no maintainer is provided, it defaults  to
          the last uploader.

   --bin-nmu-version [version number]
          Specify  the  number  to append to the version in the binary-NMU
          package.  If no number is provided, it defaults to 1.

   --bin-nmu-timestamp [timestamp]
          Specify the timestamp to use in the generated  chagnelog  entry.
          If  no  timestamp  is provided, it defaults to current time.  If
          you want to specify the  time  as  a  number  of  seconds  since
          1970-01-01   00:00:00   UTC,   prepend   an  at  sign  (@)  like
          @1478786376.

   --bindmounts bind-mount-points
          Bind-mount the  specified  directories  to  inside  the  chroot.
          bind-mount-points  is  a  space-delimited list of directories to
          bind-mount  which  should  be  specified  in  a  space-delimited
          manner,  surrounded  in  double quotations, like: "/srv /somedir
          /someotherdir"

   --debootstrapopts              --variant=buildd               --keyring
   /usr/share/keyrings/debian-archive-keyring.gpg
          Add extra command-line options to debootstrap.

          Specify  multiple  options  through  multiple  instance  of this
          option, for example:

          --debootstrapopts --arch=arm --debootstrapopts --variant=buildd

   --debootstrap debootstrap
          Use specified debootstrap implementation as debootstrap.   Known
          implementations  are cdebootstrap and debootstrap and default is
          to use debootstrap.

   --allow-untrusted
          Allow untrusted (no key installed)  and  unsigned  repositories.
          Warning:  Enabling  this  option  may  allow remote attackers to
          compromise the  system.   Better  use  signed  repositories  and
          --keyring to add the key(s).

   --keyring path/to/keyring
          Additional  keyrings  to  use for package verification with apt,
          not used for debootstrap (use --debootstrapopts).  Use  this  to
          add  (local) signed repositories. By default the debian-archive-
          keyring package inside the chroot  is  used.  Can  be  specified
          multiple times.

          Keyrings  are  copied into /etc/apt/trusted.gpg.d in the chroot.
          APT supports it since version 0.7.25.1, firstly available in the
          Debian  release  codenamed  "squeeze"  (released  on 2011).  For
          older chroots, use a G hook to run apt-key manually.

   --save-after-login

   --save-after-exec
          Save the chroot image after exiting from the chroot  instead  of
          deleting changes.  Effective for login and execute session.

   --autocleanaptcache
          Clean  apt cache automatically, to run apt-get autoclean to only
          keep the packages which are required for the version of  Debian.
          This  is  useful  when  you  keep  a aptcache directory for each
          distribution and want to keep the size of the aptcache down.

   --help

          Show a brief help message.

MORE SPECIFIC OPTIONS

   Some options are more involved to pbuilder internal  than  others.  The
   following options are available.

   --removepackages [packages to remove]
          Removes  the packages on creating the base.tgz.  Use this option
          to remove potentially dangerous or  undesirable  packages,  like
          lilo which nobody will need to have inside a chroot.

          Packages  should  be  specified  in  a  space-delimited  manner,
          surrounded in double quotations, like "lilo gcc mawk"

   --extrapackages [packages to add]
          Adds packages specified as an addition to the default, which  is
          build-essential  by  default.   This is used in build and create
          (after successfully creating the initial chroot) and update.

          The packages should be specified as a space-delimited list.

   --debemail [maintainer-name <email-address>]

          Specifies that dpkg-buildpackage be  called  with  -mmaintainer-
          name  <email-address>  instead of default value specified in the
          environment variable, or pbuilderrc

          This option is almost obsolete, use --debbuildopts instead

   --pkgname-logfile
          Alternative option to --logfile option.  Automatically creates a
          logfile  that  is  named  by  the  .dsc  file  name, only really
          applicable for build target.

          The file extension is specified by PKGNAME_LOGFILE_EXTENSION  in
          pbuilderrc

   --aptconfdir [APT configuration directory to use]
          Uses the apt configuration file found in the specified directory
          as the chroot configuration.  /etc/apt is one example,  so  that
          the same configuration can be used inside the chroot.

          This   option  overrides  other  options,  and  may  cause  some
          inconsistency problems.

   --timeout [timeout in sleep time]
          Time out building after sleeping set  time.   Specify  something
          like --timeout 10h in the command line.  Default is no timeout.

   --no-targz
          Not  using base.tgz for operation.  The --buildplace will not be
          deleted and reconstructed from a .tar.gz file.   Also,  pbuilder
          will  not  add  its process ID to the --buildplace as it usually
          would.

          Useful when experimenting with  chroots,  or  trying  to  create
          chroots outside control of pbuilder.

   --compressprog
          Program  to use for compression of the base.tgz.  The default is
          to use gzip, and any program that can be used to  compress  data
          using a pipe can be used.

          If   set  to  "pigz",  compression  and  decompression  is  gzip
          compatible but will use all available CPUs.
          If set to "cat",  there  will  be  no  compression  at  all  (so
          compression/decompression  will  be  a lot faster but takes much
          more space on the disk).

   --twice
          Build the package twice in a row.  Useful to ensure the  package
          cleans  up  properly.   The resulting packages are the ones from
          the second build.

   --preserve-buildplace
          Do not clean the --buildplace if it has the same contents as the
          .tar.gz file, and no modifications are done.

          For  preserving  the  build place for create and update targets,
          see debug option.

          As with --no-targz, suppresses appending pbuilder's  process  ID
          to the --buildplace.

          This is useful if you want to attempt to build a large number of
          packages successively, but you expect that many of  them  cannot
          have their build dependencies satisfied.

          It  will  clean  up  the  build  place  on  failure,  or after a
          successful build.

   --debug

          Turn on Debug mode of pbuilder, to be verbose about errors,  and
          try to avoid cleanup processing when error happens in update and
          create targets.

   --inputfile filename

          Add extra file  to  be  copied  to  BUILDDIR  inside  the  build
          environment.

          available in build and login and execute targets.

FILES

   /etc/pbuilderrc
          The system-wide configuration file for pbuilder.

   /usr/share/pbuilder/pbuilderrc
          The  default  settings  for  pbuilder,  used as fallback for all
          values that is not specified in /etc/pbuilderrc.

   ${HOME}/.pbuilderrc
          The personal configuration file for  pbuilder,  which  overrides
          settings set in other configuration files.

          Note  that ${HOME} is usually /root (if you are running pbuilder
          through sudo).

EXAMPLES

   pbuilder create

          # pbuilder create
          Distribution is sid.
          Building the build environment
           -> running debootstrap
          /usr/sbin/debootstrap
          I: Retrieving Release
          I: Retrieving Packages
          I: Validating Packages
               .
               .

   pbuilder update

          # pbuilder update
          W: /home/dancer/.pbuilderrc does not exist
          Building the build Environment
           -> extracting base tarball [/var/cache/pbuilder/base.tgz]
               .
               .

   pbuilder build

          # pbuilder build dsh_*.dsc
          I: using fakeroot in build.
          Current time: Sat Jan 20 12:03:34 JST 2007
          pbuilder-time-stamp: 1169262214
          Building the build Environment
           -> extracting base tarball [/home/dancer/DEBIAN/pbuilder/pbuilder/testsuite/tmp.FeeAX18779/testimage]
           -> creating local configuration
               .
               .

BUGS

   This program is starting to have too many options already.

AUTHOR

   Initial  coding,  and  main  maintenance  is  done  by  Junichi  Uekawa
   <dancer@debian.org>.  User hooks code added by Dale Amon <amon@vnl.com>

   The homepage is available at https://pbuilder.alioth.debian.org

SEE ALSO

   /usr/share/doc/pbuilder/pbuilder-doc.html, pdebuild(1), pbuilderrc(5)





Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.





Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.


Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.





Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.


Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.





Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.


Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.