Path: csiph.com!eternal-september.org!feeder.eternal-september.org!aioe.org!bofh.it!news.nic.it!robomod From: Barry Warsaw Newsgroups: linux.debian.maint.python Subject: Re: Python Policy Date: Tue, 20 Oct 2015 23:00:02 +0200 Message-ID: References: X-Original-To: debian-python@lists.debian.org X-Mailbox-Line: From debian-python-request@lists.debian.org Tue Oct 20 20:54:20 2015 Old-Return-Path: X-Amavis-Spam-Status: No, score=-10.36 tagged_above=-10000 required=5.3 tests=[BAYES_00=-2, CAPINIT=0.5, DIGITS_LETTERS=1, FOURLA=0.1, FVGT_m_MULTI_ODD=0.02, LDO_WHITELIST=-5, MURPHY_DRUGS_REL8=0.02, PGPSIGNATURE=-5] autolearn=ham autolearn_force=no X-Policyd-Weight: using cached result; rate:hard: -5 X-Mailer: Claws Mail 3.12.0 (GTK+ 2.24.28; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; boundary="Sig_/UbRywzbVqc6ZIiPN+WF/w6+"; protocol="application/pgp-signature" X-Mailing-List: archive/latest/13034 List-ID: List-URL: List-Archive: https://lists.debian.org/msgid-search/20151020165359.69f44eae@limelight.wooz.org Approved: robomod@news.nic.it Lines: 348 Organization: linux.* mail to news gateway Sender: robomod@news.nic.it X-Original-Date: Tue, 20 Oct 2015 16:53:59 -0400 X-Original-Message-ID: <20151020165359.69f44eae@limelight.wooz.org> X-Original-References: <20151019133137.6174ef07@limelight.wooz.org> <20151019212639.GF3846@p1otr.com> Xref: csiph.com linux.debian.maint.python:7722 --Sig_/UbRywzbVqc6ZIiPN+WF/w6+ Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Latest diff against master. If you're happy with this, I'll merge to maste= r, update the web page, and trim the wiki. Cheers, -Barry diff --git a/policy.rst b/policy.rst index c09f03a..123792c 100644 --- a/policy.rst +++ b/policy.rst @@ -1,39 +1,44 @@ -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D - Python Modules Packaging Team - Policy -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + Debian Python Modules Team - Policy +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20 -:Author: Gustavo Franco , Rapha=C3=ABl Hertzog +:Author: Gustavo Franco , Rapha=C3=ABl Hertzog , Barry Warsaw :License: GNU GPL v2 or later =20 :Introduction: - Python Modules Packaging Team aims to improve the python modules situati= on - in Debian, by packaging available modules that may be useful and providi= ng - a central location for packages maintained by a team, hence improving - responsiveness, integration and standardization. - - PMPT or just python-modules is hosted at alioth.debian.org, the Debian - GForge installation. We currently have a SVN repository and a mailing li= st - whose email address can be used in the Maintainer field on co-maintained + The Debian Python Modules Team (DPMT) aims to improve the Python modules + situation in Debian, by packaging available modules that may be useful a= nd + providing a central location for packages maintained by a team, hence + improving responsiveness, integration, and standardization. + + The DPMT is hosted at alioth.debian.org, the Debian GForge installation.= We + currently have a git repository and a mailing list whose email address c= an + be used in the ``Maintainer`` or ``Uploaders`` fields on co-maintained packages. =20 For more information send a message to: debian-python@lists.debian.org =20 .. contents:: =20 ----------------- + Joining the team ----------------- +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20 -The team is open to any python-related package maintainer. To be added on -the team, please send your request on debian-python@lists.debian.org -indicate why you want to join the team: maintain your current packages -within the team, help maintain some specific packages, etc. -Don't forget to indicate your Alioth login ! +The team is open to any Python-related package maintainer. To be added to +the team, please send your request to debian-python@lists.debian.org. Inc= lude +the following in your request: =20 -Any Debian developer who wishes to integrate his packages in the team can = do so -without requesting access (as the repository is writable by all DD). If one +* Why you want to join the team: e.g. maintain your current packages within + the team, help maintain some specific packages, etc. +* Your Alioth login. +* A statement that you have read + https://python-modules.alioth.debian.org/policy.html and that you accept= it. + +Any Debian developer who wishes to integrate his packages in the team can = do +so without requesting access (as the repository is writable by all DD). If= one wants to be more involved in the team, we still recommend requesting_ acce= ss -so that he appears in the public member list displayed on Alioth's project= page. +so that they appear in the public member list displayed on Alioth's project +page. =20 The team accepts all contributors and is not restricted to Debian develope= rs. Several Debian developers of the team will gladly sponsor packages of non-= DD @@ -43,91 +48,129 @@ discussion list or on #debian-python IRC channel (OFTC= network). All team members should of course follow the main discussion list: debian-python@lists.debian.org =20 --------------- + Maintainership --------------- +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20 A package maintained within the team should have the name of the team eith= er -in the Maintainer field or in the Uploaders field. +in the ``Maintainer`` field or in the ``Uploaders`` field. =20 Maintainer: Debian Python Modules Team =20 This enables the team to have an overview of its packages on the DDPO_webs= ite_. =20 -* Team in Maintainers is a strong statement that fully collaborative - maintenance is preferred. Anyone can commit to the vcs and upload as - needed. A courtesy email to Uploaders can be nice but not required. +* Team in ``Maintainers`` is a strong statement that fully collaborative + maintenance is preferred. Anyone can commit to the git repository and up= load + as needed. A courtesy email to ``Uploaders`` can be nice but not require= d. =20 -* Team in Uploaders is a weak statement of collaboration. Help in maintain= ing - the package is appreciated, commits to vcs are freely welcomed, but befo= re - uploading, please contact the Maintainer for the green light. +* Team in ``Uploaders`` is a weak statement of collaboration. Help in + maintaining the package is appreciated, commits to the git repository are + freely welcomed, but before uploading, please contact the ``Maintainer``= for + the green light. =20 Team members who have broad interest should subscribe to the mailing list python-modules-team@lists.alioth.debian.org whereas members who are only interested in some packages should use the Package Tracking System to follow the packages. =20 ---------------------- -Subversion Procedures ---------------------- =20 -We're using a Subversion repository to maintain all the packages, then if = you're not -already using it you will need to install svn-buildpackage. +Git Procedures +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +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. + +Git repositories live on Alioth under the url +``git+ssh://git.debian.org/git/python-modules/packages/.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, a= nd +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 t= he +rationale for the deviation and the details of working with the package's = git +repo. =20 -*The repository layout:* =20 -metainfo/ - Ignore this directory (reserved for future usage). +Tools +----- =20 -packages/ - The source packages are here. +``gbp build-package`` is used to build the package, either as a source pac= kage +for use with ``pbuilder``, ``sbuild``, etc. or as a binary package directo= ry. +Do *not* create ``quilt`` patches directly. Instead, use ``git-dpm +checkout-patched`` to enter a patch branch, edit the files, commit them, a= nd +then use ``git-dpm update-patches`` to switch back to the master branch, w= ith +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.:: =20 - package-foo - branches - If you or someone wants to play with a package possible breaking = the trunk, give it a name and do it here. - tags - For each release, a tag. More information below. - trunk - That's where the main development happens, it should contain only= the debian/ subdirectory part of a package. + Patch-Name: fix-the-foo.patch =20 -www/ - Documents and stuff that will be or are being published online in our we= bsite. +Use ``git-dpm tag`` to tag the repository when you upload a new release of= the +package. See below for the required tag format. =20 =20 -Hints: -=3D=3D=3D=3D=3D=3D -* To keep your package tree clean as pointed out above, always :code:`svn-= inject` your packages using :code:`-o` argument. -* If you svn-inject'ed a package without :code:`-o`, you should remove ups= tream sources and run :code:`svn propset mergeWithUpstream 1 debian/`. -* Since you are keeping only debian/ directory in the svn tree, you need t= o put the 'package-foo'_'version'.orig.tar.gz in tarballs/ a directory abov= e the package, and svn-buildpackage will do the merge for you. More informa= tion about this in the svn-buildpackage howto at /usr/share/doc/svn-buildpa= ckage/. -* After upload, tag the latest revision running :code:`svn-buildpackage --= svn-tag-only` into 'package-foo' directory. -* You can revert the changelog changes after tagging, running :code:`svn r= evert debian/changelog`. -* If you're a pbuilder user, you can invoke it using :code:`svn-buildpacka= ge --svn-builder pdebuild `. +Branch names +------------ =20 -For more information on how to maintain packages within the repository wit= h svn-buildpackage: -`http://pkg-perl.alioth.debian.org/subversion.html `_ +Currently, we require the following branch names in the git repo: =20 -Please note that python-modules URLs are different than pkg-perl ones: +* master - The Debianized upstream source directory. This contains both t= he + 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. =20 -* svn+ssh://login@svn.debian.org/svn/python-modules/packages/ -* svn://svn.debian.org/python-modules/packages/ -* http://anonscm.debian.org/viewvc/python-modules/ +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 mult= iple +versions for security releases in previous versions of Debian. In those +cases, follow the `DEP-14 `_ guidelines, +and document them in ``debian/README.source``. + + +Tag format +---------- + +Use the following ``git-dpm`` tag formats for the three branches named abo= ve. +Put these lines at the *end* of your ``debian/.git-dpm`` file:: + + debianTag=3D"debian/%e%v" + patchedTag=3D"patches/%e%v" + upstreamTag=3D"upstream/%e%u" + +All packages which have been automatically converted from the old Subversi= on +repository should already have these lines present, but you will need to a= dd +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 `_ +page. =20 -Moreover, python-modules still use the default layout: don't pass :code:`-= l 2` to :code:`svn-inject`. =20 ------------------ Quality Assurance ------------------ +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20 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. =20 -------- + License -------- +=3D=3D=3D=3D=3D=3D=3D =20 -Copyright (c) 2005-2015 Python Modules Packaging Team. All rights reserved. +Copyright (c) 2005-2015 Debian Python Modules Team. All rights reserved. This document is free software; you may redistribute it and/or modify it under the same terms as GNU GPL v2 or later. =20 --Sig_/UbRywzbVqc6ZIiPN+WF/w6+ Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJWJqnnAAoJEBJutWOnSwa/srQP/2KqkqlNdOpH7oJz6AbovGW2 YQ6CwxXs5leNlLdQIHrFQOKVLTmikGp61DeiJprm/a/Z6y2fsRP8OMKfV99bPzC7 Y/NcaXC682VeO5jge+fEYuDUB8AESIAJw3dG52+Bx2mL42ahz7zive8Io7qcyY6/ T0aq6PlAtn/9U3n7Tif6jZ//SM2wOIqoK+6owdROIUpJ07YyHAtor0O5BxfOcWws 7r2bYcHFdc77OTgZZHdqh2nTS/sSB6M8lP+IGOCF20By7A5Rrdng+qNcMv4EHg8e 4i6MQjsWotM1Q/EiWVbg4OsdxgpQr9j0iaFKQ2tNY09zYUyn9AQNudnAvcrsPCkN 9HavGtZ7mkfvR3rO0hg+Gee5Loy8c8j5sXEMJHgN2lD08g7AlGMrKaO5h0V6tAi7 zxP7hzLJwpuceUImZvVIfPg8V0vysHKwXI/Ns/K7X9HUEe6ZAhBok7vBCtZhUqAD DoScolzI0S0dcrdtoOew3sP15TwTTALbzsqCf1KES11ilsw7bSo5shcijNa37yrc aoS/+Yjj33Uhl5RXel3WUh9f4N8qZk9gMlXLJIRSN7kuSvLkLWRCpG9u2GcmqH5S nY/niWSA7fOlTtZIy+uY+DQyyELFTt13j/bAfuBnpz13+KKfWOYFj5Ug1ua1/DQt sg8qLR30tluBo8/PQAXH =Y87W -----END PGP SIGNATURE----- --Sig_/UbRywzbVqc6ZIiPN+WF/w6+--