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