cvs-buildpackage(1)


NAME

   cvs-buildpackage - build Debian packages from a CVS repository.

SYNOPSIS

   cvs-buildpackage [options]

DESCRIPTION

   This manual page explains the Debian cvs-buildpackage utility, which is
   used to build Debian  packages  whose  sources  are  stored  in  a  CVS
   repository.  This is a CVS -aware wrapper around dpkg-buildpackage, and
   it first parses ./debian/changelog; exports the  corresponding  version
   (tagged  debian_version_<$version> ), and runs dpkg-buildpackage in the
   exported tree.  It looks for uncommitted files in the source tree,  and
   offers  to  abort before doing anything so that the user may commit the
   files  in,  if  they  wish.   cvs-buildpackage  can   also   optionally
   automatically  re-tag  all  files  before  exporting  the  source (this
   functionality is only relevant in the top level directory of a  checked
   out Debian package source tree, of course).

   Please  note  that  the work directory referred to below is the scratch
   directory where the program does its work; it is where it shall  export
   the  sources  from  CVS,  and it assumes full control of that directory
   Read: anything in that directory, apart from the orig source files, can
   be  deleted  by cvs-buildpackage Make sure not to have your checked out
   sources/working directory in the same location, as you may lose data.

   If this utility is not run from a top level directory of a checked  out
   Debian package source tree, then to build an old version the cvs module
   name or the package name have to be supplied on the command line.

   Combined with the companion utilities cvs-inject and cvs-upgrade,  this
   provides  an  infrastructure  to  facilitate  the  use of CVS by Debian
   maintainers. This allows one to keep separate CVS branches of a package
   for  stable,  unstable,  and possibly experimental distributions, along
   with the other benefits of a version control system.

OPTIONS

   -h Print out a usage message.

   -M<module>
          The name of the CVS module.

   -P<package>
          Sets the name of the package. Very useful if this is not running
          in the CVS checked out source tree, in which case one also needs
          the version of the package, which may optionally  be  determined
          by checking out the latest debian/changelog file.

   -V<version>
          The  version  number of the package. In conjunction with setting
          the package name, this option allows  operation  outside  a  CVS
          source tree (just needs the repository).

   -T<tag>
          The   CVS   tag  to  use  for  exporting  sources,  rather  than
          constructing one from the version. This assumes  you  know  what
          you are doing.

   -U<tag>
          The   CVS   tag  to  use  for  the  upstream  tag,  rather  than
          constructing one from the upstream  version.  This  assumes  you
          know what you are doing.

   -C<Build Command>
          Sets  the  name of the builder program invoked, nominally set to
          dpkg-buildpackage.  However,  the  user  may  choose  to  use  a
          different build program, or a wrapper, or even 'chroot /opt/root
          dpkg-buildpackage' to build the package in  a  chroot  jail,  if
          desired. (Obviously, this requires that the Work directory to be
          a subdirectory of a previously set up  chroot  jail).   One  may
          also  hook  in  pbuilder  by  setting this variable to 'pdebuild
          --auto-debsign --buildresult ../'.  (Again, this  requires  that
          pbuilder  has  been  set up correctly).  This argument overrides
          the settings in the  environment  variable  CVSDEB_BUILDPACKAGE,
          and the configuration file variable conf_buildpackage.

   -G<get method>
          This  option, if set, should contain a command to execute to get
          the original tarball into the current directory. This  can  then
          be  used  to  allow  one  to  get  the  original file using, for
          instance, wget or  curl.   This  overrides  the  CVSDEB_GET_ORIG
          environment  variable  and  the conf_get_orig configuration file
          option.

   -A     Use apt-get source to retrive the original tarball.  This option
          has  no effect unless a source package with the correct upstream
          version has already been  uploaded  and  is  referenced  from  a
          Sources  file  known to apt.  If -A and -G are both given, -G is
          tried first, and apt is used only if that did  not  produce  the
          tarball.  This overrides the CVSDEB_USE_APT environment variable
          and the conf_use_apt configuration file option.

   -R<root directory>
          Root of the original sources archive.  We  expect  to  find  the
          <package name>_<version>.orig.tar.gz          file         under
          <root directory>/package name>/ unless the cvs-buildpackage work
          directory  has  been  set,  or  we  want  to export the original
          sources from the vendor branch of the  CVS  tree.  If  the  cvs-
          buildpackage  work  directory  is  set  anywhere, (command line,
          configuration file, environment variable),  the  root  directory
          value  is  ignored, since we only need the root directory to set
          defaults for the cvs-buildpackage work directory. This  argument
          overrides    the    settings   in   the   environment   variable
          CVSDEB_ROOTDIR,   and   the    configuration    file    variable
          conf_rootdir.    Please  note  that  the  cvs-buildpackage  work
          directory referred to here is the scratch directory  where  this
          program works, not the directory that the human uses to work in.
          This should probably not be a sub  dir  of  CVSROOT,  since  cvs
          shall  refuse  to  export  packages  there, and the script shall
          fail.

   -W<work directory>
          The full path name for the cvs-buildpackage  working  directory,
          into  which  the  sources  will be exported out of CVS and which
          should contain the original <package name>_<version>.orig.tar.gz
          Please  note  that  it  is  not  strictly  essential to have the
          original sources, as this  script  will  check  out  the  vendor
          branch version tagged as upstream_version_<version> (without the
          Debian revision). However, these recreated original sources  are
          likely to be different for consecutive runs of cvs-buildpackage,
          and very likely to  be  different  from  the  pristine  original
          sources  (different  enough  to  cause problems with an upload).
          Thus it is strongly  advisable  to  keep  the  orig.tar.gz  file
          around.   Setting  this  variable overrides the settings for the
          root directory. This argument also overrides the settings in the
          environment  variable CVSDEB_WORKDIR, and the configuration file
          variable conf_workdir.  Please note  that  the  cvs-buildpackage
          work  directory  referred to here is the scratch directory where
          this program works, not the directory that  the  human  uses  to
          work  in. Also, you should specify an absolute path name for the
          work directory.  This should  probably  not  be  a  sub  dir  of
          CVSROOT,  since  cvs  shall refuse to export packages there, and
          the script shall fail.

   -F     The Force Tag option. This only has effect if run in the  source
          directory.  If  set,  it  forces  a  cvs  tag -F operation to be
          performed before exporting the sources. This argument  overrides
          the  settings  in  the environment variable CVSDEB_FORCETAG, and
          the configuration  file  variable  conf_forcetag.   The  default
          action is not to force a tag before export.

   -E     The  Full  Export option. Normally, cvs-buildpackage will export
          all the data from CVS using cvs export.  If the  orig.tar.gz  is
          not  available  in  the working directory, the full tree will be
          exported from CVS regardless of whether this option  is  set  or
          not.    This   option   overrides   the   environment   variable
          CVSDEB_FULLEXPORT,   and   the   configuration   file   variable
          conf_fullexport.

   -op    The  opposite of full export. Using this option resets the value
          of full export. Normally, cvs-buildpackage will export  all  the
          data  from  CVS  using  cvs  export.  With this option set, cvs-
          buildpackage  will  extract  the   orig.tar.gz   in   the   cvs-
          buildpackage  working  directory,  and  then  use  the cvs rdiff
          command to bring that tree up-to-date with the  CVS  tree  we're
          building. Please look at the -f<fix_script> option to see how to
          massage the source tree after extraction and patching.

   -ctp   Include package_ at the start of the CVS  tag.   This  overrides
          the    CVSDEB_PACKAGEINTAG    environment   variable   and   the
          conf_forcetag configuration file option.  The default is not  to
          include the prefix.

   -n     The  no  exec  (or  dry-run) option, causing cvs-buildpackage to
          print out all actions  that  would  be  taken  without  actually
          executing them.

   -f<fix_script>
          This option, if set, should point to a script that should be run
          just from the top level of the source tree to set up permissions
          of  scripts that have been created by pathching the sources from
          an recently extracted original tar file (the behaviour  attained
          by  setting  the  -op  option.  This  script  is called with two
          arguments, the package name, and version. This  script  is  only
          relevant  when  that  option  has  been  used. There a number of
          variables that are exported into the  environment,  for  example
          package  contains  the  name  of  the package, non_epoch_version
          contains  the  version  of  the  package  without   the   epoch,
          upstream_version  contains the upstream version.  debian_version
          contains the debian revision.  cvstag contains the cvs tag,  and
          cvs_upstream_tag contains the tag for the upstream version.

   -H<hook_script>
          This option, if set, should point to a script that should be run
          just before calling  dpkg-buildpackage.   Ideally,  things  like
          this  are done using the modules file and programs, but is still
          provided here for convenience. This script is  called  with  two
          arguments,  the  package  name,  and  version. There a number of
          variables that are exported into the  environment,  for  example
          package  contains  the  name  of  the package, non_epoch_version
          contains  the  version  of  the  package  without   the   epoch,
          upstream_version  contains the upstream version.  debian_version
          contains the debian revision.  cvstag contains the cvs tag,  and
          cvs_upstream_tag  contains  the  tag  for  the upstream version.
          This argument overrides the settings in the environment variable
          CVSDEB_HOOK  which  in  turn  over  rides the configuration file
          option conf_hook_script.

   -x<prefix>
          This option provides  the  CVS  default  module  prefix  (should
          really  fix  the  CVS modules file). This argument overrides the
          settings in the environment variable CVSDEB_PREFIX.   Note:  The
          configuration  file  variable  conf_prefix  is  not  honoured by
          cvs-buildpackage, since the prefix is required to calculate  the
          variables  that  are  supposed  to  be  defined when we load the
          config file (chicken and egg problem).

   The rest of the command line arguments are passed on, uninterpreted, to
   dpkg-buildpackage,  though we do pay attention to the -r (root command)
   option (which gives the command to achieve root access,  usually  sudo,
   fakeroot,  or  super  ).   The  -r  option overrides the other means of
   setting  the   root   command,   namely,   the   environment   variable
   CVSDEB_ROOTCOMMAND,  which  in  turn  overrides  the config file option
   conf_rootcommand.  No attempt is made to check any other option. Please
   use  the  -h  option  to see which of the dpkg-buildpackage options are
   supported and passed on.

FILES

   Apart  from  the  runtime  options,  cvs-buildpackage  also  looks  for
   site-wide  defaults in the file /etc/cvsdeb.conf.  After that, it looks
   for and reads ~/.cvsdeb.conf .  The default configuration allows  there
   to be a site wide override for the root or the cvs-buildpackage working
   directories on the site, but the cvsdeb.conf files are actually  Bourne
   shell  snippets,  and  any  legal  shell  directives may be included in
   there.  Note: Caution is urged with this file, since  you  can  totally
   change the way that the script behaves by suitable editing this file.

SEE ALSO

   dpkg-buildpackage(1),  cvs-inject(1),  cvs-upgrade(1),  cvsdeb.conf(5),
   cvs(1).

AUTHOR

   This manual page was written  Manoj  Srivastava  <srivasta@debian.org>,
   for the Debian GNU/Linux system.





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.