[Python-modules-commits] [python-modules] 04/09: Fill out the basics of the git policy requirements.

Barry Warsaw barry at moszumanska.debian.org
Mon Nov 2 22:27:36 UTC 2015


This is an automated email from the git hooks/post-receive script.

barry pushed a commit to branch git-policy
in repository python-modules.

commit bd514873f1a5bb7426b4adac2c76e1431a28bb72
Author: Barry Warsaw <barry at python.org>
Date:   Tue Oct 20 16:49:30 2015 -0400

    Fill out the basics of the git policy requirements.
---
 policy.rst | 100 +++++++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 87 insertions(+), 13 deletions(-)

diff --git a/policy.rst b/policy.rst
index aed57c0..123792c 100644
--- a/policy.rst
+++ b/policy.rst
@@ -20,9 +20,9 @@
 
 .. contents::
 
-----------------
+
 Joining the team
-----------------
+================
 
 The team is open to any Python-related package maintainer. To be added to
 the team, please send your request to debian-python at lists.debian.org.  Include
@@ -48,9 +48,9 @@ discussion list or on #debian-python IRC channel (OFTC network).
 All team members should of course follow the main discussion list:
 debian-python at lists.debian.org
 
---------------
+
 Maintainership
---------------
+==============
 
 A package maintained within the team should have the name of the team either
 in the ``Maintainer`` field or in the ``Uploaders`` field.
@@ -73,28 +73,102 @@ python-modules-team at lists.alioth.debian.org whereas members who are only
 interested in some packages should use the Package Tracking System to
 follow the packages.
 
---------------
+
 Git Procedures
---------------
+==============
 
 As of October 9, 2015, the DPMT uses git as the version control system for all
-packages, and git-dpm as the patch management regime.  Details of the
-procedures, standards for branches and tags, and common workflows are
-maintained on the `Debian wiki <https://wiki.debian.org/Python/GitPackaging>`_
+packages, and git-dpm as the patch management regime.
+
+Git repositories live on Alioth under the url
+``git+ssh://git.debian.org/git/python-modules/packages/<src-pkg-name>.git``
+To access any source package's repository, use ``gbp clone`` on the above url,
+substituting *src-pkg-name* for the source package name of the package in
+question.
+
+DPMT git repos are **source-full**, meaning they contain both the upstream
+source and the ``debian/`` directory.
+
+DPMT requires upstream tarballs; releases cannot be made from upstream git
+repositories directly.  This is because PyPI contains upstream tarballs, and
+tarballs are what we upload to the Debian archive.
+
+Deviations from this policy are strongly discouraged.  When you must (not want
+to) deviate, you MUST include a ``debian/README.source`` file explaining the
+rationale for the deviation and the details of working with the package's git
+repo.
+
+
+Tools
+-----
+
+``gbp build-package`` is used to build the package, either as a source package
+for use with ``pbuilder``, ``sbuild``, etc. or as a binary package directory.
+Do *not* create ``quilt`` patches directly.  Instead, use ``git-dpm
+checkout-patched`` to enter a patch branch, edit the files, commit them, and
+then use ``git-dpm update-patches`` to switch back to the master branch, with
+the commits turned into patches.  Use the pseudo header ``Patch-Name`` in the
+commit message to control what the patch file will be named, e.g.::
+
+    Patch-Name: fix-the-foo.patch
+
+Use ``git-dpm tag`` to tag the repository when you upload a new release of the
+package.  See below for the required tag format.
+
+
+Branch names
+------------
+
+Currently, we require the following branch names in the git repo:
+
+* master - The Debianized upstream source directory.  This contains both the
+  upstream source and a ``debian/`` packaging directory.
+* pristine-tar - Contains the standard ``pristine-tar`` deltas.
+* upstream - The un-Debianized upstream source.  This is what you get when you
+  unpack the upstream tarball.
+
+In some cases you may need to have additional branches, such as if you have
+deltas for downstream distributions (e.g. Ubuntu) or need to maintain multiple
+versions for security releases in previous versions of Debian.  In those
+cases, follow the `DEP-14 <http://dep.debian.net/deps/dep14/>`_ guidelines,
+and document them in ``debian/README.source``.
+
+
+Tag format
+----------
+
+Use the following ``git-dpm`` tag formats for the three branches named above.
+Put these lines at the *end* of your ``debian/.git-dpm`` file::
+
+    debianTag="debian/%e%v"
+    patchedTag="patches/%e%v"
+    upstreamTag="upstream/%e%u"
+
+All packages which have been automatically converted from the old Subversion
+repository should already have these lines present, but you will need to add
+them for any new packages.
+
+
+More information
+----------------
+
+Additional information for working with DPMT git repositories, creating new
+repositories, common workflows, and helpful hints, can be found on the
+`Debian wiki <https://wiki.debian.org/Python/GitPackaging>`_
 page.
 
------------------
+
 Quality Assurance
------------------
+=================
 
 The goal of the team is to maintain all packages as best as possible.
 Thus every member is encouraged to do general QA work on all the
 packages: fix bugs, test packages, improve them to use the latest python
 packaging tools, etc.
 
--------
+
 License
--------
+=======
 
 Copyright (c) 2005-2015 Debian Python Modules Team. All rights reserved.
 This document is free software; you may redistribute it and/or modify

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/tools/python-modules.git



More information about the Python-modules-commits mailing list