Rev 3347: (mbp) Developer's Guide text about PPA builds in file:///home/pqm/archives/thelove/bzr/%2Btrunk/

Canonical.com Patch Queue Manager pqm at pqm.ubuntu.com
Wed Apr 9 05:17:44 BST 2008


At file:///home/pqm/archives/thelove/bzr/%2Btrunk/

------------------------------------------------------------
revno: 3347
revision-id:pqm at pqm.ubuntu.com-20080409041736-3oh91gmqxjq9xnoc
parent: pqm at pqm.ubuntu.com-20080408192311-eoozb2m0s383xt35
parent: mbp at sourcefrog.net-20080409021245-mef70lqngjkldtzl
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Wed 2008-04-09 05:17:36 +0100
message:
  (mbp) Developer's Guide text about PPA builds
modified:
  doc/developers/HACKING.txt     HACKING-20050805200004-2a5dc975d870f78c
    ------------------------------------------------------------
    revno: 3314.1.2
    revision-id:mbp at sourcefrog.net-20080409021245-mef70lqngjkldtzl
    parent: mbp at sourcefrog.net-20080331045925-rivzcr7vncbtx7e6
    committer: Martin Pool <mbp at sourcefrog.net>
    branch nick: doc-ppa
    timestamp: Wed 2008-04-09 12:12:45 +1000
    message:
      Minor corrections to PPA build process (dato)
    modified:
      doc/developers/HACKING.txt     HACKING-20050805200004-2a5dc975d870f78c
    ------------------------------------------------------------
    revno: 3314.1.1
    revision-id:mbp at sourcefrog.net-20080331045925-rivzcr7vncbtx7e6
    parent: pqm at pqm.ubuntu.com-20080328090406-vc3xtc517r5z96bp
    committer: Martin Pool <mbp at sourcefrog.net>
    branch nick: doc-ppa
    timestamp: Mon 2008-03-31 15:59:25 +1100
    message:
      Add Developer's Guide text about PPA builds
    modified:
      doc/developers/HACKING.txt     HACKING-20050805200004-2a5dc975d870f78c
=== modified file 'doc/developers/HACKING.txt'
--- a/doc/developers/HACKING.txt	2008-01-16 00:26:25 +0000
+++ b/doc/developers/HACKING.txt	2008-04-09 02:12:45 +0000
@@ -2,12 +2,21 @@
 Bazaar Developer Guide
 ======================
 
+This document describes the Bazaar internals and the development process.  
+It's meant for people interested in developing Bazaar, and some parts will
+also be useful to people developing Bazaar plugins.
+
+If you have any questions or something seems to be incorrect, unclear or
+missing, please talk to us in ``irc://irc.freenode.net/#bzr``, or write to
+the Bazaar mailing list.  To propose a correction or addition to this
+document, send a merge request or new text to the mailing list.
+
+The current version of this document is available in the file 
+``doc/developers/HACKING.txt`` in the source tree, or at
+http://doc.bazaar-vcs.org/bzr.dev/en/developer-guide/HACKING.html
+
 .. contents::
 
-(The current version of this document is available in the file 
-``doc/developers/HACKING.txt`` in the source tree, or at
-http://doc.bazaar-vcs.org/bzr.dev/en/developer-guide/HACKING.html)
-
 
 Getting Started
 ###############
@@ -2000,5 +2009,132 @@
 #. Update http://bazaar-vcs.org/WindowsDownloads to have the correct version number as well as the correct sha1sum displayed.
 
 
+The Bazaar PPA archive
+----------------------
+
+We build Ubuntu ``.deb`` packages for Bazaar as an important part of the release
+process.  These packages are hosted in a `Personal Package Archive (PPA)`__ on
+Launchpad, at <https://launchpad.net/~bzr/+archive>.
+
+  __ https://help.launchpad.net/PPAQuickStart
+
+We build packages for every supported Ubuntu release
+<https://wiki.ubuntu.com/Releases>.  Packages need no longer be updated
+when the release passes end-of-life because all users should have then
+update.
+
+The ``debian/`` directory containing the packaging information is kept in
+branches on Launchpad, named like 
+<https://code.launchpad.net/~bzr/bzrtools/packaging-dapper>
+
+Updating the PPA for a new release
+----------------------------------
+
+Preconditions for building these packages:
+  
+ * You must have a Launchpad account and be a member of the `~bzr`__ team
+   
+ __ https://edge.launchpad.net/~bzr/+members>
+
+ * You must have a GPG key registered to your Launchpad account.
+
+ * Configure ``dput`` to upload to our PPA with this section in your
+   ``~/.dput.cf``::
+
+        [bzr-ppa]
+        fqdn = ppa.launchpad.net
+        method = ftp
+        incoming = ~bzr/ubuntu
+        login = anonymous
+        allow_unsigned_uploads = 0
+
+ * You need a Ubuntu (or probably Debian) machine, and ::
+
+     sudo apt-get install build-essential devscripts dput
+
+Here is the process; there are some steps which should be automated in
+future:
+
+#. You will need a working directory for each supported release, such as
+   ``~/bzr/Packaging/dapper``
+
+#. Download the official tarball of the release to e.g. ``~/bzr/Releases``
+
+#. Copy the original tarball into your per-disto directory, then untar it 
+   and if necessary rename it::
+
+     cp -l ~/bzr/Releases/bzrtools-1.3.0.tar.gz bzrtools_1.3.0.orig.tar.gz
+     tar xfvz bzrtools_1.3.0.orig.tar.gz
+     mv bzrtools bzrtools-1.3.0
+
+#. Change into that directory and check out the packaging branch::
+
+     cd bzrtools
+     bzr checkout \
+       bzr+ssh://bazaar.launchpad.net/~bzr/bzrtools/packaging-dapper \
+       debian
+
+#. For Bazaar plugins, change the ``debian/control`` file to express a
+   dependency on the correct version of ``bzr``.
+
+   For bzrtools this is typically::
+
+      Build-Depends-Indep: bzr (>= 1.3~), rsync
+      Depends: ${python:Depends}, bzr (>= 1.3~), bzr (<< 1.4~), patch
+
+#. Make a new ``debian/changelog`` entry for the new release,
+   either by using ``dch`` or just editing the file::
+
+     dch -v '1.3.0-1~bazaar1~dapper1' -D dapper
+
+   dch will default to the distro you're working in and this isn't checked
+   against the version number (which is just our conversion).  So make
+   sure to specify it.
+
+   Make sure you have the correct email address for yourself, version
+   number, and distribution.  It should look something like this:
+
+     >  bzrtools (1.3.0-1~bazaar1~dapper1) dapper; urgency=low
+     >
+     >   * New upstream release.
+     >
+     >  -- Martin Pool <mbp at canonical.com>  Mon, 31 Mar 2008 12:36:27 +1100
+
+   If you need to upload the package again to fix a problem, normally you
+   should increment the last number in the version number, following the
+   distro name.  Make sure not to omit the initial ``-1``, and make sure
+   that the distro name in the version is consistent with the target name
+   outside the parenthesis.
+
+#. Commit these changes into the packaging branch::
+
+     bzr ci -m '1.3.0-1~bazaar1~dapper1: New upstream release.' debian
+
+#. Build a source package::
+
+     debuild -S -sa -i
+
+   This will create a ``.changes`` file in the per-distro directory,
+   and should invoke gpg to sign it with your key.
+   Check that file is reasonable: it should be uploading to the intended
+   distribution, have a .orig file included, and the right version number.
+
+#. Upload into the PPA::
+
+     dput bzr-ppa ../bzrtools__1.3.0-1\~bazaar1\~dapper1_source.changes
+
+   Don't forget the ``bzr-ppa`` component or dput will try to upload into
+   the main archive by default.  You can disable this by adding this
+   section to your ``.dput.cf``::
+
+     [ubuntu]
+     fqdn = SPECIFY.A.PPA.NAME
+
+#. You should soon get an "upload accepted" mail from Launchpad, which
+   means that your package is waiting to be built.  You can then track its
+   progress in <https://launchpad.net/~bzr/+archive> and
+   <https://launchpad.net/~bzr/+archive/+builds>.
+
+
 ..
    vim: ft=rst tw=74 ai




More information about the bazaar-commits mailing list