summaryrefslogtreecommitdiffstats
path: root/debian/README.Devel
diff options
context:
space:
mode:
Diffstat (limited to 'debian/README.Devel')
-rw-r--r--debian/README.Devel78
1 files changed, 78 insertions, 0 deletions
diff --git a/debian/README.Devel b/debian/README.Devel
new file mode 100644
index 0000000..5b31b89
--- /dev/null
+++ b/debian/README.Devel
@@ -0,0 +1,78 @@
+Development of the Debian PostgreSQL packages
+=============================================
+
+Package structure
+-----------------
+To keep the maintenance of the packages as easy as possible, as much
+packaging logic as possible should be put into postgresql-common. The
+server packages (postgresql-X.Y) should not contain any conffile but
+a generic init script (which just calls hook functions shipped by
+postgresql-common). Likewise, their maintainer scripts should only
+call the hooks offered by postgresql-common.
+
+This structure makes it easy to fix packaging bugs for all available
+major versions by only uploading a new version of the small
+postgresql-common package. It also keeps the effort of packaging a new
+major version as small as possible.
+
+Revision control system
+-----------------------
+Package development happens with the distributed revision
+control system "bazaar" (http://bazaar-vcs.org). This allows anybody
+to create and develop a personal branch of the official package
+without having write access to the trunk.
+
+If you want to help with developing the packages, you should work with
+bazaar to benefit from the features of a revision control system; this
+will also allow the Debian maintainers to easily merge your changes
+into the official packages.
+
+The official Debian package branches are at
+
+ http://anonscm.debian.org/bzr/pkg-postgresql/
+
+The orig.tar.gz files are not kept under revision control since they
+would only bloat the archive. They need to be downloaded separately
+from any Debian mirror. "bzr bd" (from the bzr-builddeb package) will
+fetch those automatically.
+
+Creating your personal branch
+-----------------------------
+First, please make sure that bzr can figure out a correct email
+address with
+
+ $ bzr whoami
+
+If it is not correct, please set the $EMAIL environment variable.
+
+If you want to help with the package development or just want to
+develop a feature you need, you should create your own branch where
+you can commit to. As an example, let's create a branch of the
+postgresql-common package:
+
+ $ bzr branch http://bzr.debian.org/bzr/pkg-postgresql/postgresql-common/trunk/
+
+Now you can happily use "bzr diff", "bzr commit", "bzr add", "bzr
+pull", "bzr merge", and all the other features of revision control.
+
+Publishing your branch
+----------------------
+
+You can use any server where you have ssh or sftp access (use sftp:// for the
+latter) and which is http accessible:
+
+ bzr push sftp://myuser@my.server.com:public_html/bzr/psql/common
+
+After this initial command, "bzr push" is enough for subsequent
+pushes, bzr remembers the last push location. This way you can keep
+your remote branch up to date.
+
+If you do not have any server available, you can create an account on Launchpad
+(https://launchpad.net) and push it to lp:~<username>/postgresql/<branchname>.
+
+If you developed a particular feature or bug fix and would like to see
+it in the official package, please send a mail to
+pkg-postgresql-public@lists.alioth.debian.org or to mpitt@debian.org,
+and state the URL of your branch.
+
+ -- Martin Pitt <mpitt@debian.org>