Debian Policy
=============
-Author: Manoj Srivastava <srivasta@debian.org>
-Date: 2009-09-13 00:31:16 CDT
+Author: Manoj Srivastava And Russ Allbery
+Date: 2010-06-04 09:42:57 PDT
Infrastructure
Debian Policy uses a formal procedure and a set of user tags to manage
the lifecycle of change proposals. For definitions of those tags and
proposal states and information about what the next step is for each
-phase, see PolicyChangesProcess.
+phase, see [Policy changes process].
Once the wording for a change has been finalized, please send a patch
against the current Git master branch to the bug report, if you're not
familiar with Git, the following commands are the basic process:
+
git clone git://git.debian.org/git/dbnpolicy/policy.git
git checkout -b <local-branch-name>
git checkout master
git pull
- # If there are changes in master that make the branch not apply cleanly:
- git checkout -b temp master; git merge <local-branch-name>
- # If error, reset temp, merge master into local; else skip these three lines
- git reset --hard HEAD;
- git checkout <local-branch-name>;
+ git checkout master
+ git merge --no-commit <local-branch-name>
+ git reset --hard HEAD;
+ git checkout <local-branch-name>;
+
+ # If there are changes in master that make the branch not apply cleanly, there
+ # should have been en error during the merge step above. If there was an
+ # error, merge the master branch into the local branch, fix the conflicts, and
+ # commit the new version of the local branch.
git merge master
- # get rid of the temp branch:
- git branch -D temp
+ # Edit files to remove conflict
+ git commit -s
# Checkout the local branch, to create the patch to send to the policy
git checkout <local-branch-name>
--to debian-policy@lists.debian.org \
$dir/
-
<local-branch-name> is some convenient name designating your local
changes. You may want to use some common prefix like local-. You can
use git format-patch and git send-email if you want, but usually it's
overkill.
+
+[Policy changes process]: Process.txt
+
Usual Roles
~~~~~~~~~~~~
[Debian MIME support sub-policy]: http://www.debian.org/doc/packaging-manuals/mime-policy/
[Debconf Specification]: http://www.debian.org/doc/packaging-manuals/debconf_specification.html
[Authoritative list of virtual package names ]: http://www.debian.org/doc/packaging-manuals/virtual-package-names-list.txt
-[Policy changes process]: http://wiki.debian.org/PolicyChangesProcess
+[Policy changes process]: Process.txt
[debian-policy BTS]: http://bugs.debian.org/src:debian-policy
Get involved
[current open bugs]: http://bugs.debian.org/src:debian-policy
[debian-policy@lists.debian.org]: mailto:debian-policy@lists.debian.org
-[Policy changes process]: http://wiki.debian.org/PolicyChangesProcess
+[Policy changes process]: Process.txt
[debian-policy@lists.debian.org ]: mailto:debian-policy@lists.debian.org
Maintenance procedures
+ Delete the now-merged branch.
The Git commands used for this workflow are:
+
git checkout -b bug12345-rra master
# edit files
# git add files
# update your local master branch
git checkout master
git pull
- # If there are changes in master that make the branch not apply cleanly:
- git checkout -b temp master; git merge bug12345-rra
- # If error;
+
+ git checkout master
+ git merge --no-commit bug12345-rra
git reset --hard HEAD;
- git checkout bug12345-rra; git branch -D temp
- git merge master
+
+ # If there are changes in master that make the branch not apply cleanly, there
+ # should have been en error during the merge step above. If there was an
+ # error, merge the master branch into the local branch, fix the conflicts, and
+ # commit the new version of the local branch.
+ git checkout bug12345-rra
+ git merge master
+ # Edit files to remove conflict
+ git commit -s
+
git checkout master
git merge bug12345-rra
# edit debian/changelog and upgrading-checklist.html
git branch -d bug12345-rra
git push origin :bug12345-rra
-
For the debian/changelog entry, use the following format:
+
* <document>: <brief change description>
Wording: <author of wording>
Seconded: <seconder>
Seconded: <seconder>
Closes: <bug numbers>
-
For example:
+
* Policy: better document version ranking and empty Debian revisions
Wording: Russ Allbery <rra@debian.org>
Seconded: Raphaƫl Hertzog <hertzog@debian.org>
Seconded: Guillem Jover <guillem@debian.org>
Closes: #186700, #458910
-
Updating branches
==================
Policy team member, you will generally want to update your working bug
branches. The equivalent of the following commands should do that:
+
for i in `git show-ref --heads | awk '{print $2}'`; do
j=$(basename $i)
if [ "$j" != "master" ]; then
done
git push --all origin
-
assuming that you haven't packed the refs in your repository.
Making a release
Then, tag the repository and push the final changes to Alioth:
+
git tag -s v3.8.0.0
git push origin
git push --tags origin
-
replacing the version number with the version of the release, of course.
Finally, announce the new Policy release on debian-devel-announce,
of bugs and set as a target resolving them completely before the next
Policy release. Resolving a bug means one of the following:
-+ Proposing new language to address the bug that's seconded and
- approved by the readers of the Policy list following the
- PolicyChangesProcess (or that's accepted by one of the Policy
- delegates if the change isn't normative; i.e., doesn't change the
- technical meaning of the document).
++ Proposing new language to address the bug that's seconded and approved by
+ the readers of the Policy list following the [Policy changes process] (or
+ that's accepted by one of the Policy delegates if the change isn't
+ normative; i.e., doesn't change the technical meaning of the document).
+ Determining that the bug is not relevant to Policy and closing it.
+ Determining that either there is no consensus that the bug indicates
a problem, that the solutions that we can currently come up with are
on the Policy list first), say that you'll make resolving them a goal
for the next release, and guide the discussion until the bugs can
reach one of the resolution states above.
+
+[Policy changes process]: ./Progress.org
+