]> git.donarmstrong.com Git - debian/debian-policy.git/commitdiff
Merge branch 'master' into bug530687-rra
authorRuss Allbery <rra@debian.org>
Mon, 31 May 2010 16:34:44 +0000 (09:34 -0700)
committerRuss Allbery <rra@debian.org>
Mon, 31 May 2010 16:34:44 +0000 (09:34 -0700)
16 files changed:
.gitignore
Makefile
Process.html [new file with mode: 0644]
Process.org [new file with mode: 0644]
Process.txt [new file with mode: 0644]
README-css.el [new file with mode: 0644]
README.html [new file with mode: 0644]
README.org [new file with mode: 0644]
README.txt [new file with mode: 0644]
debian/changelog
debian/control
debian/rules
policy.sgml
upgrading-checklist.html [deleted file]
upgrading-checklist.sgml [new file with mode: 0644]
virtual-package-names-list.txt

index ab942fa723b0689a115a762765353a934f615e18..22a2f0c5e37652024afdd0e0a60149e8d3796b91 100644 (file)
@@ -8,6 +8,7 @@
 /policy.html/
 /stamp-build
 /version.ent
+*-1.html
 *.html.tar.gz
 *.pdf
 *.pdf.gz
index 1d0852e5141aa6722af1acaeadf14ef2298acaf6..20433d734b6ab97ea85148164dcd29c386dcb080 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -4,6 +4,17 @@ policy.sgml: version.ent
 menu-policy.sgml: version.ent
 mime-policy.sgml: version.ent
 
+ifneq (,$(strip $(HAVE_ORG_EMACS)))
+%.txt: %.org
+       $(EMACS) --batch -Q -l ./README-css.el -l org -l org-ascii --visit $^ \
+          --funcall org-export-as-ascii >/dev/null 2>&1
+       test "$@" != "README.txt"  ||                            \
+           perl -pli -e 's,./Process.org,Process.txt,g' $@
+%.html: %.org
+       $(EMACS) --batch -Q -l ./README-css.el -l org --visit $^ \
+          --funcall org-export-as-html-batch >/dev/null 2>&1
+endif
+
 %.validate: %
        nsgmls -wall -gues $<
 
@@ -45,8 +56,7 @@ pdf: policy.pdf
 policy: html txt ps pdf
 
 leavealone :=  $(FHS_HTML) $(FHS_FILES) $(FHS_ARCHIVE) \
-               libc6-migration.txt \
-               upgrading-checklist.html virtual-package-names-list.txt
+               libc6-migration.txt
              
 .PHONY: distclean
 distclean:
diff --git a/Process.html b/Process.html
new file mode 100644 (file)
index 0000000..9440ae7
--- /dev/null
@@ -0,0 +1,423 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+               "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+lang="en" xml:lang="en">
+<head>
+<div style="text-align:right;font-size:70%;white-space:nowrap;">
+ <a accesskey="h" href="http://www.debian.org/"> UP </a>
+ |
+ <a accesskey="H" href="http://wiki.debian.org/Teams/Policy"> HOME </a>
+</div>
+
+<title>Debian Policy changes process</title>
+<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+<meta name="generator" content="Org-mode"/>
+<meta name="generated" content="2009-09-13 16:13:52 CDT"/>
+<meta name="author" content="Margarita Manterola, Clint Adams, Russ Allbery, and Manoj Srivastava"/>
+<meta name="description" content=""/>
+<meta name="keywords" content=""/>
+
+<style type="text/css">
+  html { font-family: Times, serif; font-size: 12pt; }
+  .title  { text-align: center; }
+  p.verse { margin-left: 3% }
+  pre {
+        border: 1pt solid #AEBDCC;
+        color: #000000;
+        background-color: LightSlateGray;
+        padding: 5pt;
+        font-family: "Courier New", courier, monospace;
+        font-size: 90%;
+        overflow:auto;
+  }
+  dt { font-weight: bold; }
+  div.figure { padding: 0.5em; }
+  div.figure p { text-align: center; }
+  .linenr { font-size:smaller }
+  .code-highlighted {background-color:#ffff00;}
+  .org-info-js_info-navigation { border-style:none; }
+  #org-info-js_console-label { font-size:10px; font-weight:bold;
+                               white-space:nowrap; }
+  .org-info-js_search-highlight {background-color:#ffff00; color:#000000;
+                                 font-weight:bold; }
+
+  body {
+   color: DarkSlateGrey;
+   background-color: gainsboro;
+   font-family: Palatino, "Palatino Linotype", "Hoefler Text", "Times New Roman", Times, Georgia, Utopia, serif;
+  }
+  .org-agenda-date          { color: #87cefa;    }
+  .org-agenda-structure     { color: #87cefa;    }
+  .org-scheduled            { color: #98fb98;    }
+  .org-scheduled-previously { color: #ff7f24;    }
+  .org-scheduled-today      { color: #98fb98;    }
+  .org-tag                  { font-weight: bold; }
+  .org-todo                 {
+    color: #ffc0cb;
+    font-weight: bold;
+  }
+  a {
+    color: inherit;
+    background-color: inherit;
+    font: inherit;
+    text-decoration: inherit;
+  }
+  a:hover { text-decoration: underline; }
+  .todo  { font-weight:bold; }
+  .done { font-weight:bold; }
+  .TODO { color:red; }
+  .WAITING { color:orange; }
+  .DONE { color:green; }
+  .timestamp { color: grey }
+  .timestamp-kwd { color: CadetBlue }
+  .tag { background-color:lightblue; font-weight:normal }
+  .target { background-color: lavender; }
+table {
+        border-collapse: collapse; /*separate; */
+        border: outset 3pt;
+        border-spacing: 0pt;
+        /* border-spacing: 5pt; */
+        }
+table td             { vertical-align: top; border: 1px solid; }
+table th             { vertical-align: top; border: 2px solid; }
+</style>
+<script ="text/javascript" language="JavaScript" src="/styles/org-info.js"></script>
+<script type="text/javascript" language="JavaScript">
+/* <![CDATA[ */
+org_html_manager.set("LOCAL_TOC", 0);
+org_html_manager.set("VIEW_BUTTONS", 1);
+org_html_manager.set("VIEW", "info");
+org_html_manager.set("TOC", 1);
+org_html_manager.set("MOUSE_HINT", "underline"); // could be a background-color like #eeeeee
+org_html_manager.setup ();
+/* ]]> */
+</script>
+
+<script type="text/javascript">
+<!--/*--><![CDATA[/*><!--*/
+ function CodeHighlightOn(elem, id)
+ {
+   var target = document.getElementById(id);
+   if(null != target) {
+     elem.cacheClassElem = elem.className;
+     elem.cacheClassTarget = target.className;
+     target.className = "code-highlighted";
+     elem.className   = "code-highlighted";
+   }
+ }
+ function CodeHighlightOff(elem, id)
+ {
+   var target = document.getElementById(id);
+   if(elem.cacheClassElem)
+     elem.className = elem.cacheClassElem;
+   if(elem.cacheClassTarget)
+     target.className = elem.cacheClassTarget;
+ }
+/*]]>*///-->
+</script>
+</head>
+<body>
+<div id="content">
+<h1 class="title">Debian Policy changes process</h1>
+
+
+<div id="outline-container-1" class="outline-2">
+<h2 id="sec-1">Change Goals </h2>
+<div class="outline-text-2" id="text-1">
+
+
+<ul>
+<li>
+The change should be technically correct, and consistent with the
+rest of the policy document. This means no legislating the value of
+π. This also means that the proposed solution be known to work;
+iterative design processes do not belong in policy.
+</li>
+<li>
+The change should not be too disruptive; if very many packages
+become instantly buggy, then instead there should be a transition
+plan. Exceptions should be rare (only if the current state is really
+untenable), and probably blessed by the TC.
+</li>
+<li>
+The change has to be reviewed in depth, in the open, where any one
+may contribute; a publicly accessible, archived, open mailing list.
+</li>
+<li>
+Proposal should be addressed in a timely fashion.
+</li>
+<li>
+Any domain experts should be consulted, since not every policy
+mailing list subscriber is an expert on everything, including policy
+maintainers.
+</li>
+<li>
+The goal is rough consensus on the change, which should not be hard
+if the matter is technical. Technical issues where there is no
+agreement should be referred to the TC; non-technical issues should
+be referred to the whole developer body, and perhaps general
+resolutions lie down that path.
+</li>
+<li>
+Package maintainers whose packages may be impacted should have
+access to policy change proposals, even if they do not subscribe to
+policy mailing lists (policy gazette?).
+
+</li>
+</ul>
+</div>
+
+</div>
+
+<div id="outline-container-2" class="outline-2">
+<h2 id="sec-2">Current Process </h2>
+<div class="outline-text-2" id="text-2">
+
+
+<p>
+Each suggested change goes through different states. These states are
+denoted through either usertags of the
+<a href="mailto:debian-policy@packages.debian.org">debian-policy@packages.debian.org</a> user or, for patch, pending, and
+wontfix, regular tags.
+</p>
+<p>
+<a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&amp;pend-exc=done">Current list of bugs</a>
+</p>
+<p>
+The Policy delegates are responsible for managing the tags on bugs and
+will update tags as new bugs are submitted or as activity happens on
+bugs. All Debian Developers should feel free to add the seconded tag
+as described below. Other tags should be changed with the coordination
+of the Policy Team.
+</p>
+
+</div>
+
+<div id="outline-container-2.1" class="outline-3">
+<h3 id="sec-2.1">State A: Issue raised </h3>
+<div class="outline-text-3" id="text-2.1">
+
+
+<p>
+Detect need, like gaps/flaws in current policy, or a new rule should
+be added. Any user or developer may start this step. There is a
+decision point here, not all issues are in scope of policy.
+<a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&amp;tag=issue">TAG: issue</a>
+</p>
+<p>
+What needs to happen next: If this is in scope for Policy, discuss the
+issue and possible solutions, moving to the discussion tag, or if the
+matter is sufficiently clear, go directly to a proposal for how to
+address it, moving to the proposal tag. If this is not in scope for
+Policy, close the bug.
+</p>
+</div>
+
+</div>
+
+<div id="outline-container-2.2" class="outline-3">
+<h3 id="sec-2.2">State B: Discussion </h3>
+<div class="outline-text-3" id="text-2.2">
+
+
+<p>
+Discuss remedy. Alternate proposals. Discussion guided by
+delegates. There should be a clear time limit to this stage, but as
+yet we have not set one.
+<a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&amp;pend-exc=done&amp;tag=discussion">TAG: discussion</a>
+</p>
+<p>
+What needs to happen next: Reach a conclusion and consensus in the
+discussion and make a final proposal for what should be changed (if
+anything), moving to the proposal tag.
+</p>
+</div>
+
+</div>
+
+<div id="outline-container-2.3" class="outline-3">
+<h3 id="sec-2.3">State D: Proposal </h3>
+<div class="outline-text-3" id="text-2.3">
+
+
+<p>
+A final proposal has emerged from the discussion, and there is a rough
+consensus on how to proceed to resolve the issue. 
+<a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&amp;pend-exc=done&amp;tag=proposal">TAG: proposal</a>
+</p>
+<p>
+What needs to happen next: Provided that the rough consensus persists,
+develop a patch against the current Policy document with specific
+wording of the change. Often this is done in conjunction with the
+proposal, in which case one may skip this step and move directly to
+patch tag.
+</p>
+</div>
+
+</div>
+
+<div id="outline-container-2.4" class="outline-3">
+<h3 id="sec-2.4">State E: Wording proposed </h3>
+<div class="outline-text-3" id="text-2.4">
+
+
+<p>
+A patch against the Policy document reflecting the consensus has been
+created and is waiting for formal seconds. The standard patch tag is
+used for this state, since it's essentially equivalent to the standard
+meaning of that tag. 
+<a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&amp;pend-exc=done&amp;tag=patch">TAG: patch</a>
+</p>
+<p>
+What needs to happen next: The proposal needs to be reviewed and
+seconded. Any Debian developer who agrees with the change and the
+conclusion of rough consensus from the discussion should say so in the
+bug log by seconding the proposal.
+</p>
+</div>
+
+</div>
+
+<div id="outline-container-2.5" class="outline-3">
+<h3 id="sec-2.5">State F: Seconded </h3>
+<div class="outline-text-3" id="text-2.5">
+
+
+<p>
+The proposal is signed off on by N Debian Developers. To start with,
+we're going with N=3, meaning that if three Debian Developers agree,
+not just with the proposal but with the conclusion that it reflects
+consensus and addresses the original issue &ndash; it is considered
+eligible for inclusion in the next version of Policy. Since Policy is
+partly a technical project governance method, one must be a Debian
+Developer to formally second, although review and discussion is
+welcome from anyone. Once this tag has been applied, the bug is
+waiting for a Policy team member to apply the patch to the package
+repository. 
+<a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&amp;pend-exc=done&amp;tag=seconded">TAG: seconded</a>
+</p>
+<p>
+What needs to happen next: A Policy maintainer does the final review
+and confirmation, and then applies the patch for the next Policy
+release.
+</p>
+<p>
+This tag is not used very much because normally a Policy maintainer
+applies the patch and moves the proposal to the next state once enough
+seconds are reached.
+</p>
+</div>
+
+</div>
+
+<div id="outline-container-2.6" class="outline-3">
+<h3 id="sec-2.6">State G: Accepted </h3>
+<div class="outline-text-3" id="text-2.6">
+
+
+<p>
+Change accepted, will be in next upload. The standard pending tag is
+used for this state since it matches the regular meaning of
+pending. 
+<a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&amp;pend-exc=done&amp;tag=pending">TAG: pending</a>
+</p>
+<p>
+What needs to happen next: The bug is now in the waiting queue for the
+next Policy release, and there's nothing left to do except for upload
+a new version of Policy.
+</p>
+</div>
+
+</div>
+
+<div id="outline-container-2.7" class="outline-3">
+<h3 id="sec-2.7">State H: Reject </h3>
+<div class="outline-text-3" id="text-2.7">
+
+
+<p>
+Rejected proposals. The standard wontfix is used for this
+state. Normally, bugs in this state will not remain open; instead, a
+Policy team member will close them with an explanation. The submitter
+may then appeal to the tech-ctte if they so desire. Alternately,
+issues appealed to the tech-ctte may remain open with this tag while
+that appeal proceeds.
+<a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&amp;pend-exc=done&amp;tag=rejected">TAG: wontfix</a>
+</p>
+<p>
+We may use one of the following tags here, but to date we have only
+used dubious and ctte. It's not clear whether we need more tags for
+this tage.
+</p>
+<dl>
+<dt><b>dubious</b></dt><dd>
+Not a policy matter 
+</dd>
+<dt><b>ctte</b></dt><dd>
+Referred to the Technical Committee (tech-ctte) 
+</dd>
+<dt><b>devel</b></dt><dd>
+Referred to the developer body 
+</dd>
+<dt><b>delegate</b></dt><dd>
+Rejected by a Policy delegate 
+</dd>
+<dt><b>obsolete</b></dt><dd>
+The proposal timed out without a conclusion 
+
+</dd>
+</dl>
+
+<p>What needs to happen next: The bug should be closed once a final
+resolution is reached, or retagged to an appropriate state if that
+final resolution reverses the decision to reject the proposal.
+</p>
+</div>
+</div>
+
+</div>
+
+<div id="outline-container-3" class="outline-2">
+<h2 id="sec-3">Other Tags </h2>
+<div class="outline-text-2" id="text-3">
+
+
+<p>
+All Policy bugs are additionally categorized by class of bug.
+</p>
+<p>
+The normative tag is used for bugs that make normative changes to
+Policy, meaning that the dictates of Policy will change in some
+fashion as part of the resolution of the bug if the proposal is
+accepted. The full process is followed for such bugs. 
+<a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&amp;pend-exc=done&amp;tag=normative">TAG: normative</a>
+</p>
+<p>
+The informative tag is used for bugs about wording issues, typos,
+informative footnotes, or other changes that do not affect the formal
+dictates of Policy, just the presentation. The same tags are used for
+these bugs for convenience, but the Policy maintainers may make
+informative changes without following the full process. Informative
+bugs fall under their discretion. 
+<a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&amp;pend-exc=done&amp;tag=informative">TAG: informative</a>
+</p>
+<p>
+The packaging tag is used for bugs about the packaging and build
+process of the debian-policy Debian package. These bugs do not follow
+the normal process and will not have the other tags except for pending
+and wontfix (used with their normal meanings). 
+<a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&amp;pend-exc=done&amp;tag=packaging">TAG: packaging</a>
+</p></div>
+</div>
+<div id="postamble">
+<p class="author"> Author: Margarita Manterola, Clint Adams, Russ Allbery, and Manoj Srivastava
+<a href="mailto:srivasta@debian.org">&lt;srivasta@debian.org&gt;</a>
+</p>
+<p class="date"> Date: 2009-09-13 16:13:52 CDT</p>
+<p class="creator">HTML generated by org-mode 6.30trans in emacs 23</p>
+</div>
+</div>
+</body>
+</html>
diff --git a/Process.org b/Process.org
new file mode 100644 (file)
index 0000000..7cb0544
--- /dev/null
@@ -0,0 +1,205 @@
+-*- mode: org; fill-column: 78 -*-
+#+STARTUP: showall
+#+STARTUP: lognotedone lognotestate
+#+OPTIONS: H:4 toc:2
+#+TITLE:  Debian Policy changes process
+#+AUTHOR: Margarita Manterola, Clint Adams, Russ Allbery, and Manoj Srivastava
+#+EMAIL: srivasta@debian.org
+#+OPTIONS:   H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:t -:t f:t *:t TeX:t LaTeX:nil skip:t d:nil tags:not-in-toc
+#+LINK_HOME: http://wiki.debian.org/Teams/Policy
+#+LINK_UP: http://www.debian.org/
+
+\usepackage{landscape}
+
+\setlength{\oddsidemargin}{0in}                % default=0in
+\setlength{\textwidth}{9in}            % default=9in
+
+\setlength{\columnsep}{0.5in}          % default=10pt
+\setlength{\columnseprule}{1pt}                % default=0pt (no line)
+
+\setlength{\textheight}{5.85in}                % default=5.15in
+\setlength{\topmargin}{-0.15in}                % default=0.20in
+\setlength{\headsep}{0.25in}           % default=0.35in
+
+\setlength{\parskip}{1.2ex}
+\setlength{\parindent}{0mm}
+\pagestyle{empty}
+
+\setlength{\headheight}{0pt}
+\setlength{\headsep}{0pt}
+\setlength{\footskip}{5pt}
+\setlength{\textheight}{9.0in}
+\setlength{\textwidth}{6.5in}
+
+To introduce a change in the current DebianPolicy, the change proposal
+has to go through a certain process.
+
+* Change Goals
+
++ The change should be technically correct, and consistent with the
+  rest of the policy document. This means no legislating the value of
+  π. This also means that the proposed solution be known to work;
+  iterative design processes do not belong in policy.
++ The change should not be too disruptive; if very many packages
+  become instantly buggy, then instead there should be a transition
+  plan. Exceptions should be rare (only if the current state is really
+  untenable), and probably blessed by the TC.
++ The change has to be reviewed in depth, in the open, where any one
+  may contribute; a publicly accessible, archived, open mailing list.
++ Proposal should be addressed in a timely fashion.
++ Any domain experts should be consulted, since not every policy
+  mailing list subscriber is an expert on everything, including policy
+  maintainers.
++ The goal is rough consensus on the change, which should not be hard
+  if the matter is technical. Technical issues where there is no
+  agreement should be referred to the TC; non-technical issues should
+  be referred to the whole developer body, and perhaps general
+  resolutions lie down that path.
++ Package maintainers whose packages may be impacted should have
+  access to policy change proposals, even if they do not subscribe to
+  policy mailing lists (policy gazette?).
+
+* Current Process
+
+Each suggested change goes through different states. These states are
+denoted through either usertags of the
+[[mailto:debian-policy@packages.debian.org][debian-policy@packages.debian.org]] user or, for patch, pending, and
+wontfix, regular tags.
+
+[[http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&pend-exc=done][Current list of bugs]]
+
+The Policy delegates are responsible for managing the tags on bugs and
+will update tags as new bugs are submitted or as activity happens on
+bugs. All Debian Developers should feel free to add the seconded tag
+as described below. Other tags should be changed with the coordination
+of the Policy Team.
+
+** State A: Issue raised
+
+Detect need, like gaps/flaws in current policy, or a new rule should
+be added. Any user or developer may start this step. There is a
+decision point here, not all issues are in scope of policy.
+[[http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&tag=issue][TAG: issue]]
+
+What needs to happen next: If this is in scope for Policy, discuss the
+issue and possible solutions, moving to the discussion tag, or if the
+matter is sufficiently clear, go directly to a proposal for how to
+address it, moving to the proposal tag. If this is not in scope for
+Policy, close the bug.
+
+** State B: Discussion
+
+Discuss remedy. Alternate proposals. Discussion guided by
+delegates. There should be a clear time limit to this stage, but as
+yet we have not set one.
+[[http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&pend-exc=done&tag=discussion][TAG: discussion]]
+
+What needs to happen next: Reach a conclusion and consensus in the
+discussion and make a final proposal for what should be changed (if
+anything), moving to the proposal tag.
+
+** State D: Proposal
+
+A final proposal has emerged from the discussion, and there is a rough
+consensus on how to proceed to resolve the issue. 
+[[http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&pend-exc=done&tag=proposal][TAG: proposal]]
+
+What needs to happen next: Provided that the rough consensus persists,
+develop a patch against the current Policy document with specific
+wording of the change. Often this is done in conjunction with the
+proposal, in which case one may skip this step and move directly to
+patch tag.
+
+** State E: Wording proposed
+
+A patch against the Policy document reflecting the consensus has been
+created and is waiting for formal seconds. The standard patch tag is
+used for this state, since it's essentially equivalent to the standard
+meaning of that tag. 
+[[http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&pend-exc=done&tag=patch][TAG: patch]]
+
+What needs to happen next: The proposal needs to be reviewed and
+seconded. Any Debian developer who agrees with the change and the
+conclusion of rough consensus from the discussion should say so in the
+bug log by seconding the proposal.
+
+** State F: Seconded
+
+The proposal is signed off on by N Debian Developers. To start with,
+we're going with N=3, meaning that if three Debian Developers agree,
+not just with the proposal but with the conclusion that it reflects
+consensus and addresses the original issue -- it is considered
+eligible for inclusion in the next version of Policy. Since Policy is
+partly a technical project governance method, one must be a Debian
+Developer to formally second, although review and discussion is
+welcome from anyone. Once this tag has been applied, the bug is
+waiting for a Policy team member to apply the patch to the package
+repository. 
+[[http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&pend-exc=done&tag=seconded][TAG: seconded]]
+
+What needs to happen next: A Policy maintainer does the final review
+and confirmation, and then applies the patch for the next Policy
+release.
+
+This tag is not used very much because normally a Policy maintainer
+applies the patch and moves the proposal to the next state once enough
+seconds are reached.
+
+** State G: Accepted
+
+Change accepted, will be in next upload. The standard pending tag is
+used for this state since it matches the regular meaning of
+pending. 
+[[http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&pend-exc=done&tag=pending][TAG: pending]]
+
+What needs to happen next: The bug is now in the waiting queue for the
+next Policy release, and there's nothing left to do except for upload
+a new version of Policy.
+
+** State H: Reject
+
+Rejected proposals. The standard wontfix is used for this
+state. Normally, bugs in this state will not remain open; instead, a
+Policy team member will close them with an explanation. The submitter
+may then appeal to the tech-ctte if they so desire. Alternately,
+issues appealed to the tech-ctte may remain open with this tag while
+that appeal proceeds.
+[[http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&pend-exc=done&tag=rejected][TAG: wontfix]]
+
+We may use one of the following tags here, but to date we have only
+used dubious and ctte. It's not clear whether we need more tags for
+this tage.
+
++ *dubious* :: Not a policy matter 
++ *ctte* :: Referred to the Technical Committee (tech-ctte) 
++ *devel* :: Referred to the developer body 
++ *delegate* :: Rejected by a Policy delegate 
++ *obsolete* :: The proposal timed out without a conclusion 
+
+What needs to happen next: The bug should be closed once a final
+resolution is reached, or retagged to an appropriate state if that
+final resolution reverses the decision to reject the proposal.
+
+* Other Tags
+
+All Policy bugs are additionally categorized by class of bug.
+
+The normative tag is used for bugs that make normative changes to
+Policy, meaning that the dictates of Policy will change in some
+fashion as part of the resolution of the bug if the proposal is
+accepted. The full process is followed for such bugs. 
+[[http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&pend-exc=done&tag=normative][TAG: normative]]
+
+The informative tag is used for bugs about wording issues, typos,
+informative footnotes, or other changes that do not affect the formal
+dictates of Policy, just the presentation. The same tags are used for
+these bugs for convenience, but the Policy maintainers may make
+informative changes without following the full process. Informative
+bugs fall under their discretion. 
+[[http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&pend-exc=done&tag=informative][TAG: informative]]
+
+The packaging tag is used for bugs about the packaging and build
+process of the debian-policy Debian package. These bugs do not follow
+the normal process and will not have the other tags except for pending
+and wontfix (used with their normal meanings). 
+[[http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&pend-exc=done&tag=packaging][TAG: packaging]]
diff --git a/Process.txt b/Process.txt
new file mode 100644 (file)
index 0000000..f130c1d
--- /dev/null
@@ -0,0 +1,216 @@
+                    Debian Policy changes process
+                    =============================
+
+Author: Margarita Manterola, Clint Adams, Russ Allbery, and Manoj Srivastava <srivasta@debian.org>
+Date: 2009-09-13 01:17:13 CDT
+
+
+Change Goals 
+~~~~~~~~~~~~~
+
++ The change should be technically correct, and consistent with the
+  rest of the policy document. This means no legislating the value of
+  π. This also means that the proposed solution be known to work;
+  iterative design processes do not belong in policy.
++ The change should not be too disruptive; if very many packages
+  become instantly buggy, then instead there should be a transition
+  plan. Exceptions should be rare (only if the current state is really
+  untenable), and probably blessed by the TC.
++ The change has to be reviewed in depth, in the open, where any one
+  may contribute; a publicly accessible, archived, open mailing list.
++ Proposal should be addressed in a timely fashion.
++ Any domain experts should be consulted, since not every policy
+  mailing list subscriber is an expert on everything, including policy
+  maintainers.
++ The goal is rough consensus on the change, which should not be hard
+  if the matter is technical. Technical issues where there is no
+  agreement should be referred to the TC; non-technical issues should
+  be referred to the whole developer body, and perhaps general
+  resolutions lie down that path.
++ Package maintainers whose packages may be impacted should have
+  access to policy change proposals, even if they do not subscribe to
+  policy mailing lists (policy gazette?).
+
+Current Process 
+~~~~~~~~~~~~~~~~
+
+Each suggested change goes through different states. These states are
+denoted through either usertags of the
+[debian-policy@packages.debian.org] user or, for patch, pending, and
+wontfix, regular tags.
+
+[Current list of bugs]
+
+The Policy delegates are responsible for managing the tags on bugs and
+will update tags as new bugs are submitted or as activity happens on
+bugs. All Debian Developers should feel free to add the seconded tag
+as described below. Other tags should be changed with the coordination
+of the Policy Team.
+
+
+[debian-policy@packages.debian.org]: mailto:debian-policy@packages.debian.org
+[Current list of bugs]: http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&pend-exc=done
+
+State A: Issue raised 
+======================
+
+Detect need, like gaps/flaws in current policy, or a new rule should
+be added. Any user or developer may start this step. There is a
+decision point here, not all issues are in scope of policy.
+[TAG: issue]
+
+What needs to happen next: If this is in scope for Policy, discuss the
+issue and possible solutions, moving to the discussion tag, or if the
+matter is sufficiently clear, go directly to a proposal for how to
+address it, moving to the proposal tag. If this is not in scope for
+Policy, close the bug.
+
+
+[TAG: issue]: http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&tag=issue
+
+State B: Discussion 
+====================
+
+Discuss remedy. Alternate proposals. Discussion guided by
+delegates. There should be a clear time limit to this stage, but as
+yet we have not set one.
+[TAG: discussion]
+
+What needs to happen next: Reach a conclusion and consensus in the
+discussion and make a final proposal for what should be changed (if
+anything), moving to the proposal tag.
+
+
+[TAG: discussion]: http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&pend-exc=done&tag=discussion
+
+State D: Proposal 
+==================
+
+A final proposal has emerged from the discussion, and there is a rough
+consensus on how to proceed to resolve the issue. 
+[TAG: proposal]
+
+What needs to happen next: Provided that the rough consensus persists,
+develop a patch against the current Policy document with specific
+wording of the change. Often this is done in conjunction with the
+proposal, in which case one may skip this step and move directly to
+patch tag.
+
+
+[TAG: proposal]: http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&pend-exc=done&tag=proposal
+
+State E: Wording proposed 
+==========================
+
+A patch against the Policy document reflecting the consensus has been
+created and is waiting for formal seconds. The standard patch tag is
+used for this state, since it's essentially equivalent to the standard
+meaning of that tag. 
+[TAG: patch]
+
+What needs to happen next: The proposal needs to be reviewed and
+seconded. Any Debian developer who agrees with the change and the
+conclusion of rough consensus from the discussion should say so in the
+bug log by seconding the proposal.
+
+
+[TAG: patch]: http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&pend-exc=done&tag=patch
+
+State F: Seconded 
+==================
+
+The proposal is signed off on by N Debian Developers. To start with,
+we're going with N=3, meaning that if three Debian Developers agree,
+not just with the proposal but with the conclusion that it reflects
+consensus and addresses the original issue -- it is considered
+eligible for inclusion in the next version of Policy. Since Policy is
+partly a technical project governance method, one must be a Debian
+Developer to formally second, although review and discussion is
+welcome from anyone. Once this tag has been applied, the bug is
+waiting for a Policy team member to apply the patch to the package
+repository. 
+[TAG: seconded]
+
+What needs to happen next: A Policy maintainer does the final review
+and confirmation, and then applies the patch for the next Policy
+release.
+
+This tag is not used very much because normally a Policy maintainer
+applies the patch and moves the proposal to the next state once enough
+seconds are reached.
+
+
+[TAG: seconded]: http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&pend-exc=done&tag=seconded
+
+State G: Accepted 
+==================
+
+Change accepted, will be in next upload. The standard pending tag is
+used for this state since it matches the regular meaning of
+pending. 
+[TAG: pending]
+
+What needs to happen next: The bug is now in the waiting queue for the
+next Policy release, and there's nothing left to do except for upload
+a new version of Policy.
+
+
+[TAG: pending]: http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&pend-exc=done&tag=pending
+
+State H: Reject 
+================
+
+Rejected proposals. The standard wontfix is used for this
+state. Normally, bugs in this state will not remain open; instead, a
+Policy team member will close them with an explanation. The submitter
+may then appeal to the tech-ctte if they so desire. Alternately,
+issues appealed to the tech-ctte may remain open with this tag while
+that appeal proceeds.
+[TAG: wontfix]
+
+We may use one of the following tags here, but to date we have only
+used dubious and ctte. It's not clear whether we need more tags for
+this tage.
+
+*dubious*: Not a policy matter 
+*ctte*: Referred to the Technical Committee (tech-ctte) 
+*devel*: Referred to the developer body 
+*delegate*: Rejected by a Policy delegate 
+*obsolete*: The proposal timed out without a conclusion 
+
+What needs to happen next: The bug should be closed once a final
+resolution is reached, or retagged to an appropriate state if that
+final resolution reverses the decision to reject the proposal.
+
+
+[TAG: wontfix]: http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&pend-exc=done&tag=rejected
+
+Other Tags 
+~~~~~~~~~~~
+
+All Policy bugs are additionally categorized by class of bug.
+
+The normative tag is used for bugs that make normative changes to
+Policy, meaning that the dictates of Policy will change in some
+fashion as part of the resolution of the bug if the proposal is
+accepted. The full process is followed for such bugs. 
+[TAG: normative]
+
+The informative tag is used for bugs about wording issues, typos,
+informative footnotes, or other changes that do not affect the formal
+dictates of Policy, just the presentation. The same tags are used for
+these bugs for convenience, but the Policy maintainers may make
+informative changes without following the full process. Informative
+bugs fall under their discretion. 
+[TAG: informative]
+
+The packaging tag is used for bugs about the packaging and build
+process of the debian-policy Debian package. These bugs do not follow
+the normal process and will not have the other tags except for pending
+and wontfix (used with their normal meanings). 
+[TAG: packaging]
+
+[TAG: normative]: http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&pend-exc=done&tag=normative
+[TAG: informative]: http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&pend-exc=done&tag=informative
+[TAG: packaging]: http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&pend-exc=done&tag=packaging
+
diff --git a/README-css.el b/README-css.el
new file mode 100644 (file)
index 0000000..9b7cf85
--- /dev/null
@@ -0,0 +1,81 @@
+(setq
+ org-export-html-style-include-default nil
+ org-export-html-style
+      "
+<style type=\"text/css\">
+  html { font-family: Times, serif; font-size: 12pt; }
+  .title  { text-align: center; }
+  p.verse { margin-left: 3% }
+  pre {
+        border: 1pt solid #AEBDCC;
+        color: #000000;
+        background-color: LightSlateGray;
+        padding: 5pt;
+        font-family: \"Courier New\", courier, monospace;
+        font-size: 90%;
+        overflow:auto;
+  }
+  dt { font-weight: bold; }
+  div.figure { padding: 0.5em; }
+  div.figure p { text-align: center; }
+  .linenr { font-size:smaller }
+  .code-highlighted {background-color:#ffff00;}
+  .org-info-js_info-navigation { border-style:none; }
+  #org-info-js_console-label { font-size:10px; font-weight:bold;
+                               white-space:nowrap; }
+  .org-info-js_search-highlight {background-color:#ffff00; color:#000000;
+                                 font-weight:bold; }
+
+  body {
+   color: DarkSlateGrey;
+   background-color: gainsboro;
+   font-family: Palatino, \"Palatino Linotype\", \"Hoefler Text\", \"Times New Roman\", Times, Georgia, Utopia, serif;
+  }
+  .org-agenda-date          { color: #87cefa;    }
+  .org-agenda-structure     { color: #87cefa;    }
+  .org-scheduled            { color: #98fb98;    }
+  .org-scheduled-previously { color: #ff7f24;    }
+  .org-scheduled-today      { color: #98fb98;    }
+  .org-tag                  { font-weight: bold; }
+  .org-todo                 {
+    color: #ffc0cb;
+    font-weight: bold;
+  }
+  a {
+    color: inherit;
+    background-color: inherit;
+    font: inherit;
+    text-decoration: inherit;
+  }
+  a:hover { text-decoration: underline; }
+  .todo  { font-weight:bold; }
+  .done { font-weight:bold; }
+  .TODO { color:red; }
+  .WAITING { color:orange; }
+  .DONE { color:green; }
+  .timestamp { color: grey }
+  .timestamp-kwd { color: CadetBlue }
+  .tag { background-color:lightblue; font-weight:normal }
+  .target { background-color: lavender; }
+table {
+        border-collapse: collapse; /*separate; */
+        border: outset 3pt;
+        border-spacing: 0pt;
+        /* border-spacing: 5pt; */
+        }
+table td             { vertical-align: top; border: 1px solid; }
+table th             { vertical-align: top; border: 2px solid; }
+</style>
+<script =\"text/javascript\" language=\"JavaScript\" src=\"/styles/org-info.js\"></script>
+<script type=\"text/javascript\" language=\"JavaScript\">
+/* <![CDATA[ */
+org_html_manager.set(\"LOCAL_TOC\", 0);
+org_html_manager.set(\"VIEW_BUTTONS\", 1);
+org_html_manager.set(\"VIEW\", \"info\");
+org_html_manager.set(\"TOC\", 1);
+org_html_manager.set(\"MOUSE_HINT\", \"underline\"); // could be a background-color like #eeeeee
+org_html_manager.setup ();
+/* ]]> */
+</script>
+")
diff --git a/README.html b/README.html
new file mode 100644 (file)
index 0000000..19608a2
--- /dev/null
@@ -0,0 +1,691 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+               "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+lang="en" xml:lang="en">
+<head>
+<div style="text-align:right;font-size:70%;white-space:nowrap;">
+ <a accesskey="h" href="http://www.debian.org/"> UP </a>
+ |
+ <a accesskey="H" href="http://wiki.debian.org/Teams/Policy"> HOME </a>
+</div>
+
+<title>Debian Policy</title>
+<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+<meta name="generator" content="Org-mode"/>
+<meta name="generated" content="2009-10-05 00:20:29 CDT"/>
+<meta name="author" content="Manoj Srivastava And Russ Allbery"/>
+<meta name="description" content=""/>
+<meta name="keywords" content=""/>
+
+<style type="text/css">
+  html { font-family: Times, serif; font-size: 12pt; }
+  .title  { text-align: center; }
+  p.verse { margin-left: 3% }
+  pre {
+        border: 1pt solid #AEBDCC;
+        color: #000000;
+        background-color: LightSlateGray;
+        padding: 5pt;
+        font-family: "Courier New", courier, monospace;
+        font-size: 90%;
+        overflow:auto;
+  }
+  dt { font-weight: bold; }
+  div.figure { padding: 0.5em; }
+  div.figure p { text-align: center; }
+  .linenr { font-size:smaller }
+  .code-highlighted {background-color:#ffff00;}
+  .org-info-js_info-navigation { border-style:none; }
+  #org-info-js_console-label { font-size:10px; font-weight:bold;
+                               white-space:nowrap; }
+  .org-info-js_search-highlight {background-color:#ffff00; color:#000000;
+                                 font-weight:bold; }
+
+  body {
+   color: DarkSlateGrey;
+   background-color: gainsboro;
+   font-family: Palatino, "Palatino Linotype", "Hoefler Text", "Times New Roman", Times, Georgia, Utopia, serif;
+  }
+  .org-agenda-date          { color: #87cefa;    }
+  .org-agenda-structure     { color: #87cefa;    }
+  .org-scheduled            { color: #98fb98;    }
+  .org-scheduled-previously { color: #ff7f24;    }
+  .org-scheduled-today      { color: #98fb98;    }
+  .org-tag                  { font-weight: bold; }
+  .org-todo                 {
+    color: #ffc0cb;
+    font-weight: bold;
+  }
+  a {
+    color: inherit;
+    background-color: inherit;
+    font: inherit;
+    text-decoration: inherit;
+  }
+  a:hover { text-decoration: underline; }
+  .todo  { font-weight:bold; }
+  .done { font-weight:bold; }
+  .TODO { color:red; }
+  .WAITING { color:orange; }
+  .DONE { color:green; }
+  .timestamp { color: grey }
+  .timestamp-kwd { color: CadetBlue }
+  .tag { background-color:lightblue; font-weight:normal }
+  .target { background-color: lavender; }
+table {
+        border-collapse: collapse; /*separate; */
+        border: outset 3pt;
+        border-spacing: 0pt;
+        /* border-spacing: 5pt; */
+        }
+table td             { vertical-align: top; border: 1px solid; }
+table th             { vertical-align: top; border: 2px solid; }
+</style>
+<script ="text/javascript" language="JavaScript" src="/styles/org-info.js"></script>
+<script type="text/javascript" language="JavaScript">
+/* <![CDATA[ */
+org_html_manager.set("LOCAL_TOC", 0);
+org_html_manager.set("VIEW_BUTTONS", 1);
+org_html_manager.set("VIEW", "info");
+org_html_manager.set("TOC", 1);
+org_html_manager.set("MOUSE_HINT", "underline"); // could be a background-color like #eeeeee
+org_html_manager.setup ();
+/* ]]> */
+</script>
+
+<script type="text/javascript">
+<!--/*--><![CDATA[/*><!--*/
+ function CodeHighlightOn(elem, id)
+ {
+   var target = document.getElementById(id);
+   if(null != target) {
+     elem.cacheClassElem = elem.className;
+     elem.cacheClassTarget = target.className;
+     target.className = "code-highlighted";
+     elem.className   = "code-highlighted";
+   }
+ }
+ function CodeHighlightOff(elem, id)
+ {
+   var target = document.getElementById(id);
+   if(elem.cacheClassElem)
+     elem.className = elem.cacheClassElem;
+   if(elem.cacheClassTarget)
+     target.className = elem.cacheClassTarget;
+ }
+/*]]>*///-->
+</script>
+</head>
+<body>
+<div id="content">
+<h1 class="title">Debian Policy</h1>
+
+
+<div id="outline-container-1" class="outline-2">
+<h2 id="sec-1">Infrastructure </h2>
+<div class="outline-text-2" id="text-1">
+
+
+<ul>
+<li>
+Website:: <a href="http://www.debian.org/doc/devel-manuals#policy">http://www.debian.org/doc/devel-manuals#policy</a>
+</li>
+<li>
+Mailing list:: debian-policy@lists.debian.org lists
+</li>
+<li>
+Source Code::
+<ul>
+<li>
+git clone git://git.debian.org/git/dbnpolicy/policy.git
+</li>
+<li>
+Browser: <a href="http://git.debian.org/?p=dbnpolicy/policy.git">http://git.debian.org/?p=dbnpolicy/policy.git</a> 
+</li>
+</ul>
+</li>
+<li>
+Unix group:: dbnpolicy
+</li>
+<li>
+Alioth Project:: <a href="http://alioth.debian.org/projects/dbnpolicy">http://alioth.debian.org/projects/dbnpolicy</a> (exists
+to manage the repository but not otherwise used)
+
+</li>
+</ul>
+
+</div>
+
+<div id="outline-container-1.1" class="outline-3">
+<h3 id="sec-1.1">Interacting with the team </h3>
+<div class="outline-text-3" id="text-1.1">
+
+
+<ul>
+<li>
+Email contact:: <a href="mailto:debian-policy@lists.debian.org">mailto:debian-policy@lists.debian.org</a>
+</li>
+<li>
+Request tracker:: <a href="http://bugs.debian.org/src:debian-policy">http://bugs.debian.org/src:debian-policy</a>
+
+</li>
+</ul>
+
+<p>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 <a href="./Process.html">Policy changes process</a>.
+</p>
+<p>
+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:
+</p>
+
+
+
+<pre class="src src-Sh">git clone git://git.debian.org/git/dbnpolicy/policy.git
+git checkout -b &lt;local-branch-name&gt;
+
+# edit files, but don't make changes to upgrading-checklist or debian/changelog
+git add &lt;files&gt;
+git commit
+# repeat as necessary
+
+# update your branch against the current master
+git checkout master
+git pull
+
+git checkout master
+git merge --no-commit &lt;local-branch-name&gt;
+git reset --hard HEAD;
+git checkout &lt;local-branch-name&gt;; 
+
+# 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
+# Edit files to remove conflict
+ : git commit -s 
+
+# Checkout the local branch, to create the patch to send to the policy
+git checkout &lt;local-branch-name&gt;
+dir=$(mktemp -d)
+git format-patch -o $dir -s master
+# check out the patches created in $dir
+git send-email --from <span style="font-style: italic;">"you &lt;<a href="mailto:your&#64;email">your&#64;email</a>&gt;"</span>             \
+               --to debian-policy@lists.debian.org   \
+               $dir/
+</pre>
+
+
+
+
+<p>
+&lt;local-branch-name&gt; 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.
+</p>
+</div>
+</div>
+
+</div>
+
+<div id="outline-container-2" class="outline-2">
+<h2 id="sec-2">Usual Roles </h2>
+<div class="outline-text-2" id="text-2">
+
+
+<p>
+The Debian Policy team are official project delegates (see the DPL
+delegation). All of the Policy team members do basically the same
+work: shepherd proposals, propose wording, and merge changes when
+consensus has been reached. The current delegates are:
+</p>
+<ul>
+<li>
+Russ Allbery
+</li>
+<li>
+Bill Allombert
+</li>
+<li>
+Andrew McMillan
+</li>
+<li>
+Manoj Srivastava
+</li>
+<li>
+Colin Watson (cjwatson) 
+
+</li>
+</ul>
+
+<p>The special tasks of Policy delegates are:
+</p>
+<ul>
+<li>
+Commit access to the Git repository and uploads of the debian-policy
+package itself, which makes them responsible for debian-policy as a
+package in Debian and for making final decisions about when a new
+version is released and what bits go into it.
+</li>
+<li>
+Rejecting proposals. Anyone can argue against a proposal, but only
+Policy delegates can formally reject it.
+</li>
+<li>
+Counting seconds and weighing objections to proposals to determine
+whether the proposal has sufficient support to be included.
+
+</li>
+</ul>
+
+<p>Everything else can be done by anyone, or any DD (depending on the
+outcome of the discussion about seconding). We explicitly want any
+Debian DD to review and second or object to proposals. The more
+participation, the better. Many other people are active on the Policy
+mailing list without being project delegates.
+</p>
+</div>
+
+</div>
+
+<div id="outline-container-3" class="outline-2">
+<h2 id="sec-3">Task description </h2>
+<div class="outline-text-2" id="text-3">
+
+
+<p>
+The Debian Policy team is responsible for maintaining and coordinating
+updates to the technical Policy manuals for the project. The primary
+output of the team is the Debian Policy Manual and the assorted
+subpolicies, released as the debian-policy Debian package and also
+published at <a href="http://www.debian.org/doc/">http://www.debian.org/doc/</a>.
+</p>
+<p>
+In addition to the main technical manual, the team currently also maintains:
+</p>
+<ul>
+<li>
+<a href="http://www.debian.org/doc/packaging-manuals/menu-policy/">Debian Menu sub-policy</a>
+</li>
+<li>
+<a href="http://www.debian.org/doc/packaging-manuals/perl-policy/">Debian Perl Policy</a>
+</li>
+<li>
+<a href="http://www.debian.org/doc/packaging-manuals/mime-policy/">Debian MIME support sub-policy</a>
+</li>
+<li>
+<a href="http://www.debian.org/doc/packaging-manuals/debconf_specification.html">Debconf Specification</a>
+</li>
+<li>
+<a href="http://www.debian.org/doc/packaging-manuals/virtual-package-names-list.txt">Authoritative list of virtual package names </a>
+
+</li>
+</ul>
+
+<p>These documents are maintained using the <a href="./Process.html">Policy changes process</a>, and
+the current state of all change proposals is tracked using the
+<a href="http://bugs.debian.org/src:debian-policy">debian-policy BTS</a>.
+</p>
+</div>
+
+</div>
+
+<div id="outline-container-4" class="outline-2">
+<h2 id="sec-4">Get involved </h2>
+<div class="outline-text-2" id="text-4">
+
+
+<p>
+The best way to help is to review the <a href="http://bugs.debian.org/src:debian-policy">current open bugs</a>, pick a bug
+that no one is currently shepherding (ask on
+<a href="mailto:debian-policy@lists.debian.org">debian-policy@lists.debian.org</a> if you're not sure if a particular bug
+is being shepherded), and help it through the change process. This
+will involve guiding the discussion, seeking additional input
+(particularly from experts in the area being discussed), possibly
+raising the issue on other mailing lists, proposing or getting other
+people to propose specific wording changes, and writing diffs against
+the current Policy document. All of the steps of <a href="./Process.html">Policy changes process</a> 
+can be done by people other than Policy team members except
+the final acceptance steps and almost every change can be worked on
+independently, so there's a lot of opportunity for people to help.
+</p>
+<p>
+There are also some other, larger projects:
+</p>
+<ul>
+<li>
+Policy is currently maintained in DebianDoc-SGML, which is no longer
+very actively maintained and isn't a widely used or understood
+format. The most logical replacement would be DocBook. However,
+DocBook is a huge language with many tags and options, making it
+rather overwhelming. We badly need someone with DocBook experience
+to write a style guide specifying exactly which tags should be used
+and what they should be used for so that we can limit ourselves to
+an easy-to-understand and documented subset of the language.
+</li>
+<li>
+Policy contains several appendices which are really documentation of
+how parts of the dpkg system works rather than technical
+Policy. Those appendices should be removed from the Policy document
+and maintained elsewhere, probably as part of dpkg, and any Policy
+statements in them moved into the main document. This project will
+require reviewing the current contents of the appendices and feeding
+the useful bits that aren't currently documented back to the dpkg
+team as documentation patches.
+</li>
+<li>
+Policy has grown organically over the years and suffers from
+organizational issues because of it. It also doesn't make use of the
+abilities that a current XML language might give us, such as being
+able to extract useful portions of the document (all <b>must</b>
+directives, for example). There has been quite a bit of discussion
+of a new format that would allow for this, probably as part of
+switching to DocBook, but as yet such a reorganization and reworking
+has not been started.
+
+</li>
+</ul>
+
+<p>If you want to work on any of these projects, please mail
+<a href="mailto:debian-policy@lists.debian.org">debian-policy@lists.debian.org </a> for more information. We'll be happy to
+help you get started.
+</p>
+
+</div>
+
+<div id="outline-container-4.1" class="outline-3">
+<h3 id="sec-4.1">Maintenance procedures </h3>
+<div class="outline-text-3" id="text-4.1">
+
+
+</div>
+
+</div>
+
+<div id="outline-container-4.2" class="outline-3">
+<h3 id="sec-4.2">Repository layout </h3>
+<div class="outline-text-3" id="text-4.2">
+
+
+<p>
+The Git repository used for Debian Policy has the following branches:
+</p>
+<ul>
+<li>
+ master:: the current accepted changes that will be in the next release
+</li>
+<li>
+ bug&lt;number&gt;-&lt;user&gt;:: changes addressing bug &lt;number&gt;, shepherded by &lt;user&gt;
+</li>
+<li>
+ rra:: old history of Russ's arch repository, now frozen
+</li>
+<li>
+ srivasta:: old history of Manoj's arch repository 
+
+</li>
+</ul>
+</div>
+
+</div>
+
+<div id="outline-container-4.3" class="outline-3">
+<h3 id="sec-4.3">Managing a bug </h3>
+<div class="outline-text-3" id="text-4.3">
+
+
+<p>
+The process used by Policy team members to manage a bug, once there is
+proposed wording, is:
+</p>
+<ul>
+<li>
+Create a bug&lt;number&gt;-&lt;user&gt; branch for the bug, where &lt;number&gt; is
+the bug number in the BTS and &lt;user&gt; is a designator of the Policy
+team member who is shepherding the bug.
+</li>
+<li>
+Commit wording changes in that branch until consensus is
+achieved. Do not modify debian/changelog or upgrading-checklist.html
+during this phase. Use the BTS to track who proposed the wording and
+who seconded it.
+</li>
+<li>
+git pull master to make sure you have the latest version.
+</li>
+<li>
+Once the change has been approved by enough people, git merge the
+branch into master immediately after making the final commit adding
+the changelog entry to minimize conflicts.
+</li>
+<li>
+add the debian/changelog and upgrading-checklist.html changes, and
+commit to master.
+</li>
+<li>
+Push master out so other people may merge in their own bug branches
+without conflicts.
+</li>
+<li>
+Tag the bug as pending and remove other process tags.
+</li>
+<li>
+Delete the now-merged branch.
+
+</li>
+</ul>
+
+<p>The Git commands used for this workflow are:
+</p>
+
+
+<pre class="src src-Sh">git checkout -b bug12345-rra master
+# edit files
+# git add files
+git commit
+git push origin bug12345-rra
+# iterate until good
+# update your local master branch
+git checkout master
+git pull
+
+git checkout master
+git merge --no-commit bug12345-rra
+git reset --hard HEAD;
+
+# 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 add debian/changelog upgrading-checklist.html
+git commit
+git push origin master
+git branch -d bug12345-rra
+git push origin :bug12345-rra
+</pre>
+
+
+
+
+<p>
+For the debian/changelog entry, use the following format:
+</p>
+
+
+<pre class="example">* &lt;document&gt;: &lt;brief change description&gt;
+  Wording: &lt;author of wording&gt;
+  Seconded: &lt;seconder&gt;
+  Seconded: &lt;seconder&gt;
+  Closes: &lt;bug numbers&gt;
+</pre>
+
+
+
+
+<p>
+For example:
+</p>
+
+
+<pre class="example">* Policy: better document version ranking and empty Debian revisions
+  Wording: Russ Allbery &lt;rra@debian.org&gt;
+  Seconded: Raphaël Hertzog &lt;hertzog@debian.org&gt;
+  Seconded: Manoj Srivastava &lt;srivasta@debian.org&gt;
+  Seconded: Guillem Jover &lt;guillem@debian.org&gt;
+  Closes: #186700, #458910
+</pre>
+
+
+
+
+</div>
+
+</div>
+
+<div id="outline-container-4.4" class="outline-3">
+<h3 id="sec-4.4">Updating branches </h3>
+<div class="outline-text-3" id="text-4.4">
+
+
+<p>
+After commits to master have been pushed, either by you or by another
+Policy team member, you will generally want to update your working bug
+branches. The equivalent of the following commands should do that:
+</p>
+
+
+
+<pre class="src src-Sh">for i in `git show-ref --heads | awk '{print $2}'`; do
+    j=$(basename $i)
+    if [ <span style="font-style: italic;">"$j"</span> != <span style="font-style: italic;">"master"</span> ]; then
+        git checkout $j &amp;&amp; git merge master
+    fi
+done
+git push --all origin
+</pre>
+
+
+
+
+<p>
+assuming that you haven't packed the refs in your repository.
+</p>
+</div>
+
+</div>
+
+<div id="outline-container-4.5" class="outline-3">
+<h3 id="sec-4.5">Making a release </h3>
+<div class="outline-text-3" id="text-4.5">
+
+
+<p>
+For a final Policy release, change UNRELEASED to unstable in
+debian/changelog and update the timestamp to match the final release
+time (dch -r may be helpful for this), update the release date in
+upgrading-checklist.html, update Standards-Version in debian/control,
+and commit that change. Then do the final release build and make sure
+that it builds and installs.
+</p>
+<p>
+Then, tag the repository and push the final changes to Alioth:
+</p>
+
+
+
+<pre class="src src-Sh">git tag -s v3.8.0.0
+git push origin
+git push --tags origin
+</pre>
+
+
+
+
+<p>
+replacing the version number with the version of the release, of course.
+</p>
+<p>
+Finally, announce the new Policy release on debian-devel-announce,
+including in the announcement the upgrading-checklist section for the
+new release.
+</p>
+</div>
+
+</div>
+
+<div id="outline-container-4.6" class="outline-3">
+<h3 id="sec-4.6">Setting release goals </h3>
+<div class="outline-text-3" id="text-4.6">
+
+
+<p>
+Policy has a large bug backlog, and each bug against Policy tends to
+take considerable time and discussion to resolve. I've found it
+useful, when trying to find a place to start, to pick a manageable set
+of bugs and set as a target resolving them completely before the next
+Policy release. Resolving a bug means one of the following:
+</p>
+<ul>
+<li>
+Proposing new language to address the bug that's seconded and approved by
+the readers of the Policy list following the <a href="./Progress.html">Policy changes process</a> (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).
+</li>
+<li>
+Determining that the bug is not relevant to Policy and closing it.
+</li>
+<li>
+Determining that either there is no consensus that the bug indicates
+a problem, that the solutions that we can currently come up with are
+good solutions, or that Debian is ready for the change. These bugs
+are tagged wontfix and then closed after a while. A lot of Policy
+bugs fall into this category; just because it would be useful to
+have a policy in some area doesn't mean that we're ready to make
+one, and keeping the bugs open against Policy makes it difficult to
+tell what requires work. If the problem is worth writing a policy
+for, it will come up again later when hopefully the project
+consensus is more mature.
+
+</li>
+</ul>
+
+<p>Anyone can pick bugs and work resolve them. The final determination to
+accept a wording change or reject a bug will be made by a Policy
+delegate, but if a patch is already written and seconded, or if a
+summary of why a bug is not ready to be acted on is already written,
+the work is much easier for the Policy delegate.
+</p>
+<p>
+One of the best ways to help out is to pick one or two bugs (checking
+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.
+</p></div>
+</div>
+</div>
+<div id="postamble">
+<p class="author"> Author: Manoj Srivastava And Russ Allbery
+<a href="mailto:srivasta@debian.org">&lt;srivasta@debian.org&gt;</a>
+</p>
+<p class="date"> Date: 2009-10-05 00:20:29 CDT</p>
+<p class="creator">HTML generated by org-mode 6.31trans in emacs 23</p>
+</div>
+</div>
+</body>
+</html>
diff --git a/README.org b/README.org
new file mode 100644 (file)
index 0000000..4a7458c
--- /dev/null
@@ -0,0 +1,359 @@
+-*- mode: org; fill-column: 78 -*-
+#+STARTUP: showall
+#+STARTUP: lognotedone lognotestate
+#+OPTIONS: H:4 toc:2
+#+TITLE:  Debian Policy
+#+AUTHOR: Manoj Srivastava And Russ Allbery
+#+EMAIL: srivasta@debian.org
+#+OPTIONS:   H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:t -:t f:t *:t TeX:t LaTeX:nil skip:t d:nil tags:not-in-toc
+#+LINK_HOME: http://wiki.debian.org/Teams/Policy
+#+LINK_UP: http://www.debian.org/
+
+\usepackage{landscape}
+
+\setlength{\oddsidemargin}{0in}                % default=0in
+\setlength{\textwidth}{9in}            % default=9in
+
+\setlength{\columnsep}{0.5in}          % default=10pt
+\setlength{\columnseprule}{1pt}                % default=0pt (no line)
+
+\setlength{\textheight}{5.85in}                % default=5.15in
+\setlength{\topmargin}{-0.15in}                % default=0.20in
+\setlength{\headsep}{0.25in}           % default=0.35in
+
+\setlength{\parskip}{1.2ex}
+\setlength{\parindent}{0mm}
+\pagestyle{empty}
+
+\setlength{\headheight}{0pt}
+\setlength{\headsep}{0pt}
+\setlength{\footskip}{5pt}
+\setlength{\textheight}{9.0in}
+\setlength{\textwidth}{6.5in}
+
+
+* Infrastructure
+
++ Website:: http://www.debian.org/doc/devel-manuals#policy
++ Mailing list:: debian-policy@lists.debian.org lists
++ Source Code::
+  * git clone git://git.debian.org/git/dbnpolicy/policy.git
+  * Browser: http://git.debian.org/?p=dbnpolicy/policy.git 
++ Unix group:: dbnpolicy
++ Alioth Project:: http://alioth.debian.org/projects/dbnpolicy (exists
+  to manage the repository but not otherwise used)
+
+** Interacting with the team
+
++ Email contact:: mailto:debian-policy@lists.debian.org
++ Request tracker:: http://bugs.debian.org/src:debian-policy
+
+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 [[./Process.org][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:
+
+#+BEGIN_SRC Sh
+git clone git://git.debian.org/git/dbnpolicy/policy.git
+git checkout -b <local-branch-name>
+
+# edit files, but don't make changes to upgrading-checklist or debian/changelog
+git add <files>
+git commit
+# repeat as necessary
+
+# update your branch against the current master
+git checkout master
+git pull
+
+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
+# 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>
+dir=$(mktemp -d)
+git format-patch -o $dir -s master
+# check out the patches created in $dir
+git send-email --from "you <your@email>"             \
+               --to debian-policy@lists.debian.org   \
+               $dir/
+#+END_SRC
+
+<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.
+
+* Usual Roles
+
+The Debian Policy team are official project delegates (see the DPL
+delegation). All of the Policy team members do basically the same
+work: shepherd proposals, propose wording, and merge changes when
+consensus has been reached. The current delegates are:
+
++ Russ Allbery
++ Bill Allombert
++ Andrew McMillan
++ Manoj Srivastava
++ Colin Watson (cjwatson) 
+
+The special tasks of Policy delegates are:
+
++ Commit access to the Git repository and uploads of the debian-policy
+  package itself, which makes them responsible for debian-policy as a
+  package in Debian and for making final decisions about when a new
+  version is released and what bits go into it.
++ Rejecting proposals. Anyone can argue against a proposal, but only
+  Policy delegates can formally reject it.
++ Counting seconds and weighing objections to proposals to determine
+  whether the proposal has sufficient support to be included.
+
+Everything else can be done by anyone, or any DD (depending on the
+outcome of the discussion about seconding). We explicitly want any
+Debian DD to review and second or object to proposals. The more
+participation, the better. Many other people are active on the Policy
+mailing list without being project delegates.
+
+* Task description
+
+The Debian Policy team is responsible for maintaining and coordinating
+updates to the technical Policy manuals for the project. The primary
+output of the team is the Debian Policy Manual and the assorted
+subpolicies, released as the debian-policy Debian package and also
+published at [[http://www.debian.org/doc/]].
+
+In addition to the main technical manual, the team currently also maintains:
+
++ [[http://www.debian.org/doc/packaging-manuals/menu-policy/][Debian Menu sub-policy]]
++ [[http://www.debian.org/doc/packaging-manuals/perl-policy/][Debian Perl Policy]]
++ [[http://www.debian.org/doc/packaging-manuals/mime-policy/][Debian MIME support sub-policy]]
++ [[http://www.debian.org/doc/packaging-manuals/debconf_specification.html][Debconf Specification]]
++ [[http://www.debian.org/doc/packaging-manuals/virtual-package-names-list.txt][Authoritative list of virtual package names ]]
+
+These documents are maintained using the [[./Process.org][Policy changes process]], and
+the current state of all change proposals is tracked using the
+[[http://bugs.debian.org/src:debian-policy][debian-policy BTS]].
+
+* Get involved
+
+The best way to help is to review the [[http://bugs.debian.org/src:debian-policy][current open bugs]], pick a bug
+that no one is currently shepherding (ask on
+[[mailto:debian-policy@lists.debian.org][debian-policy@lists.debian.org]] if you're not sure if a particular bug
+is being shepherded), and help it through the change process. This
+will involve guiding the discussion, seeking additional input
+(particularly from experts in the area being discussed), possibly
+raising the issue on other mailing lists, proposing or getting other
+people to propose specific wording changes, and writing diffs against
+the current Policy document. All of the steps of [[./Process.org][Policy changes process]] 
+can be done by people other than Policy team members except
+the final acceptance steps and almost every change can be worked on
+independently, so there's a lot of opportunity for people to help.
+
+There are also some other, larger projects:
+
++ Policy is currently maintained in DebianDoc-SGML, which is no longer
+  very actively maintained and isn't a widely used or understood
+  format. The most logical replacement would be DocBook. However,
+  DocBook is a huge language with many tags and options, making it
+  rather overwhelming. We badly need someone with DocBook experience
+  to write a style guide specifying exactly which tags should be used
+  and what they should be used for so that we can limit ourselves to
+  an easy-to-understand and documented subset of the language.
++ Policy contains several appendices which are really documentation of
+  how parts of the dpkg system works rather than technical
+  Policy. Those appendices should be removed from the Policy document
+  and maintained elsewhere, probably as part of dpkg, and any Policy
+  statements in them moved into the main document. This project will
+  require reviewing the current contents of the appendices and feeding
+  the useful bits that aren't currently documented back to the dpkg
+  team as documentation patches.
++ Policy has grown organically over the years and suffers from
+  organizational issues because of it. It also doesn't make use of the
+  abilities that a current XML language might give us, such as being
+  able to extract useful portions of the document (all *must*
+  directives, for example). There has been quite a bit of discussion
+  of a new format that would allow for this, probably as part of
+  switching to DocBook, but as yet such a reorganization and reworking
+  has not been started.
+
+If you want to work on any of these projects, please mail
+[[mailto:debian-policy@lists.debian.org][debian-policy@lists.debian.org ]] for more information. We'll be happy to
+help you get started.
+
+** Maintenance procedures
+
+** Repository layout
+
+The Git repository used for Debian Policy has the following branches:
+
++  master:: the current accepted changes that will be in the next release
++  bug<number>-<user>:: changes addressing bug <number>, shepherded by <user>
++  rra:: old history of Russ's arch repository, now frozen
++  srivasta:: old history of Manoj's arch repository 
+
+** Managing a bug
+
+The process used by Policy team members to manage a bug, once there is
+proposed wording, is:
+
++ Create a bug<number>-<user> branch for the bug, where <number> is
+  the bug number in the BTS and <user> is a designator of the Policy
+  team member who is shepherding the bug.
++ Commit wording changes in that branch until consensus is
+  achieved. Do not modify debian/changelog or upgrading-checklist.html
+  during this phase. Use the BTS to track who proposed the wording and
+  who seconded it.
++ git pull master to make sure you have the latest version.
++ Once the change has been approved by enough people, git merge the
+  branch into master immediately after making the final commit adding
+  the changelog entry to minimize conflicts.
++ add the debian/changelog and upgrading-checklist.html changes, and
+  commit to master.
++ Push master out so other people may merge in their own bug branches
+  without conflicts.
++ Tag the bug as pending and remove other process tags.
++ Delete the now-merged branch.
+
+The Git commands used for this workflow are:
+#+BEGIN_SRC Sh
+git checkout -b bug12345-rra master
+# edit files
+# git add files
+git commit
+git push origin bug12345-rra
+# iterate until good
+# update your local master branch
+git checkout master
+git pull
+
+git checkout master
+git merge --no-commit bug12345-rra
+git reset --hard HEAD;
+
+# 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 add debian/changelog upgrading-checklist.html
+git commit
+git push origin master
+git branch -d bug12345-rra
+git push origin :bug12345-rra
+#+END_SRC
+
+For the debian/changelog entry, use the following format:
+#+BEGIN_EXAMPLE
+  * <document>: <brief change description>
+    Wording: <author of wording>
+    Seconded: <seconder>
+    Seconded: <seconder>
+    Closes: <bug numbers>
+#+END_EXAMPLE
+
+For example:
+#+BEGIN_EXAMPLE
+  * Policy: better document version ranking and empty Debian revisions
+    Wording: Russ Allbery <rra@debian.org>
+    Seconded: Raphaël Hertzog <hertzog@debian.org>
+    Seconded: Manoj Srivastava <srivasta@debian.org>
+    Seconded: Guillem Jover <guillem@debian.org>
+    Closes: #186700, #458910
+#+END_EXAMPLE
+
+** Updating branches
+
+After commits to master have been pushed, either by you or by another
+Policy team member, you will generally want to update your working bug
+branches. The equivalent of the following commands should do that:
+
+#+BEGIN_SRC Sh
+for i in `git show-ref --heads | awk '{print $2}'`; do
+    j=$(basename $i)
+    if [ "$j" != "master" ]; then
+        git checkout $j && git merge master
+    fi
+done
+git push --all origin
+#+END_SRC
+
+assuming that you haven't packed the refs in your repository.
+
+** Making a release
+
+For a final Policy release, change UNRELEASED to unstable in
+debian/changelog and update the timestamp to match the final release
+time (dch -r may be helpful for this), update the release date in
+upgrading-checklist.html, update Standards-Version in debian/control,
+and commit that change. Then do the final release build and make sure
+that it builds and installs.
+
+Then, tag the repository and push the final changes to Alioth:
+
+#+BEGIN_SRC Sh
+git tag -s v3.8.0.0
+git push origin
+git push --tags origin
+#+END_SRC
+
+replacing the version number with the version of the release, of course.
+
+Finally, announce the new Policy release on debian-devel-announce,
+including in the announcement the upgrading-checklist section for the
+new release.
+
+** Setting release goals
+
+Policy has a large bug backlog, and each bug against Policy tends to
+take considerable time and discussion to resolve. I've found it
+useful, when trying to find a place to start, to pick a manageable set
+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 [[./Progress.org][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
+  good solutions, or that Debian is ready for the change. These bugs
+  are tagged wontfix and then closed after a while. A lot of Policy
+  bugs fall into this category; just because it would be useful to
+  have a policy in some area doesn't mean that we're ready to make
+  one, and keeping the bugs open against Policy makes it difficult to
+  tell what requires work. If the problem is worth writing a policy
+  for, it will come up again later when hopefully the project
+  consensus is more mature.
+
+Anyone can pick bugs and work resolve them. The final determination to
+accept a wording change or reject a bug will be made by a Policy
+delegate, but if a patch is already written and seconded, or if a
+summary of why a bug is not ready to be acted on is already written,
+the work is much easier for the Policy delegate.
+
+One of the best ways to help out is to pick one or two bugs (checking
+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.
diff --git a/README.txt b/README.txt
new file mode 100644 (file)
index 0000000..55e9b23
--- /dev/null
@@ -0,0 +1,346 @@
+                            Debian Policy
+                            =============
+
+Author: Manoj Srivastava And Russ Allbery <srivasta@debian.org>
+Date: 2009-09-15 15:48:35 CDT
+
+
+Infrastructure 
+~~~~~~~~~~~~~~~
+
++ Website:: [http://www.debian.org/doc/devel-manuals#policy]
++ Mailing list:: debian-policy@lists.debian.org lists
++ Source Code::
+  * git clone git://git.debian.org/git/dbnpolicy/policy.git
+  * Browser: [http://git.debian.org/?p=dbnpolicy/policy.git] 
++ Unix group:: dbnpolicy
++ Alioth Project:: [http://alioth.debian.org/projects/dbnpolicy] (exists
+  to manage the repository but not otherwise used)
+
+Interacting with the team 
+==========================
+
++ Email contact:: [mailto:debian-policy@lists.debian.org]
++ Request tracker:: [http://bugs.debian.org/src:debian-policy]
+
+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 [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>
+  
+  # edit files, but don't make changes to upgrading-checklist or debian/changelog
+  git add <files>
+  git commit
+  # repeat as necessary
+  
+  # update your branch against the current master
+  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 merge master
+  # get rid of the temp branch:
+   git branch -D temp
+  
+  # Checkout the local branch, to create the patch to send to the policy
+  git checkout <local-branch-name>
+  dir=$(mktemp -d)
+  git format-patch -o $dir -s master
+  # check out the patches created in $dir
+  git send-email --from "you <your@email>"             \
+                 --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 
+~~~~~~~~~~~~
+
+The Debian Policy team are official project delegates (see the DPL
+delegation). All of the Policy team members do basically the same
+work: shepherd proposals, propose wording, and merge changes when
+consensus has been reached. The current delegates are:
+
++ Russ Allbery
++ Bill Allombert
++ Andrew McMillan
++ Manoj Srivastava
++ Colin Watson (cjwatson) 
+
+The special tasks of Policy delegates are:
+
++ Commit access to the Git repository and uploads of the debian-policy
+  package itself, which makes them responsible for debian-policy as a
+  package in Debian and for making final decisions about when a new
+  version is released and what bits go into it.
++ Rejecting proposals. Anyone can argue against a proposal, but only
+  Policy delegates can formally reject it.
++ Counting seconds and weighing objections to proposals to determine
+  whether the proposal has sufficient support to be included.
+
+Everything else can be done by anyone, or any DD (depending on the
+outcome of the discussion about seconding). We explicitly want any
+Debian DD to review and second or object to proposals. The more
+participation, the better. Many other people are active on the Policy
+mailing list without being project delegates.
+
+Task description 
+~~~~~~~~~~~~~~~~~
+
+The Debian Policy team is responsible for maintaining and coordinating
+updates to the technical Policy manuals for the project. The primary
+output of the team is the Debian Policy Manual and the assorted
+subpolicies, released as the debian-policy Debian package and also
+published at [http://www.debian.org/doc/].
+
+In addition to the main technical manual, the team currently also maintains:
+
++ [Debian Menu sub-policy]
++ [Debian Perl Policy]
++ [Debian MIME support sub-policy]
++ [Debconf Specification]
++ [Authoritative list of virtual package names ]
+
+These documents are maintained using the [Policy changes process], and
+the current state of all change proposals is tracked using the
+[debian-policy BTS].
+
+
+[Debian Menu sub-policy]: http://www.debian.org/doc/packaging-manuals/menu-policy/
+[Debian Perl Policy]: http://www.debian.org/doc/packaging-manuals/perl-policy/
+[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]: Process.txt
+[debian-policy BTS]: http://bugs.debian.org/src:debian-policy
+
+Get involved 
+~~~~~~~~~~~~~
+
+The best way to help is to review the [current open bugs], pick a bug
+that no one is currently shepherding (ask on
+[debian-policy@lists.debian.org] if you're not sure if a particular bug
+is being shepherded), and help it through the change process. This
+will involve guiding the discussion, seeking additional input
+(particularly from experts in the area being discussed), possibly
+raising the issue on other mailing lists, proposing or getting other
+people to propose specific wording changes, and writing diffs against
+the current Policy document. All of the steps of [Policy changes process] 
+can be done by people other than Policy team members except
+the final acceptance steps and almost every change can be worked on
+independently, so there's a lot of opportunity for people to help.
+
+There are also some other, larger projects:
+
++ Policy is currently maintained in DebianDoc-SGML, which is no longer
+  very actively maintained and isn't a widely used or understood
+  format. The most logical replacement would be DocBook. However,
+  DocBook is a huge language with many tags and options, making it
+  rather overwhelming. We badly need someone with DocBook experience
+  to write a style guide specifying exactly which tags should be used
+  and what they should be used for so that we can limit ourselves to
+  an easy-to-understand and documented subset of the language.
++ Policy contains several appendices which are really documentation of
+  how parts of the dpkg system works rather than technical
+  Policy. Those appendices should be removed from the Policy document
+  and maintained elsewhere, probably as part of dpkg, and any Policy
+  statements in them moved into the main document. This project will
+  require reviewing the current contents of the appendices and feeding
+  the useful bits that aren't currently documented back to the dpkg
+  team as documentation patches.
++ Policy has grown organically over the years and suffers from
+  organizational issues because of it. It also doesn't make use of the
+  abilities that a current XML language might give us, such as being
+  able to extract useful portions of the document (all *must*
+  directives, for example). There has been quite a bit of discussion
+  of a new format that would allow for this, probably as part of
+  switching to DocBook, but as yet such a reorganization and reworking
+  has not been started.
+
+If you want to work on any of these projects, please mail
+[debian-policy@lists.debian.org ] for more information. We'll be happy to
+help you get started.
+
+
+[current open bugs]: http://bugs.debian.org/src:debian-policy
+[debian-policy@lists.debian.org]: mailto:debian-policy@lists.debian.org
+[Policy changes process]: Process.txt
+[debian-policy@lists.debian.org ]: mailto:debian-policy@lists.debian.org
+
+Maintenance procedures 
+=======================
+
+Repository layout 
+==================
+
+The Git repository used for Debian Policy has the following branches:
+
++  master:: the current accepted changes that will be in the next release
++  bug<number>-<user>:: changes addressing bug <number>, shepherded by <user>
++  rra:: old history of Russ's arch repository, now frozen
++  srivasta:: old history of Manoj's arch repository 
+
+Managing a bug 
+===============
+
+The process used by Policy team members to manage a bug, once there is
+proposed wording, is:
+
++ Create a bug<number>-<user> branch for the bug, where <number> is
+  the bug number in the BTS and <user> is a designator of the Policy
+  team member who is shepherding the bug.
++ Commit wording changes in that branch until consensus is
+  achieved. Do not modify debian/changelog or upgrading-checklist.html
+  during this phase. Use the BTS to track who proposed the wording and
+  who seconded it.
++ git pull master to make sure you have the latest version.
++ Once the change has been approved by enough people, git merge the
+  branch into master immediately after making the final commit adding
+  the changelog entry to minimize conflicts.
++ add the debian/changelog and upgrading-checklist.html changes, and
+  commit to master.
++ Push master out so other people may merge in their own bug branches
+  without conflicts.
++ Tag the bug as pending and remove other process tags.
++ Delete the now-merged branch.
+
+The Git commands used for this workflow are:
+  git checkout -b bug12345-rra master
+  # edit files
+  # git add files
+  git commit
+  git push origin bug12345-rra
+  # iterate until good
+  # 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 reset --hard HEAD;
+  git checkout bug12345-rra; git branch -D temp
+  git merge master
+  git checkout master
+  git merge bug12345-rra
+  # edit debian/changelog and upgrading-checklist.html
+  git add debian/changelog upgrading-checklist.html
+  git commit
+  git push origin master
+  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: Manoj Srivastava <srivasta@debian.org>
+    Seconded: Guillem Jover <guillem@debian.org>
+    Closes: #186700, #458910
+
+
+Updating branches 
+==================
+
+After commits to master have been pushed, either by you or by another
+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
+          git checkout $j && git merge master
+      fi
+  done
+  git push --all origin
+
+
+assuming that you haven't packed the refs in your repository.
+
+Making a release 
+=================
+
+For a final Policy release, change UNRELEASED to unstable in
+debian/changelog and update the timestamp to match the final release
+time (dch -r may be helpful for this), update the release date in
+upgrading-checklist.html, update Standards-Version in debian/control,
+and commit that change. Then do the final release build and make sure
+that it builds and installs.
+
+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,
+including in the announcement the upgrading-checklist section for the
+new release.
+
+Setting release goals 
+======================
+
+Policy has a large bug backlog, and each bug against Policy tends to
+take considerable time and discussion to resolve. I've found it
+useful, when trying to find a place to start, to pick a manageable set
+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 [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
+  good solutions, or that Debian is ready for the change. These bugs
+  are tagged wontfix and then closed after a while. A lot of Policy
+  bugs fall into this category; just because it would be useful to
+  have a policy in some area doesn't mean that we're ready to make
+  one, and keeping the bugs open against Policy makes it difficult to
+  tell what requires work. If the problem is worth writing a policy
+  for, it will come up again later when hopefully the project
+  consensus is more mature.
+
+Anyone can pick bugs and work resolve them. The final determination to
+accept a wording change or reject a bug will be made by a Policy
+delegate, but if a patch is already written and seconded, or if a
+summary of why a bug is not ready to be acted on is already written,
+the work is much easier for the Policy delegate.
+
+One of the best ways to help out is to pick one or two bugs (checking
+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
+
index 445a12d2b5d8f94a29a16280edffc922ad0741ce..9afdef249824f0eba2e5030b480a9fd1d4360ffd 100644 (file)
@@ -1,9 +1,31 @@
-debian-policy (3.8.3.1) UNRELEASED; urgency=low
+debian-policy (3.8.4.1) UNRELEASED; urgency=low
+
+  [ Colin Watson ]
+  * Fix path to changelog.Debian.gz in footnote on documentation symlinks.
+
+  [ Bill Allombert ]
+  * Convert upgrading-checklist to debiandoc-sgml. This generates a better
+    looking .txt file.
+    Closes: #567845
+  * Fix typo in package_upstream-version.orig.tar.gz.
+    Thanks, Salvatore Bonaccorso. (Closes: #558430)
+
+  [ Russ Allbery ]
+  * Standardize dpkg state wording and bring it in line with dpkg,
+    renaming Failed-Config to Half-Configured and use uniform
+    capitalization and punctuation.  (Closes: #442134)
+
+ -- Bill Allombert <ballombe@debian.org>  Fri, 21 May 2010 21:02:34 +0200
+
+debian-policy (3.8.4.0) unstable; urgency=low
 
   [ Bill Allombert ]
   * Also provide documents in single-file HTML format.
     Proposed by Jari Aalto.
     Closes: #544353
+  * Number the DFSG points like in the social_contract document.
+    Proposed by Enrico Zini.
+    Closes: #550192
 
   [ Manoj Srivastava ]
   * [b270d2d]: Typo fix: relayed -> related. Thanks to Matt Kraai for
@@ -21,8 +43,56 @@ debian-policy (3.8.3.1) UNRELEASED; urgency=low
     Seconded: Russ Allbery 
     Seconded: Giacomo A. Catenazzi
     Closes: #518199
-  
- -- Manoj Srivastava <srivasta@debian.org>  Mon, 05 Oct 2009 00:02:00 -0500
+  * [8fd91a0]
+    README Process upgrading-checklist: Created/converted to org-mode
+    Wording: Manoj Srivastava
+    Seconded: Russ Allbery 
+    Closes: #545548
+  * [4da0692]: [typo-fixes]: 
+    policy: Fix a number of grammatical or typographical errors
+    wording: Eric Dantan Rzewnicki
+    Seconded: Manoj Srivastava
+  * [112c4bc]: FHS Exceptions
+    policy: Explicitly allow /selinux and /sys as FHS exceptions
+    Wording: Manoj Srivastava
+    Seconded: Russ Allbery <rra@debian.org>
+    Seconded: Kurt Roeckx  <kurt@roeckx.be>
+    Closes: #556972
+    This patch explicitly allows /sys and /selinux as additional
+    directories in the root file system allowed under the policy.
+  * [16afbcb]: Clarify ./debian/rules #! line
+    policy: Clarify rule for debian/rules shebang line
+    Wording: Ben Finney <ben+debian@benfinney.id.au>
+    Seconded: Kurt Roeckx <kurt@roeckx.be>
+    Seconded: Russ Allbery <rra@debian.org>
+    Seconded: Manoj Srivastava <srivasta@debian.org>
+    Explicitly state that  "make -f debian/rules" and "./debian/rules"
+    must behave  identically, to prevent confusion, and to promote
+    reproducibility, and conform to the principle of least surprise.
+  * [dab93b2]: Add a cron-daemon virtual package
+    policy, virtual package list: New virtual package: cron-daemon
+    wording: Javier Fernández-Sanguino Peña, Manoj Srivastava
+    Seconded: Russ Allbery <rra@debian.org>
+    Seconded: Kurt Roeckx  <kurt@roeckx.be>
+    Closes: #391836
+    Create a virtual cron daemon package that:
+     - Has to provide /usr/bin/crontab and support crontab entries
+     - Correct execution of /etc/cron.d
+     - Correct support of /etc/crontab
+     - Support of crontab entries with names for days and months,
+       ranges, step values
+     - Correct execution of /etc/cron.{hourly,daily,weekly,monthly}
+    
+  [ Russ Allbery ]
+  * Policy: Clarify policy on named pipes in packages
+    Wording: Russ Allbery <rra@debian.org>
+    Seconded: Manoj Srivastava <srivasta@debian.org>
+    Seconded: Andrew McMillan <andrew@morphoss.com>
+  * Change the sole occurrence of MUST to must for consistency and to
+    avoid confusion with IETF RFC keywords.  Thanks, Jakub Wilk.
+    (Closes: #552757)
+
+ -- Bill Allombert <ballombe@debian.org>  Wed, 27 Jan 2010 19:22:43 +0100
 
 debian-policy (3.8.3.0) unstable; urgency=low
 
index 7f3c69c45cfeba15c7b43a07b76c827dc454f8ea..897ab26916ecd3f5fff0528e332e5e1d833b368a 100644 (file)
@@ -3,7 +3,7 @@ Section: doc
 Priority: optional
 Maintainer: Debian Policy List <debian-policy@lists.debian.org>
 Uploaders: Manoj Srivastava <srivasta@debian.org>, Russ Allbery <rra@debian.org>, Colin Watson <cjwatson@debian.org>, Bill Allombert <ballombe@debian.org>
-Standards-Version: 3.8.3
+Standards-Version: 3.8.4
 Build-Depends-Indep: sgml-data (>= 2.0), debiandoc-sgml (>= 1.1.47), texlive, texlive-latex-extra, groff, bsdmainutils, pstoedit, jade, docbook-xml (>= 3.1.1), docbook-dsssl, tidy, links (>= 0.90) | elinks
 Vcs-Browser: http://git.debian.org/?p=dbnpolicy/policy.git
 Vcs-Git: git://git.debian.org/git/dbnpolicy/policy.git
index 07e635e68cd5cb537c4349d18e7895d5b0b5be29..052193ff2fc865d9204264ddc5c5db47167119ed 100755 (executable)
@@ -21,6 +21,15 @@ package := $(shell grep Source debian/control | sed 's/^Source: //')
 date   := $(shell date +"%Y-%m-%d")
 version := $(shell awk -F '[()]' '/^$(package)/{ print $$2; exit }' debian/changelog)
 
+# either /usr/bin/emacs-snampshot or /usr/bin/emacs23
+EMACS:=$(shell if [ -x /usr/bin/emacs-snapshot ]; then \
+                 echo /usr/bin/emacs-snapshot;         \
+               elif [ -x /usr/bin/emacs23 ]; then      \
+                 echo /usr/bin/emacs23;                \
+               fi)
+HAVE_ORG_EMACS:=$(strip $(EMACS))
+
+
 # Location of the source dir
 SRCTOP   := $(CURDIR)
 TMPTOP   := $(SRCTOP)/debian/tmp
@@ -29,7 +38,7 @@ LIBDIR          := $(TMPTOP)/usr/share/doc-base
 
 sanitycheck := debian/rules policy.sgml
 
-SGML_FILES := policy menu-policy mime-policy perl-policy
+SGML_FILES := policy menu-policy mime-policy perl-policy upgrading-checklist
 DESC_FILES := debian-policy debian-menu-policy debian-perl-policy \
               debian-mime-policy debconf-spec fhs
 
@@ -45,15 +54,16 @@ FHS_NEW_FILES    :=
 
 POLICY_FILES = $(SGML_FILES:=.sgml) $(SGML_FILES:=.txt.gz) \
               virtual-package-names-list.txt \
-              upgrading-checklist.txt libc6-migration.txt version.ent \
+              libc6-migration.txt version.ent \
                debconf_spec/debconf_specification.html \
                debconf_spec/debconf_specification.txt.gz \
-               policy.ps.gz policy.pdf.gz
+               policy.ps.gz policy.pdf.gz README.txt README.html \
+               Process.txt Process.html
 
 # policy.{pdf,ps,tpt,txt} are generated files
 FILES_TO_CLEAN  = debian/files debian/buildinfo  debian/substvars \
                  debian/postinst debian/prerm \
-                 version.ent upgrading-checklist.txt \
+                 version.ent \
                  $(SGML_FILES:=.txt.gz) $(SGML_FILES:=.html.tar.gz) \
                   $(SGML_FILES:=-1.html) \
                  policy.pdf.gz policy.ps.gz \
@@ -61,6 +71,8 @@ FILES_TO_CLEAN  = debian/files debian/buildinfo  debian/substvars \
                  policy.pdf policy.ps policy.txt policy. \
                  body.tmp head.tmp policy.tpt
 
+FILES_FROM_ORG := README.txt README.html
+
 STAMPS_TO_CLEAN := stamp-policy stamp-build
 DIRS_TO_CLEAN   := debian/tmp fhs $(SGML_FILES:=.html)
 
@@ -71,14 +83,16 @@ make_directory  := install -p -d    -o root -g root  -m  755
 
 
 all build: stamp-build
-stamp-build: version.ent $(sanitycheck)
+stamp-build: version.ent $(sanitycheck) README.txt README.html \
+              Process.txt Process.html
        $(MAKE) $(SGML_FILES:=.sgml.validate) \
                $(SGML_FILES:=.html.tar.gz) \
                 $(SGML_FILES:=-1.html) \
                $(SGML_FILES:=.txt.gz) \
                policy.ps.gz policy.pdf.gz
-       links -dump upgrading-checklist.html | perl -pe 's/[\r\0]//g' > \
-                    upgrading-checklist.txt
+ifneq (,$(strip $(HAVE_ORG_EMACS)))
+       $(MAKE) $(FILES_FROM_ORG)
+endif
        $(MAKE) -C debconf_spec all
        touch stamp-build
 
index 45d664397faa2d12f4ea19e7f6d90b85ee00bbbe..1de249479b7fb128679dd6ad1da1ce78c83bfb2b 100644 (file)
                    is used by, a significant number of packages, and
                    therefore should not be changed without peer
                    review. Package maintainers can then rely on this
-                   interfaces not changing, and the package
-                   management software authors need to ensure
-                   compatibility with these interface
-                   definitions. (Control file and changelog file
-                   formats are examples.)
+                   interface not changing, and the package management
+                   software authors need to ensure compatibility with
+                   this interface definition. (Control file and
+                   changelog file formats are examples.)
                </item>
                <tag>Chosen Convention</tag>
                <item>
          The Debian Free Software Guidelines (DFSG) form our
          definition of "free software".  These are:
            <taglist>
-             <tag>Free Redistribution
+             <tag>1. Free Redistribution
              </tag>
              <item>
                  The license of a Debian component may not restrict any
                  sources. The license may not require a royalty or
                  other fee for such sale.
              </item>
-             <tag>Source Code
+             <tag>2. Source Code
              </tag>
              <item>
                  The program must include source code, and must allow
                  distribution in source code as well as compiled form.
              </item>
-             <tag>Derived Works
+             <tag>3. Derived Works
              </tag>
              <item>
                  The license must allow modifications and derived
                  works, and must allow them to be distributed under the
                  same terms as the license of the original software.
              </item>
-             <tag>Integrity of The Author's Source Code
+             <tag>4. Integrity of The Author's Source Code
              </tag>
              <item>
                  The license may restrict source-code from being
                  Project encourages all authors to not restrict any
                  files, source or binary, from being modified.)
              </item>
-             <tag>No Discrimination Against Persons or Groups
+             <tag>5. No Discrimination Against Persons or Groups
              </tag>
              <item>
                  The license must not discriminate against any person
                  or group of persons.
              </item>
-             <tag>No Discrimination Against Fields of Endeavor
+             <tag>6. No Discrimination Against Fields of Endeavor
              </tag>
              <item>
                  The license must not restrict anyone from making use
                  used in a business, or from being used for genetic
                  research.
              </item>
-             <tag>Distribution of License
+             <tag>7. Distribution of License
              </tag>
              <item>
                  The rights attached to the program must apply to all
                  for execution of an additional license by those
                  parties.
              </item>
-             <tag>License Must Not Be Specific to Debian
+             <tag>8. License Must Not Be Specific to Debian
              </tag>
              <item>
                  The rights attached to the program must not depend on
                  rights as those that are granted in conjunction with
                  the Debian system.
              </item>
-             <tag>License Must Not Contaminate Other Software
+             <tag>9. License Must Not Contaminate Other Software
              </tag>
              <item>
                  The license must not place restrictions on other
                  that all other programs distributed on the same medium
                  must be free software.
              </item>
-             <tag>Example Licenses
+             <tag>10. Example Licenses
              </tag>
              <item>
                   The "GPL," "BSD," and "Artistic" licenses are examples of
        <p>
          It must start with the line <tt>#!/usr/bin/make -f</tt>,
          so that it can be invoked by saying its name rather than
-         invoking <prgn>make</prgn> explicitly.
+         invoking <prgn>make</prgn> explicitly. That is, invoking
+          either of <tt>make -f debian/rules <em>args...</em></tt>
+          or <tt>./debian/rules <em>args...</em></tt> must result in
+          identical behavior.
        </p>
 
        <p>
          Since an interactive <file>debian/rules</file> script makes it
          impossible to auto-compile that package and also makes it
          hard for other people to reproduce the same binary
-         package, all <em>required targets</em> MUST be
+         package, all <em>required targets</em> must be
          non-interactive. At a minimum, required targets are the
          ones called by <prgn>dpkg-buildpackage</prgn>, namely,
          <em>clean</em>, <em>binary</em>, <em>binary-arch</em>,
@@ -2690,7 +2692,7 @@ Package: libc6
          <heading><tt>Priority</tt></heading>
 
          <p>
-           This field represents how important that it is that the user
+           This field represents how important it is that the user
            have the package installed. See <ref id="priorities">.
          </p>
 
@@ -2823,8 +2825,8 @@ Package: libc6
          </p>
 
          <p>
-           See <ref id="debianrules"> for information how to get the
-           architecture for the build process.
+           See <ref id="debianrules"> for information on how to get
+           the architecture for the build process.
          </p>
        </sect1>
 
@@ -2885,8 +2887,8 @@ Package: libc6
          <p>
            Thus only the first three components of the policy version
            are significant in the <em>Standards-Version</em> control
-           field, and so either these three components or the all
-           four components may be specified.<footnote>
+           field, and so either these three components or all four
+           components may be specified.<footnote>
                In the past, people specified the full version number
                in the Standards-Version field, for example "2.3.0.0".
                Since minor patch-level changes don't introduce new
@@ -3278,7 +3280,7 @@ Package: libc6
            for the most recent version should be returned first, and
            entries should be separated by the representation of a
            blank line (the "title" line may also be followed by the
-           representation of blank line).
+           representation of blank line).
          </p>
        </sect1>
 
@@ -3394,7 +3396,7 @@ Files:
            no new original source archive is being distributed the
            <tt>.dsc</tt> must still contain the <tt>Files</tt> field
            entry for the original source archive
-           <file><var>package</var>-<var>upstream-version</var>.orig.tar.gz</file>,
+           <file><var>package</var>_<var>upstream-version</var>.orig.tar.gz</file>,
            but the <file>.changes</file> file should leave it out.  In
            this case the original source archive on the distribution
            site must match exactly, byte-for-byte, the original
@@ -3737,7 +3739,7 @@ Files:
                      </example>
                       If this works, then the old-version is
                       "Installed", if not, the old version is in a
-                      "Failed-Config" state.
+                      "Half-Configured" state.
                  </item>
                </enumlist>
            </item>
@@ -3845,7 +3847,7 @@ Files:
                       If this fails, the package is left in a
                       "Half-Installed" state, which requires a
                       reinstall. If it works, the packages is left in
-                      a "Config Files" state.
+                      a "Config-Files" state.
                  </item>
                  <item>
                      Otherwise (i.e., the package was completely purged):
@@ -3857,7 +3859,7 @@ Files:
 <var>new-postrm</var> abort-install
                       </example>
                       If the error-unwind fails, the package is in a
-                      "Half Installed" phase, and requires a
+                      "Half-Installed" phase, and requires a
                       reinstall. If the error unwind works, the
                       package is in a not installed state.
                  </item>
@@ -3937,14 +3939,14 @@ Files:
                      <example compact="compact">
 <var>old-preinst</var> abort-upgrade <var>new-version</var>
                      </example>
-                      If this fails, the old version is left in an
-                      "Half Installed" state. If it works, dpkg now
+                      If this fails, the old version is left in a
+                      "Half-Installed" state. If it works, dpkg now
                       calls:
                      <example compact="compact">
 <var>new-postrm</var> abort-upgrade <var>old-version</var>
                      </example>
-                      If this fails, the old version is left in an
-                      "Half Installed" state. If it works, dpkg now
+                      If this fails, the old version is left in a
+                      "Half-Installed" state. If it works, dpkg now
                       calls:
                      <example compact="compact">
 <var>old-postinst</var> abort-upgrade <var>new-version</var>
@@ -4103,7 +4105,7 @@ Files:
                 </example>
               </p>
               <p>
-                If this fails, the package is in a "Failed-Config"
+                If this fails, the package is in a "Half-Configured"
                 state, or else it remains "Installed".
               </p>
            </item>
@@ -4456,12 +4458,12 @@ Build-Depends: foo [linux-any], bar [any-i386], baz [!linux-any]
                be <em>unpacked</em> the pre-dependency can be
                satisfied if the depended-on package is either fully
                configured, <em>or even if</em> the depended-on
-               package(s) are only unpacked or half-configured,
-               provided that they have been configured correctly at
-               some point in the past (and not removed or partially
-               removed since).  In this case, both the
+               package(s) are only unpacked or in the "Half-Configured"
+               state, provided that they have been configured
+               correctly at some point in the past (and not removed
+               or partially removed since).  In this case, both the
                previously-configured and currently unpacked or
-               half-configured versions must satisfy any version
+               "Half-Configured" versions must satisfy any version
                clause in the <tt>Pre-Depends</tt> field.
              </p>
 
@@ -4518,7 +4520,7 @@ Build-Depends: foo [linux-any], bar [any-i386], baz [!linux-any]
        <p>
          A package will not be regarded as causing breakage merely
          because its configuration files are still installed; it must
-         be at least half-installed.
+         be at least "Half-Installed".
        </p>
 
        <p>
@@ -4572,7 +4574,7 @@ Build-Depends: foo [linux-any], bar [any-i386], baz [!linux-any]
        <p>
          A package will not cause a conflict merely because its
          configuration files are still installed; it must be at least
-         half-installed.
+         "Half-Installed".
        </p>
 
        <p>
@@ -5378,10 +5380,10 @@ dpkg-shlibdeps debian/tmp/usr/bin/* debian/tmp/usr/sbin/* \
        </p>
 
        <p>
-         If you are creating a udeb for use in the Debian Installer, you
-         will need to specify that <prgn>dpkg-shlibdeps</prgn> should use
-         the dependency line of type <tt>udeb</tt> by adding
-         <tt>-tudeb</tt> as option<footnote>
+         If you are creating a udeb for use in the Debian Installer,
+         you will need to specify that <prgn>dpkg-shlibdeps</prgn>
+         should use the dependency line of type <tt>udeb</tt> by
+         adding the <tt>-tudeb</tt> option<footnote>
              <prgn>dh_shlibdeps</prgn> from the <tt>debhelper</tt> suite
              will automatically add this option if it knows it is
              processing a udeb.
@@ -5680,6 +5682,15 @@ libbar 1 bar1 (>= 1.0-1)
                   symlinked there, is relaxed to a recommendation.
                 </p>
               </item>
+              <item>
+                <p>
+                  The following directories in the root filesystem are
+                  additionally allowed: <file>/sys</file> and
+                  <file>/selinux</file>. <footnote>These directories
+                  are used as mount points to mount virtual filesystems
+                  to get access to kernel information.</footnote>
+                </p>
+              </item>
             </enumlist>
 
           </p>
@@ -5725,13 +5736,15 @@ libbar 1 bar1 (>= 1.0-1)
          </p>
 
          <p>
-           Note, that this applies only to directories <em>below</em>
-           <file>/usr/local</file>, not <em>in</em> <file>/usr/local</file>.
-           Packages must not create sub-directories in the directory
-           <file>/usr/local</file> itself, except those listed in FHS,
-           section 4.5.  However, you may create directories below
-           them as you wish. You must not remove any of the
-           directories listed in 4.5, even if you created them.
+           Note that this applies only to
+           directories <em>below</em> <file>/usr/local</file>,
+           not <em>in</em> <file>/usr/local</file>.  Packages must
+           not create sub-directories in the
+           directory <file>/usr/local</file> itself, except those
+           listed in FHS, section 4.5.  However, you may create
+           directories below them as you wish. You must not remove
+           any of the directories listed in 4.5, even if you created
+           them.
          </p>
 
          <p>
@@ -5792,9 +5805,10 @@ rmdir /usr/local/share/emacs 2>/dev/null || true
        <sect1>
          <heading>The system-wide mail directory</heading>
          <p>
-           The system-wide mail directory is <file>/var/mail</file>. This
-           directory is part of the base system and should not owned
-           by any particular mail agents.  The use of the old
+           The system-wide mail directory
+           is <file>/var/mail</file>. This directory is part of the
+           base system and should not be owned by any particular mail
+           agents.  The use of the old
            location <file>/var/spool/mail</file> is deprecated, even
            though the spool may still be physically located there.
          </p>
@@ -6579,13 +6593,48 @@ Reloading <var>description</var> configuration...done.
          <prgn>anacron</prgn>. Thus, you should only use this
          directory for jobs which may be skipped if the system is not
          running.)</p>
+       <p>
+          Unlike <file>crontab</file> files described in the IEEE Std
+          1003.1-2008 (POSIX.1) available from
+          <url id="http://www.opengroup.org/onlinepubs/9699919799/"
+               name="The Open Group">, the files in
+          <file>/etc/cron.d</file> and the file
+          <file>/etc/crontab</file> have seven fields; namely:
+          <enumlist>
+            <item>Minute [0,59]</item>
+            <item>Hour [0,23]</item>
+            <item>Day of the month [1,31]</item>
+            <item>Month of the year [1,12]</item>
+            <item>Day of the week ([0,6] with 0=Sunday)</item>
+            <item>Username</item>
+            <item>Command to be run</item>
+          </enumlist>
+          Ranges of numbers are allowed.  Ranges are two numbers
+          separated with a hyphen.  The specified range is inclusive.
+          Lists are allowed.  A list is a set of numbers (or ranges)
+          separated by commas. Step values can be used in conjunction
+          with ranges.
+        </p>
 
        <p>
-         The scripts or crontab entries in these directories should
+         The scripts or <tt>crontab</tt> entries in these directories should
          check if all necessary programs are installed before they
          try to execute them. Otherwise, problems will arise when a
          package was removed but not purged since configuration files
-         are kept on the system in this situation.</p>
+         are kept on the system in this situation.
+        </p>
+
+        <p>
+          Any <tt>cron</tt> daemon must provide
+          <file>/usr/bin/crontab</file> and support normal
+          <tt>crontab</tt> entries as specified in POSIX. The daemon
+          must also support names for days and months, ranges, and
+          step values. It has to support <file>/etc/crontab</file>,
+          and correctly execute the scripts in
+          <file>/etc/cron.d</file>. The daemon must also correctly
+          execute scripts in
+          <file>/etc/cron.{hourly,daily,weekly,monthly}</file>.
+        </p>
       </sect>
 
       <sect id="menus">
@@ -7295,8 +7344,8 @@ ln -fs ../sbin/sendmail debian/tmp/usr/bin/runq
        <heading>Device files</heading>
 
        <p>
-         Packages must not include device files in the package file
-         tree.
+         Packages must not include device files or named pipes in the
+         package file tree.
        </p>
 
        <p>
@@ -7321,6 +7370,18 @@ ln -fs ../sbin/sendmail debian/tmp/usr/bin/runq
          <file>/dev/cu*</file> devices should be changed to use
          <file>/dev/ttyS*</file>.
        </p>
+
+       <p>
+         Named pipes needed by the package must be created in
+         the <prgn>postinst</prgn> script<footnote>
+           It's better to use <prgn>mkfifo</prgn> rather
+           than <prgn>mknod</prgn> to create named pipes so that
+           automated checks for packages incorrectly creating device
+           files with <prgn>mknod</prgn> won't have false positives.
+         </footnote> and removed in
+         the <prgn>prerm</prgn> or <prgn>postrm</prgn> script as
+         appropriate.
+       </p>
       </sect>
 
       <sect id="config-files">
@@ -8669,9 +8730,9 @@ name ["<var>syshostname</var>"]:
          <p>
            Customization of programs' X resources may also be
            supported with the provision of a file with the same name
-           as that of the package placed in the
-           <file>/etc/X11/Xresources/</file> directory, which must
-           registered as a <tt>conffile</tt> or handled as a
+           as that of the package placed in
+           the <file>/etc/X11/Xresources/</file> directory, which
+           must be registered as a <tt>conffile</tt> or handled as a
            configuration file.<footnote>
                Note that this mechanism is not the same as using
                app-defaults; app-defaults are tied to the client
@@ -9055,7 +9116,7 @@ END-INFO-DIR-ENTRY
             <p>
               Please note that this does not override the section on
               changelog files below, so the file 
-              <file>/usr/share/<var>package</var>/changelog.Debian.gz</file>
+              <file>/usr/share/doc/<var>package</var>/changelog.Debian.gz</file>
               must refer to the changelog for the current version of
               <var>package</var> in question. In practice, this means
               that the sources of the target and the destination of the
diff --git a/upgrading-checklist.html b/upgrading-checklist.html
deleted file mode 100644 (file)
index 11e81c4..0000000
+++ /dev/null
@@ -1,723 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-  <head>
- <!--                             -*- Mode: Sgml -*-
-    -->
-
-
-    <title>Policy checklist for upgrading your packages</title>
-  </head>
-  <body>
-
-    <h1>Policy checklist for upgrading your packages</h1>
-
-    <h2>About the checklist</h2>
-
-<p>
-The checklist below has been created to simplify the upgrading process
-of old packages.  Note that this list is not `official'; it simply
-gives an indication of what has changed and whether you are likely to
-need to make changes to your package in light of this.  If you have
-doubts about a certain topic, if you need more details, or if you
-think some other package does not comply with policy, please refer to
-the Policy Manual itself.  All of the changes from version 3.0.0
-onwards indicate which section of the Policy Manual discusses the
-issue: [3.4] means section 3.4.  The section numbering changed when
-the packaging manual was incorporated into policy; the section numbers
-used below refer to the current version.
-</p>
-
-<p>
-Here is how the check list works: Check which policy version your
-package complies with currently (indicated in the "Standards-Version"
-field of the source package).  Then move upwards until the top and
-check which of the items on the list might concern your package.  Note
-which sections of policy discuss this, and then check out the Policy
-Manual for details.  If you are upgrading from Policy version < 2.5.0,
-it may be easier to check through the whole of policy instead of
-picking your way through this list.
-</p>
-
-<h2>The checklist</h2>
-
-<pre>
-3.8.3.0                        Aug 2009
-
-     * Add DEB_*_ARCH_CPU and DEB_*_ARCH_OS variables and recommend them
-       over GNU-style variables for that information.            [4.9]
-     * Source package Architecture fields may contain "all" in combination
-       with other architectures.  Clarify when "all" and "any" may be used
-       in different versions of the field.                       [5.6.8]
-     * The Debian archive software does not support uploading to multiple
-       distributions with one *.changes file.                    [5.6.14]
-     * The Binary field may span multiple lines.                 [5.6.19]
-     * Remove the permission for shared library packages to install
-       libraries in a non-standard location and modify ld.so.conf.
-       Packages should either be installed in a standard library directory
-       or packages using them should be built with RPATH.        [10.2]
-     * Clarify installation directories for X programs and remove the
-       requirement to pre-depend on x11-common before installing into
-       /usr/include/X11 and /usr/lib/X11.                        [11.8.7]
-     * Remove the requirement that all characters in a manual page be
-       representable in the legacy encoding for that language.   [12.1]
-     * Localized man pages should either be kept up-to-date with the
-       original version or warn that they're not up-to-date, either with
-       warning text or by showing missing or changed portions in the
-       original language.                                        [12.1]
-     * install-info is now handled via triggers so packages no longer need
-       to invoke it in maintainer scripts.  Info documents should now have
-       directory sections and entries in the document.  Packages
-       containing info documents should add a dependency to support
-       partial upgrades.                                         [12.2]
-     * The requirement for Perl modules to have a versioned Depend and
-       Build-Depend on perl >= 5.6.0-16 has been removed.        [perl]
-
-3.8.2.0                        Jun 2009
-
-     * The list of archive sections has been significantly expanded.  See
-       http://lists.debian.org/debian-devel-announce/2009/03/msg00010.html
-       for the list of new sections and rules for how to categorize
-       packages.                                                 [2.4]
-     * All packages must use debconf or equivalent for user prompting,
-       though essential packages or their dependencies may also fall
-       back on other methods.                                    [3.9.1]
-     * The requirements for source package names are now explicitly
-       spelled out.                                              [5.6.1]
-     * Legacy XFree86 servers no longer get a special exception from the
-       FHS permitting /etc/X11/XF86Config-4.                     [9.1]
-     * Removed obsolete dependency requirements for packages that use
-       /var/mail.                                                [9.1.3]
-     * Speedo fonts are now deprecated.  The X backend was disabled
-       starting in lenny.                                        [11.8.5]
-     * The GNU Free Documentation License version 1.3 is included in
-       common-licenses and should be referenced from there.      [12.5]
-
-3.8.1.0                        Mar 2009
-
-     * Care should be taken when adding functionality to essential and
-       such additions create an obligation to support that functionality
-       in essential forever unless significant work is done.     [3.8]
-     * Changelog files must be encoded in UTF-8.                 [4.4]
-     * Tighten some format requirements for changelog files from a should
-       to a must.                                                [4.4]
-     * Remove alternative changelog formats.  Debian only supports one
-       changelog format for the Debian Archive.                  [4.4.1]
-     * New nocheck option for DEB_BUILD_OPTIONS indicating any build-time
-       test suite provided by the package should not be run.     [4.9.1]
-     * All control files must be encoded in UTF-8.               [5.1]
-     * debian/control allows comment lines starting with # with no
-       preceding whitespace.                                     [5.2]
-     * Init scripts ending in .sh are not handled specially.  They are not
-       sourced and are not guaranteed to be run by /bin/sh regardless of
-       the #! line.  This brings Policy in line with the long-standing
-       behavior of the init system in Debian.                    [9.3]
-     * The start action of an init script must exit successfully and not
-       start the daemon again if it's already running.           [9.3.2]
-     * /var/run and /var/lock may be mounted as temporary filesystems, and
-       init scripts must therefore create any necessary subdirectories
-       dynamically.                                              [9.3.2]
-     * /bin/sh scripts may assume that local can take multiple variable
-       arguments and supports assignment.                        [10.4]
-     * User mailboxes may be mode 600 and owned by the user rather than
-       mode 660, owned by user, and group mail.                  [11.6]
-
-3.8.0.0                        Jun 2008
-
-     * The base section has been removed.  contrib and non-free have been
-       removed from the section list; they are only categories.  The base
-       system is now defined by priority.                        [2.4, 3.7]
-     * If dpkg-source -x doesn't provide the source that will be compiled,
-       a debian/rules patch target is recommended and should do whatever
-       else is necessary.                                        [4.9]
-     * Standardized the format of DEB_BUILD_OPTIONS.  Specified permitted
-       characters for tags, required that tags be whitespace-separated,
-       allowed packages to assume non-conflicting tags, and required
-       unknown flags be ignored.                                 [4.9.1, 10.1]
-     * Added parallel=n to the standardized DEB_BUILD_OPTIONS tags,
-       indicating that a package should be built using up to n parallel
-       processes if the package supports it                      [4.9.1]
-     * Debian packages should not use convenience copies of code from other
-       packages unless the included package is explicitly intended to be
-       used that way.                                            [4.13]
-     * If dpkg-source -x doesn't produce source ready for editing and
-       building with dpkg-buildpackage, packages should include a
-       debian/README.source file explaining how to generate the patched
-       source, add a new modification, and remove an existing
-       modification.  This file may also be used to document packaging a
-       new upstream release and any other complexity of the Debian build
-       process.                                                  [4.14]
-     * The Uploaders field in debian/control may be wrapped.     [5.6.3]
-     * An empty Debian revision is equivalent to a Debian revision of 0 in
-       a version number.                                         [5.6.12]
-     * New Homepage field for upstream web sites.                [5.6.23]
-     * The Breaks field declares that this package breaks another and
-       prevents installation of the breaking package unless the package
-       named in Breaks is deconfigured first.  This field should not be
-       used until the dpkg in Debian stable supports it.         [6.5, 6.6, 7]
-     * Clarify which files should go into a shared library package, into a
-       separate package, or into the -dev package.  Suggest -tools instead
-       of -runtime for runtime support programs, since that naming is more
-       common in Debian.                                         [8.1, 8.2]
-     * Files in /etc/cron.{hourly,daily,weekly,monthly} must be
-       configuration files (upgraded from should).  Mention the hourly
-       directory.                                                [9.5]
-     * Packages providing /etc/X11/Xresources files need not conflict with
-       xbase (<< 3.3.2.3a-2), which is long-obsolete.            [11.8.6]
-     * Manual pages in locale-specific directories should use either the
-       legacy encoding for that directory or UTF-8.  Country names should
-       not be included in locale-specific manual page directories unless
-       indicating a significant difference in the language.  All
-       characters in the manual page source should be representable in the
-       legacy encoding for a locale even if the man page is encoded in
-       UTF-8.                                                    [12.1]
-     * The Apache 2.0 license is now in common-licenses and should be
-       referenced rather than quoted in debian/copyright.        [12.5]
-     * Packages in contrib and non-free should state in the copyright file
-       that the package is not part of Debian GNU/Linux and briefly
-       explain why.                                              [12.5]
-     * Underscore (_) is allowed in debconf template names.      [debconf]
-
-3.7.3.0                        Dec 2007
-
-     * Package version numbers may contain tildes, which sort before
-       anything, even the end of a part.                         [5.6.12]
-     * Scripts may assume that /bin/sh supports local (at a basic level)
-       and that its test builtin (if any) supports -a and -o binary
-       logical operators.                                        [10.4]
-     * The substitution variable ${binary:Version} should be used in place
-       of ${Source-Version} for dependencies between packages of the same
-       library.                                                  [8.5]
-     * Substantial reorganization and renaming of sections in the Debian
-       menu structure.  Packages with menu entries should be reviewed to
-       see if the menu section has been renamed or if one of the new
-       sections would be more appropriate.                       [menu policy]
-     * The Source field in a .changes file may contain a version number
-       in parentheses.                                           [5.6.1]
-     * The acceptable values for the Urgency field are low, medium, high,
-       critical, or emergency.                                   [5.6.17]
-     * The shlibs file now allows an optional type field, indicating the
-       type of package for which the line is valid.  The only currently
-       supported type is udeb, used with packages for the Debian
-       Installer.                                                [8.6]
-     * Packages following the Debian Configuration management
-       specification must allow for translation of their messages by using
-       a gettext-based system such as po-debconf.                [3.9.1]
-     * GFDL 1.2, GPL 3, and LGPL 3 are now in common-licenses and should
-       be referenced rather than quoted in debian/copyright.     [12.5]
-
-3.7.2.2                        Oct 2006
-
-     * Maintainer scripts must not be world writeable (up from a
-       should to a must)                                         [6.1]
-
-3.7.2.0                        Apr 2006
-
-     * Revert the cgi-lib change.                                [11.5]
-
-3.7.1.0                        Apr 2006
-
-     * It is now possible to create shared libraries without
-       relocatable code (using -fPIC) in certain exceptional cases,
-       provided some procedures are followed, and for creating static
-       libraries with relocatable code (again, using -fPIC).
-       Discussion on debian-devel@lists.debian.org, getting a rough
-       consensus, and documenting it in README.Debian constitute most
-       of the process.                                           [10.2]    
-     * Packages should install any relevant files into the directories
-       /usr/include/X11/and /usr/lib/X11/, but if they do so, they
-       must  pre-depend on x11-common (>= 1:7.0.0)              [11.8.7] 
-
-3.7.0.0                        Apr 2006
-
-     * Packages shipping web server CGI files are expected to install
-       them in /usr/lib/cgi-lib/ directories.  This location change
-       perhaps should be documented in NEWS                      [11.5]
-     * Web server packages should include a standard scriptAlias of
-       cgi-lib to /usr/lib/cgi-lib.                              [11.5]
-     * The version of FHS mandated by policy has been upped to
-       2.3. There should be no changes required for most packages,
-       though new top level directories /media, /srv, etc may be of
-       interest.                                                 [9.1.1]
-     * All fields, apart from the Uploaders field, in the control file
-       are supposed to be a single logical line, which may be spread
-       over multiple physical  lines (newline followed by space is
-       elided).  However, any parser for the control file must allow
-       the Uploaders field to be spread over multiple physical lines
-       as well, to prepare for future changes.                 [ 5.1, 5.6.3 ]
-     * When scripts are installed into a directory in the system
-       PATH, the script name should not include an extension that
-       denotes the scripting language currently used to implement it.
-                                                              [ 10.4 ]
-     * packages that invoke initscripts now must use invoke-rc.d to do
-       so since it also pays attention to run levels and other local
-       constraints.                                                [ 9.3.3.2 ]
-     * We no longer use /usr/X11R6, since we have migrated away to
-       using Xorg paths. This means, for one thing, fonts live in
-       /usr/share/fonts/X11/ now, and /usr/X11R6 is gone.
-                                                      [ 11.8.5.2, 11.8.7, etc]
-
-3.6.2.0                        2005
-
-     * Recommend doc-base, and not menu, for registering package documentation.
-     * Run time support programs should live in subdirectories of
-       /usr/lib/ or /usr/share, and preferably the shared lib is named
-       the same as the package name (to avoid name collisions). [8.1]
-     * It is recommended that HTTP servers provide an alias /images to
-       allow packages to share image files with the web server [11.5]
-
-3.6.1.0                    Aug 2003
-
-     + Prompting the user should be done using debconf. Non debconf
-       user prompts are now deprecated. [3.10.1]
-
-3.6.0                      Jul 2003
-
-     - Restructuring causing shifts in section numbers and bumping of
-       the minor version number:
-     + Many packaging manual appendices that were integrated into policy
-       sections are now empty, and replaced with links to the Policy.
-       In particular, the appendices that included the list of control
-       fields were updated (new fields like Closes, Changed-By were added)
-       and the list of fields for each of control, .changes and .dsc files
-       is now in Policy, and they're marked mandatory, recommended or
-       optional based on the current practice and the behavior of the
-       deb-building tool-chain.
-     + Elimination of needlessly deep section levels, primarily in the
-       chapter Debian Archive, from which two new chapters were split out,
-       Binary packages and Source packages. What remained was reordered
-       properly, that is, some sect1s became sects etc.
-     + Several sections that were redundant, crufty or simply not designed
-       with any sort of vision, were rearranged according to the formula that
-       everything should be either in the same place or properly interlinked.
-       Some things remained split up between different chapters when they
-       talked about different aspects of files: their content, their syntax,
-       and their placement in the file system. In particular, see the new
-       sections about changelog files.
-     - Added Games/Simulation and Apps/Education to menu sub-policy
-       [menu policy]
-     - Debian changelogs should be UTF-8 encoded. [C.2.2]
-     - shared libraries must be linked against all libraries that they
-       use symbols from in the same way that binaries are. [10.2]
-     - build-depends-indep need not be satisfied during clean
-       target. [7.6] 
-
-3.5.10                     May 2003
-
-     - packages providing the x-terminal-emulator virtual package
-       ought to ensure that they interpret the command line exactly
-       like xterm does. [11.8.3]
-     - Window managers compliant with the Window Manager Specification
-       Project may add 40 points for ranking in the alternatives [11.8.4]
-
-3.5.9.0                    Mar 2003
-
-     - The section describing the Description: package field once again has
-       full details of the long description format. [3.4.2]
-     - Clarified that if a package has non-build-essential
-       build-dependencies, it should have them listed in the Build-Depends
-       and related fields (i.e. it's not merely optional). [4.2]
-     - When asked to restart a service that isn't already running,
-       the init script should start the service. [9.3.2]
-     - If the purpose of a package is to provide examples, then the
-       example files can be installed into <tt>/usr/share/doc/package</tt>
-       (rather than <tt>/usr/share/doc/package/examples</tt>). [12.6]
-
-3.5.8.0                    Nov 2002
-
-     - It is no longer necessary to keep a log of changes to the upstream
-       sources in the copyright file. Instead, all such changes should be
-       documented in the changelog file. [12.7]
-     - <tt>Build-Depends</tt>,         <tt>Build-Conflicts</tt>,
-       <tt>Build-Depends-Indep</tt>, and
-       <tt>Build-Conflicts-Indep</tt> must also be satisfied when the
-       clean target is called. [7.6]
-     - A new Apps/Science menu section is available [menu policy]
-     - debconf specification cleared up, various changes. [debconf
-       policy]
-     - It is no longer recommended to create symlinks from nonexistent
-       manual pages to undocumented(7). Missing manual pages for programs
-       are still a bug. [12.1]
-
-3.5.7.0                    Aug 2002
-
-     - Packages no longer have to ask permission to call MAKEDEV in
-       postinst, merely notifying the user ought to be enough. [10.6]
-     - cryptographic software may now be included in the main
-       archive. [2.2.4]
-     - task packages are no longer permitted; tasks are now created by a
-       special Tasks: field in the control file. [3.9]
-     - window managers that support netwm can now add 20 points when
-       they add themselves as an alternative for
-       /usr/bin/x-window-manager [11.8.4]
-     - The default compilation options have now changed, one should
-       provide debugging symbols in all cases, and optionally step
-       back optimization to -O0, depending on the DEB_BUILD_OPTIONS
-       environment variable. [10.1]
-     - Added mention of build-arch, build-indep, etc, in describing
-       the relationships with `Build-Depends', `Build-Conflicts',
-       `Build-Depends-Indep', and `Build-Conflicts-Indep'. May need to
-       review the new rules.  [7.6, 4.8]
-     - Changed rules on how, and when, to invoke ldconfig in maintainer
-       scripts. Long rationale. [8]
-     - [Added the last note in 3.5.6 upgrading checklist item regarding
-       build rules, please see below]
-
-3.5.6.0                    Jul 2001
-
-     - Emacs and TeX are no longer mandated by policy to be priority
-       standard packages [2.5]
-     - Programs that access docs need to do so via /usr/share/doc, and
-       not via /usr/doc/ as was the policy previously [11.5]
-     - Putting documentation in /usr/doc versus /usr/share/doc is now
-       a ``serious'' policy violation. [12.3]
-     - For web servers, one should not provide non-local access to the
-       /usr/share/doc hierarchy. If one can't provide access controls for
-       the http://localhost/doc/ directory, then it is preferred that one
-       ask permission to expose that information during the install. [11.5]
-     - There are new rules for build-indep/build-arch targets and
-       there is a new Build-Depend-Indep semantic. [7]
-
-3.5.5.0                    May 2001
-
-     - Manpages should not rely on header information to have
-       alternative manpage names available; it should only use
-       symlinks or .so pages to do this [12.1]
-     - [Clarified note in 3.5.3.0 upgrading checklist regarding
-        examples and templates: this refers only to those examples used
-        by scripts; see section 10.7.3 for the whole story]
-     - Included a new section 10.9.1 describing the use of
-       dpkg-statoverride; this does not have the weight of policy
-     - Clarify Standards-Version: you don't need to rebuild your
-       packages just to change the Standards-Version!
-     - Plugins are no longer bound by all the rules of shared
-       libraries [10.2]
-     - X Windows related things:
-       * Clarification of priority levels of X Window System related
-         packages [11.8.1]
-       * Rules for defining x-terminal-emulator improved [11.8.3]
-       * X Font policy rewritten: you must read this if you provide
-         fonts for the X Window System [11.8.5]
-       * Packages must not ship /usr/X11R6/lib/X11/app-defaults/ [11.8.6]
-       * X-related packages should usually use the regular FHS
-         locations; imake-using packages are exempted from this [11.8.7]
-       * OpenMotif linked binaries have the same rules as
-         OSF/Motif-linked ones [11.8.8]
-
-3.5.4.0                    Apr 2001
-
-     - The system-wide mail directory is now /var/mail, no longer
-       /var/spool/mail.  Any packages accessing the mail spool should
-       access it via /var/mail and include a suitable Depends field;
-       details in [11.6]
-     - The perl policy is now part of Debian policy proper. Perl
-       programs and modules should follow the current Perl policy
-       [11.9; perl-policy]
-
-3.5.3.0                    Apr 2001
-
-     - Build-Depends arch syntax has been changed to be less
-       ambiguous. This should not affect any current packages [7.1]
-     - Examples and templates files for use by scripts should now live
-       in /usr/share/&lt;package&gt; or /usr/lib/&lt;package&gt;, with
-       symbolic links from /usr/share/doc/&lt;package&gt;/examples as
-       needed [10.7.3]
-
-3.5.2.0                    Feb 2001
-
-     - X app-defaults directory has moved from
-       /usr/X11R6/lib/X11/app-defaults to /etc/X11/app-defaults [11.8.6]
-
-3.5.1.0                    Feb 2001
-
-     - dpkg-shlibdeps now uses objdump, so shared libraries have to be
-       run through dpkg-shlibdeps as well as executables [8.1]
-
-3.5.0.0                    Jan 2001
-
-     - Font packages for the X Window System must now declare a
-       dependency on xutils (>= 4.0.2) [11.8.5]
-
-3.2.1.1                    Jan 2001
-
-     - Daemon startup scripts in /etc/init.d/ should not contain
-       modifiable parameters; these should be moved to a file in
-       /etc/default/; see [9.3.2] for details
-     - Files in /usr/share/doc must not be referenced by any
-       program.  If such files are needed, they must be placed in
-       /usr/share/&lt;package&gt;/, and symbolic links created as required
-       in /usr/share/doc/&lt;package&gt;/ [12.3]
-     - Much of the packaging manual has now been imported into the
-       policy document
-
-3.2.1.0                    Aug 00
-
-     - A package of priority standard or higher may provide two
-       binaries, one compiled with support for the X Window System,
-       and the other without [11.8.1]
-
-3.2.0.0                    Aug 00
-
-     - By default executables should not be built with the debugging
-       option -g. Instead, it is recommended to support building the
-       package with debugging information optionally.  Details in [10.1]
-     - Policy for packages where the upstream uses HTML changelog
-       files has been expanded.  In short, a plain text changelog file
-       should always be generated for the upstream changes [12.8]
-     - Please note that the new release of the X window system (3.2)
-       shall probably need sweeping changes in policy
-     - Policy for packages providing the following X-based features
-       has been codified:
-       - X server (virtual package xserver) [11.8.2]
-       - X terminal emulator (virtual package x-terminal-emulator) [11.8.3]
-       - X window manager (virtual package x-window-manager, and
-         /usr/bin/x-window-manager alternative, with priority
-         calculation guidelines) [11.8.4]
-       - X fonts (this section has been written from scratch) [12.8.5]
-       - X application defaults [11.8.6]
-     - Policy for packages using the X Window System and FHS issues
-       has been clarified; see [11.8.7]
-     - No package may contain or make hard links to conffiles [11.7.3]
-     - Noted that newer dpkg versions do not require extreme care in
-       always creating the shared lib before the symlink, so the unpack
-       order be correct [8]
-
-3.1.1.0                    Nov 1999
-
-     - Correction to semantics of architecture lists in Build-Depends
-       etc.  Should not affect many packages [7.1]
-
-3.1.0.0                    Oct 1999
-
-     - /usr/doc/&lt;package&gt; has to be a symlink pointing to
-       /usr/share/doc/&lt;package&gt;, to be maintained by postinst
-       and prerm scripts.  Details are in [defunct]
-     - Introduced source dependencies (Build-Depends, etc.) [7.1, 7.6]
-     - /etc/rc.boot has been deprecated in favour of /etc/rcS.d.
-       (Packages should not be touching this directory, but should use
-       update-rc.d instead) [9.3.4]
-     - update-rc.d is now the *only* allowable way of accessing the
-       /etc/rc?.d/[SK]??* links.  Any scripts which manipulate them
-       directly must be changed to use update-rc.d instead.  (This is
-       because the file-rc package handles this information in an
-       incompatible way.) [9.3.3]
-     - Architecture-specific examples go in /usr/lib/&lt;package&gt;/examples
-       with symlinks from /usr/share/doc/&lt;package&gt;/examples/* or from
-       /usr/share/doc/&lt;package&gt;/examples itself [12.7]
-     - Updated FHS to a 2.1 draft; this reverts /var/state to
-       /var/lib [9.1.1]
-     - Added MIME sub-policy document [9.7; mime-policy]
-     - VISUAL is allowed as a (higher priority) alternative to EDITOR [12.4]
-     - Modified liblockfile description, which affects
-       mailbox-accessing programs.  Please see the policy document for
-       details [11.6]
-     - If a package provides a changelog in HTML format, a text-only
-       version should also be included.  (Such a version may be prepared
-       using lynx -dump -nolist.) [12.7]
-     - Description of how to handle version numbers based on dates
-       added [3.2.1]
-
-3.0.1.0                    Jul 1999
-
-    -  Added the clarification that the .la files are essential for the
-       packages using libtool's libltdl library, in which case the
-       .la files must go in the run-time library package [10.2]
-
-3.0.0.0                    Jun 1999
-
-    - Debian formally moves from the FSSTND to the FHS. This is a
-      major change, and the implications of this move are probably
-      not all known. [9.1]
-    - Only 3 digits of the Standards version need be included in
-      control files, though all four digits are still permitted. [4.1]
-    - The location of the GPL has changed to
-      /usr/share/common-licenses. This may require changing the
-      copyright files to point to the correct location of the GPL and
-      other major licenses [12.6]
-    - Packages that use libtool to create shared libraries must
-      include the .la files in the -dev packages [10.2]
-    - Use logrotate to rotate log files [10.8]
-    - section 5.8 has been rewritten (Programs for the X Window
-      System) [now 11.8]
-    - There is now an associated menu policy, in a separate document,
-      that carries the full weight of Debian policy [9.6; menu-policy]
-    - Programs which need to modify the files /var/run/utmp,
-      /var/log/wtmp and /var/log/lastlog must be installed setgid utmp [11.3]
-
-
-** Please note that section numbers below this point may not be up to date **
-
-
-2.5.0.0                         Oct 1998
-
-  Policy Manual:
-    - Rearranged the manual to create a new Section 4, Files
-      + Section 3.3 ("Files") was moved to Section 4. The Sections
-        that  were Section 4 and Section 5 were  moved down to become
-        Section 5 and Section 6.
-      + What was Section 5.5 ("Log files") is now a subsection of the
-        new Section 4 ("Files"), becoming section 4.8, placed after
-        "Configuration files", moving the Section 4.8 ("Permissions
-        and owners") to Section 4.9.  All subsections of the old
-        Section 5 after 5.5  were moved down to fill in the number
-        gap.
-    - Modified the section about changelog files to accommodate
-      upstream changelogs which were formatted as HTML/ These
-      upstream changelog files should now be accessible as
-      /usr/doc/package/changelog.html.gz
-      + Symlinks are permissible to link the real, or upstream,
-        changelog name to the Debian mandated name.
-    - Clarified that HTML documentation should be present in some
-      package, though not necessarily the main binary package.
-    - Corrected all references to the location of the copyright
-      files. The correct location is /usr/doc/package/copyright
-    - Ratified the architecture specification strings to cater to the
-      HURD.
-
-2.4.1.0                         Apr 1998
-
-  Policy Manual:
-    - Updated section 3.3.5 Symbolic links:
-      + symbolic links within a toplevel directory should be relative,
-        symbolic links between toplevel directories should be absolute
-        (cf., Policy Weekly Issue#6, topic 2)
-
-    - Updated section 4.9 Games:
-      + manpages for games should be installed in /usr/man/man6
-        (cf., Policy Weekly Issue#6, topic 3)
-
-  Packaging Manual:
-    - Updated prefix of chapter 12, Shared Libraries:
-      ldconfig must be called in the postinst script if the package
-      installs shared libraries
-      (cf., Policy Weekly Issue #6, fixes:bug#20515)
-
-2.4.0.0                         Jan 1998
-
-    - Updated section 3.3.4 Scripts:
-      + /bin/sh may be any POSIX compatible shell
-      + scripts including bashisms have to specify /bin/bash as
-        interpreter
-      + scripts which create files in world-writable directories
-        (e.g., in /tmp) should use tempfile or mktemp for creating
-        the directory
-
-    - Updated section 3.3.5 Symbolic Links:
-      + symbolic links referencing compressed files must have the same
-        file extension as the referenced file
-
-    - Updated section 3.3.6 Device files:
-      + /dev/tty* serial devices should be used instead of /dev/cu*
-
-    - Updated section 3.4.2 Writing the scripts [in /etc/init.d]:
-      + all /etc/init.d scripts have to provide the following options:
-        start, stop, restart, force-reload
-      + the reload option is optional and must never stop and restart
-        the service
-
-    - Updated section 3.5 Cron jobs:
-      + cron jobs that need to be executed more often than daily should
-        be installed into /etc/cron.d
-
-    - Updated section 3.7 Menus:
-      + removed section about how to register HTML docs to `menu'
-        (the corresponding section in 4.4, Web servers and applications,
-        has been removed in policy 2.2.0.0 already, so this one was
-        obsolete)
-
-    - New section 3.8 Keyboard configuration:
-      + details about how the backspace and delete keys should be
-        handled
-
-    - New section 3.9 Environment variables:
-      + no program must depend on environment variables to get a
-        reasonable default configuration
-
-    - New section 4.6 News system configuration:
-      + /etc/news/organization and /etc/news/server should be supported
-        by all news servers and clients
-
-    - Updated section 4.7 Programs for the X Window System:
-      + programs requiring a non-free Motif library should be provided
-        as foo-smotif and foo-dmotif package
-      + if lesstif works reliably for such program, it should be linked
-        against lesstif and not against a non-free Motif library
-
-    - Updated section 4.9 Games:
-      + games for X Windows have to be installed in /usr/games, just as
-        non-X games
-
-2.3.0.1, 2.3.0.0               Sep 1997
-
-       * new section `4.2 Daemons' including rules for
-         /etc/services, /etc/protocols, /etc/rpc, and /etc/inetd.conf
-
-       * updated section about `Configuration files':
-         packages may not touch other packages' configuration files
-
-       * MUAs and MTAs have to use liblockfile
-
-2.2.0.0                                Jul 1997
-
-       * added section 4.1 `Architecture specification strings':
-          use
-              &lt;arch&gt;-linux
-          where &lt;arch&gt; is one of the following:
-               i386, alpha, arm, m68k, powerpc, sparc.
-
-       * detailed rules for /usr/local
-
-       * user ID's
-
-       * editor/pager policy
-
-       * cron jobs
-
-       * device files
-
-       * don't install shared libraries as executable
-
-       * app-defaults files may not be conffiles
-
-2.1.3.2, 2.1.3.1, 2.1.3.0      Mar 1997
-
-       * two programs with different functionality must not have the
-         same name
-
-       * "Webstandard 3.0"
-
-       * "Standard for Console Messages"
-
-       * Libraries should be compiled with `-D_REENTRANT'
-
-       * Libraries should be stripped with "strip --strip-unneeded"
-
-2.1.2.2, 2.1.2.1, 2.1.2.0      Nov 1996
-
-       * Some changes WRT shared libraries
-
-2.1.1.0                                Sep 1996
-
-       * No hard links in source packages
-
-       * Do not use dpkg-divert or update-alternatives without consultation
-
-       * Shared libraries must be installed stripped
-
-2.1.0.0                                Aug 1996
-
-       * Upstream changelog must be installed too
-</pre>
-
-    <hr>
-
-  </body>
-</html>
-
-<!-- Keep this comment at the end of the file
-Local variables:
-mode: sgml
-sgml-indent-data: t
-sgml-live-element-indicator: t
-sgml-set-face: t
-End:
--->
diff --git a/upgrading-checklist.sgml b/upgrading-checklist.sgml
new file mode 100644 (file)
index 0000000..5425cfc
--- /dev/null
@@ -0,0 +1,1174 @@
+<!doctype debiandoc system>
+
+<debiandoc>
+  <book> 
+    <title> Policy checklist for upgrading your packages </title>
+      <author> Bill Allombert <email/ballombe@debian.org/ </author>
+      <author> Josip Rodin </author>
+      <author> Julian Gilbey </author>
+      <author> Russ Allbery </author>
+      <author> Manoj Srivastava <email/srivasta@debian.org/
+
+<chapt> About the checklist
+<p>
+The checklist below has been created to simplify the upgrading process
+of old packages.  Note that this list is not "official"; it simply
+gives an indication of what has changed and whether you are likely to
+need to make changes to your package in light of this.  If you have
+doubts about a certain topic, if you need more details, or if you
+think some other package does not comply with policy, please refer to
+the Policy Manual itself.  All of the changes from version 3.0.0
+onwards indicate which section of the Policy Manual discusses the
+issue: [3.4] means section 3.4.  The section numbering changed when
+the packaging manual was incorporated into policy; the section numbers
+used below refer to the current version.
+<p>
+Here is how the check list works: Check which policy version your
+package was checked against last (indicated in the "Standards-Version"
+field of the source package).  Then move upwards until the top and
+check which of the items on the list might concern your package.  Note
+which sections of policy discuss this, and then check out the Policy
+Manual for details.  If you are upgrading from Policy version &lt; 2.5.0,
+it may be easier to check through the whole of policy instead of
+picking your way through this list.
+
+<chapt> The checklist
+
+<sect> Version 3.8.4.0
+<p>
+
+Release Jan 2010.
+
+</p><p><taglist>
+<tag>9.1.1</tag>
+  <item> An FHS exception has been granted for multiarch libraries.
+  Permitting files to instead be installed to <file>/lib/triplet</file> and
+  <file>/usr/lib/triplet</file> directories.
+  </item>
+<tag>10.6</tag>
+  <item>Explicitly state that packages may not contain named pipes and
+  should instead create them in postinst and remove them in prerm or postrm.
+  </item>
+<tag>9.1.1</tag>
+  <item><file>/sys</file> and <file>/selinux</file> directories are explicitly
+  allowed as an exception to the FHS.
+  </item>
+</taglist></p>
+
+<sect> Version 3.8.3.0
+<p>
+Released Aug 2009.
+
+</p><p><taglist>
+<tag>4.9</tag>
+  <item>Add DEB_*_ARCH_CPU and DEB_*_ARCH_OS variables and
+  recommend them over GNU-style variables for that information.
+  </item>
+<tag>5.6.8</tag>
+  <item>Source package Architecture fields may contain <em/all/ in
+  combination with other architectures.  Clarify when <em/all/ and <em/any/
+  may be used in different versions of the field.
+  </item>
+<tag>5.6.14</tag>
+  <item>The Debian archive software does not support uploading
+  to multiple distributions with one <file>*.changes</file> file.
+  </item>
+<tag>5.6.19</tag>
+  <item>The Binary field may span multiple lines.
+  </item>
+<tag>10.2</tag>
+  <item>Remove the permission for shared library packages to
+  install libraries in a non-standard location and modify <file/ld.so.conf/.
+  Packages should either be installed in a standard library directory
+  or packages using them should be built with RPATH.
+  </item>
+<tag>11.8.7</tag>
+  <item>Clarify installation directories for X programs and
+  remove the requirement to pre-depend on x11-common before installing
+  into <file>/usr/include/X11</file> and <file>/usr/lib/X11</file>.
+  </item>
+<tag>12.1</tag>
+  <item>Remove the requirement that all characters in a manual
+  page be representable in the legacy encoding for that language.
+  </item>
+<tag>12.1</tag>
+  <item>Localized man pages should either be kept up-to-date with
+  the original version or warn that they're not up-to-date, either
+  with warning text or by showing missing or changed portions in the
+  original language.
+  </item>
+<tag>12.2</tag>
+  <item>install-info is now handled via triggers so packages no
+  longer need to invoke it in maintainer scripts.  Info documents
+  should now have directory sections and entries in the document.
+  Packages containing info documents should add a dependency to
+  support partial upgrades.
+  </item>
+<tag>perl</tag>
+  <item>The requirement for Perl modules to have a versioned
+  Depend and Build-Depend on <tt>perl &gt;= 5.6.0-16</tt> has been removed.
+  </item>
+</taglist></p>
+
+<sect> Version 3.8.2.0
+<p>
+
+Released Jun 2009.
+
+</p><p><taglist>
+<tag>2.4</tag>
+  <item>The list of archive sections has been significantly expanded.  See
+  <url id="http://lists.debian.org/debian-devel-announce/2009/03/msg00010.html"
+  name="this debian-devel-announce message">
+  for the list of new sections and rules for how to categorize
+  packages.                                                
+  </item>
+<tag>3.9.1</tag>
+  <item>All packages must use debconf or equivalent for user prompting,
+  though essential packages or their dependencies may also fall
+  back on other methods.                                   
+  </item>
+<tag>5.6.1</tag>
+  <item>The requirements for source package names are now explicitly
+  spelled out.
+  </item>
+<tag>9.1</tag>
+  <item>Legacy XFree86 servers no longer get a special exception from the
+  FHS permitting <file>/etc/X11/XF86Config-4</file>.
+  </item>
+<tag>9.1.3</tag>
+  <item>Removed obsolete dependency requirements for packages that use
+  <file>/var/mail</file>.
+  </item>
+<tag>11.8.5</tag>
+  <item>Speedo fonts are now deprecated.  The X backend was disabled
+  starting in lenny.                                       
+  </item>
+<tag>12.5</tag>
+  <item>The GNU Free Documentation License version 1.3 is included in
+  common-licenses and should be referenced from there.     
+  </item>
+</taglist></p>
+
+<sect> Version 3.8.1.0
+<p>
+
+Released  Mar 2009.
+
+</p><p><taglist>
+<tag>3.8</tag>
+  <item>Care should be taken when adding functionality to essential and
+  such additions create an obligation to support that functionality
+  in essential forever unless significant work is done.    
+  </item>
+<tag>4.4</tag>
+  <item>Changelog files must be encoded in UTF-8.                
+  </item>
+<tag>4.4</tag>
+  <item>Tighten some format requirements for changelog files from a should
+  to a must.                                               
+  </item>
+<tag>4.4.1</tag>
+  <item>Remove alternative changelog formats.  Debian only supports one
+  changelog format for the Debian Archive.                 
+  </item>
+<tag>4.9.1</tag>
+  <item>New nocheck option for DEB_BUILD_OPTIONS indicating any build-time
+  test suite provided by the package should not be run.    
+  </item>
+<tag>5.1</tag>
+  <item>All control files must be encoded in UTF-8.              
+  </item>
+<tag>5.2</tag>
+  <item>debian/control allows comment lines starting with # with no
+  preceding whitespace.                                    
+  </item>
+<tag>9.3</tag>
+  <item>Init scripts ending in .sh are not handled specially.  They are not
+  sourced and are not guaranteed to be run by <prgn>/bin/sh</prgn> regardless
+  of the #! line.  This brings Policy in line with the long-standing
+  behavior of the init system in Debian.
+  </item>
+<tag>9.3.2</tag>
+  <item>The start action of an init script must exit successfully and not
+  start the daemon again if it's already running.          
+  </item>
+<tag>9.3.2</tag>
+  <item><file>/var/run</file> and <file>/var/lock</file> may be mounted as
+  temporary filesystems, and init scripts must therefore create any necessary
+  subdirectories dynamically.                                             
+  </item>
+<tag>10.4</tag>
+  <item> <file>/bin/sh</file> scripts may assume that local can take multiple
+   variable arguments and supports assignment.                       
+  </item>
+<tag>11.6</tag>
+  <item>User mailboxes may be mode 600 and owned by the user rather than
+  mode 660, owned by user, and group mail.                 
+  </item>
+</taglist></p>
+
+<sect> Version 3.8.0.0
+<p>
+
+Released  Jun 2008.
+
+</p><p><taglist>
+<tag>2.4, 3.7</tag>
+<item>The base section has been removed.  contrib and non-free have been
+  removed from the section list; they are only categories.  The base
+  system is now defined by priority.                       
+<tag>4.9</tag>
+<item>If <prgn>dpkg-source -x</prgn> doesn't provide the source that will be
+  compiled, a debian/rules patch target is recommended and should do whatever
+  else is necessary.
+<tag>4.9.1, 10.1</tag>
+<item>Standardized the format of DEB_BUILD_OPTIONS.  Specified permitted
+  characters for tags, required that tags be whitespace-separated,
+  allowed packages to assume non-conflicting tags, and required
+  unknown flags be ignored.                                
+<tag>4.9.1</tag>
+<item>Added parallel=n to the standardized DEB_BUILD_OPTIONS tags,
+  indicating that a package should be built using up to n parallel
+  processes if the package supports it                     
+<tag>4.13</tag>
+<item>Debian packages should not use convenience copies of code from other
+  packages unless the included package is explicitly intended to be
+  used that way.                                           
+<tag>4.14</tag>
+<item>If dpkg-source -x doesn't produce source ready for editing and
+  building with dpkg-buildpackage, packages should include a
+  <file>debian/README.source</file> file explaining how to generate
+  the patched source, add a new modification, and remove an existing
+  modification.  This file may also be used to document packaging a
+  new upstream release and any other complexity of the Debian build
+  process.                                                 
+<tag>5.6.3</tag>
+<item>The Uploaders field in debian/control may be wrapped.    
+<tag>5.6.12</tag>
+<item>An empty Debian revision is equivalent to a Debian revision of 0 in
+  a version number.                                        
+<tag>5.6.23</tag>
+<item>New Homepage field for upstream web sites.               
+<tag>6.5, 6.6, 7</tag>
+<item>The Breaks field declares that this package breaks another and
+  prevents installation of the breaking package unless the package
+  named in Breaks is deconfigured first.  This field should not be
+  used until the dpkg in Debian stable supports it.        
+<tag>8.1, 8.2</tag>
+<item>Clarify which files should go into a shared library package, into a
+  separate package, or into the -dev package.  Suggest -tools instead
+  of -runtime for runtime support programs, since that naming is more
+  common in Debian.                                        
+<tag>9.5</tag>
+<item>Files in <file>/etc/cron.{hourly,daily,weekly,monthly}</file> must be
+  configuration files (upgraded from should).  Mention the hourly
+  directory.                                               
+<tag>11.8.6</tag>
+<item>Packages providing <file>/etc/X11/Xresources</file> files need not
+  conflict with  <tt> xbase (&lt;&lt; 3.3.2.3a-2)</tt>, which is
+  long-obsolete.           
+<tag>12.1</tag>
+<item>Manual pages in locale-specific directories should use either the
+  legacy encoding for that directory or UTF-8.  Country names should
+  not be included in locale-specific manual page directories unless
+  indicating a significant difference in the language.  All
+  characters in the manual page source should be representable in the
+  legacy encoding for a locale even if the man page is encoded in
+  UTF-8.                                                   
+<tag>12.5</tag>
+<item>The Apache 2.0 license is now in common-licenses and should be
+  referenced rather than quoted in <file>debian/copyright</file>.
+<tag>12.5</tag>
+<item>Packages in contrib and non-free should state in the copyright file
+  that the package is not part of Debian GNU/Linux and briefly
+  explain why.                                             
+<tag>debconf</tag>
+<item>Underscore (_) is allowed in debconf template names.     
+</taglist></p>
+
+<sect> Version 3.7.3.0
+<p>
+
+Released  Dec 2007.
+
+</p><p><taglist>
+<tag>5.6.12</tag>
+<item>Package version numbers may contain tildes, which sort before
+  anything, even the end of a part.                        
+<tag>10.4</tag>
+<item>Scripts may assume that <file>/bin/sh</file> supports local (at a basic
+  level) and that its test builtin (if any) supports -a and -o binary
+  logical operators.                                       
+<tag>8.5</tag>
+<item>The substitution variable ${binary:Version} should be used in place
+  of ${Source-Version} for dependencies between packages of the same
+  library.                                                 
+<tag>menu policy</tag>
+<item>Substantial reorganization and renaming of sections in the Debian
+  menu structure.  Packages with menu entries should be reviewed to
+  see if the menu section has been renamed or if one of the new
+  sections would be more appropriate.                      
+<tag>5.6.1</tag>
+<item>The Source field in a .changes file may contain a version number
+  in parentheses.                                          
+<tag>5.6.17</tag>
+<item>The acceptable values for the Urgency field are low, medium, high,
+  critical, or emergency.                                  
+<tag>8.6</tag>
+<item>The shlibs file now allows an optional type field, indicating the
+  type of package for which the line is valid.  The only currently
+  supported type is udeb, used with packages for the Debian
+  Installer.                                               
+<tag>3.9.1</tag>
+<item>Packages following the Debian Configuration management
+  specification must allow for translation of their messages by using
+  a gettext-based system such as po-debconf.               
+<tag>12.5</tag>
+<item>GFDL 1.2, GPL 3, and LGPL 3 are now in common-licenses and should
+  be referenced rather than quoted in debian/copyright.
+</taglist></p>
+
+<sect> Version 3.7.2.2
+<p>
+
+Released  Oct 2006.
+
+</p><p><taglist>
+<tag>6.1</tag> <item>Maintainer scripts must not be world writeable (up from a
+    should to a must)</item>   
+</taglist></p>
+
+<sect> Version 3.7.2.0
+<p>
+
+Released  Apr 2006.
+
+</p><p><taglist>
+<tag>11.5</tag> <item>Revert the cgi-lib change. </item>
+</taglist></p>
+
+<sect> Version 3.7.1.0
+<p>
+
+Released  Apr 2006.
+
+</p><p><taglist>
+<tag>10.2</tag>
+<item>It is now possible to create shared libraries without
+  relocatable code (using -fPIC) in certain exceptional cases,
+  provided some procedures are followed, and for creating static
+  libraries with relocatable code (again, using -fPIC).
+  Discussion on debian-devel@lists.debian.org, getting a rough
+  consensus, and documenting it in README.Debian constitute most
+  of the process.                                          
+<tag>11.8.7</tag>
+<item>Packages should install any relevant files into the directories
+  <file>/usr/include/X11/</file> and <file>/usr/lib/X11/</file>, but if
+  they do so, they must pre-depend on <tt>x11-common (&gt;= 1:7.0.0)</tt>
+</taglist></p>
+
+<sect> Version 3.7.0.0
+<p>
+
+Released  Apr 2006.
+
+</p><p><taglist>
+<tag>11.5</tag>
+<item>Packages shipping web server CGI files are expected to install
+  them in <file>/usr/lib/cgi-lib/</file> directories.  This location change
+  perhaps should be documented in NEWS                     
+<tag>11.5</tag>
+<item>Web server packages should include a standard scriptAlias of
+  cgi-lib to <file>/usr/lib/cgi-lib</file>.
+<tag>9.1.1</tag>
+<item>The version of FHS mandated by policy has been upped to
+  2.3. There should be no changes required for most packages,
+  though new top level directories <file>/media</file>, <file>/srv</file>,
+  etc.  may be of interest.
+<tag>5.1, 5.6.3</tag>
+<item>All fields, apart from the Uploaders field, in the control file
+  are supposed to be a single logical line, which may be spread
+  over multiple physical  lines (newline followed by space is
+  elided).  However, any parser for the control file must allow
+  the Uploaders field to be spread over multiple physical lines
+  as well, to prepare for future changes.
+<tag>10.4</tag>
+<item>When scripts are installed into a directory in the system
+  PATH, the script name should not include an extension that
+  denotes the scripting language currently used to implement it.
+
+<tag>9.3.3.2</tag>
+<item>packages that invoke initscripts now must use invoke-rc.d to do
+  so since it also pays attention to run levels and other local
+  constraints.
+<tag>11.8.5.2, 11.8.7, etc</tag>
+<item>We no longer use <file>/usr/X11R6</file>, since we have
+  migrated away to using Xorg paths. This means, for one thing, fonts
+  live in <file>/usr/share/fonts/X11/</file> now, and <file>/usr/X11R6</file>
+  is gone.
+</taglist></p>
+
+<sect> Version 3.6.2.0
+<p>
+
+Released  2005
+
+</p><p><taglist>
+<tag></tag>
+<item>Recommend. doc-base, and not menu, for registering package documentation.
+</item>
+<tag>8.1</tag>
+<item>Run time support programs should live in subdirectories of
+  <file>/usr/lib/</file> or <file>/usr/share</file>, and preferably the shared
+  lib is named the same as the package name (to avoid name collisions).
+</item>
+<tag>11.5</tag>
+<item>It is recommended that HTTP servers provide an alias /images to
+  allow packages to share image files with the web server
+</item>
+</taglist></p>
+
+<sect> Version 3.6.1.0
+<p>
+
+Released  Aug 2003.
+
+</p><p><taglist>
+<tag>3.10.1</tag>
+<item>Prompting the user should be done using debconf. Non debconf
+  user prompts are now deprecated.
+</taglist></p>
+
+<sect> Version 3.6.0
+<p>
+
+Released  Jul 2003.
+
+</p><p><taglist>
+<tag></tag>
+<item>Restructuring causing shifts in section numbers and bumping of
+  the minor version number:
+<tag></tag>
+<item>Many packaging manual appendices that were integrated into policy
+  sections are now empty, and replaced with links to the Policy.
+  In particular, the appendices that included the list of control
+  fields were updated (new fields like Closes, Changed-By were added)
+  and the list of fields for each of control, .changes and .dsc files
+  is now in Policy, and they're marked mandatory, recommended or
+  optional based on the current practice and the behavior of the
+  deb-building tool-chain.
+<tag></tag>
+<item>Elimination of needlessly deep section levels, primarily in the
+  chapter Debian Archive, from which two new chapters were split out,
+  Binary packages and Source packages. What remained was reordered
+  properly, that is, some sects became sects etc.
+<tag></tag>
+<item>Several sections that were redundant, crufty or simply not designed
+  with any sort of vision, were rearranged according to the formula that
+  everything should be either in the same place or properly interlinked.
+  Some things remained split up between different chapters when they
+  talked about different aspects of files: their content, their syntax,
+  and their placement in the file system. In particular, see the new
+  sections about changelog files.
+<tag>menu policy</tag>
+<item>Added Games/Simulation and Apps/Education to menu
+  sub-policy
+<tag>C.2.2</tag>
+<item>Debian changelogs should be UTF-8 encoded.
+<tag>10.2</tag>
+<item>shared libraries must be linked against all libraries that they
+  use symbols from in the same way that binaries are.
+<tag>7.6</tag>
+<item>build-depends-indep need not be satisfied during clean
+  target.
+</taglist></p>
+
+<sect> Version 3.5.10
+<p>
+
+Released  May 2003.
+
+</p><p><taglist>
+<tag>11.8.3</tag>
+<item>packages providing the x-terminal-emulator virtual package
+  ought to ensure that they interpret the command line exactly
+  like xterm does.
+<tag>11.8.4</tag>
+<item>Window managers compliant with the Window Manager Specification
+  Project may add 40 points for ranking in the alternatives
+</taglist></p>
+
+<sect> Version 3.5.9.0
+<p>
+
+Released  Mar 2003.
+
+</p><p><taglist>
+<tag>3.4.2</tag>
+<item>The section describing the Description: package field once again has
+  full details of the long description format.
+<tag>4.2</tag>
+<item>Clarified that if a package has non-build-essential
+  build-dependencies, it should have them listed in the Build-Depends
+  and related fields (i.e. it's not merely optional).
+<tag>9.3.2</tag>
+<item>When asked to restart a service that isn't already running,
+  the init script should start the service.
+<tag>12.6</tag>
+<item>If the purpose of a package is to provide examples, then the
+  example files can be installed into <file>/usr/share/doc/package</file>
+  (rather than <file>/usr/share/doc/package/examples</file>).
+</taglist></p>
+
+<sect> Version 3.5.8.0
+<p>
+
+Released  Nov 2002.
+
+</p><p><taglist>
+<tag>12.7</tag>
+<item>It is no longer necessary to keep a log of changes to the upstream
+  sources in the copyright file. Instead, all such changes should be
+  documented in the changelog file.
+<tag>7.6</tag>
+<item><var/Build-Depends/, <var/Build-Conflicts/, <var/Build-Depends-Indep/,
+  and <var/Build-Conflicts-Indep/ must also be satisfied when the clean
+  target is called.
+<tag>menu policy</tag>
+<item>A new Apps/Science menu section is available
+<tag>debconf policy</tag>
+<item>debconf specification cleared up, various changes.
+<tag>12.1</tag>
+<item>It is no longer recommended to create symlinks from nonexistent
+  manual pages to undocumented(7). Missing manual pages for programs
+  are still a bug.
+</taglist></p>
+
+<sect> Version 3.5.7.0
+<p>
+
+Released  Aug 2002.
+
+</p><p><taglist>
+<tag></tag>
+<item>Packages no longer have to ask permission to call MAKEDEV in
+  postinst, merely notifying the user ought to be enough.
+<tag>2.2.4</tag>
+<item>cryptographic software may now be included in the main
+  archive.
+<tag>3.9</tag>
+<item>task packages are no longer permitted; tasks are now created by a
+  special Tasks: field in the control file.
+<tag>11.8.4</tag>
+<item>window managers that support netwm can now add 20 points when
+  they add themselves as an alternative for
+ <file>/usr/bin/x-window-manager</file>
+<tag>10.1</tag>
+<item>The default compilation options have now changed, one should
+  provide debugging symbols in all cases, and optionally step
+  back optimization to -O0, depending on the DEB_BUILD_OPTIONS
+  environment variable.
+<tag>7.6, 4.8</tag>
+<item>Added mention of build-arch, build-indep, etc, in describing
+  the relationships with `Build-Depends', `Build-Conflicts',
+  `Build-Depends-Indep', and `Build-Conflicts-Indep'. May need to
+  review the new rules.
+<tag>8</tag>
+<item>Changed rules on how, and when, to invoke ldconfig in maintainer
+  scripts. Long rationale.
+</taglist></p>
+
+<p><em>
+Added the last note in 3.5.6 upgrading checklist item regarding build
+rules, please see below
+</em></p>
+
+<sect> Version 3.5.6.0
+<p>
+
+Released  Jul 2001.
+
+</p><p><taglist>
+<tag>2.5</tag>
+<item>Emacs and TeX are no longer mandated by policy to be priority
+  standard packages
+<tag>11.5</tag>
+<item>Programs that access docs need to do so via <file>/usr/share/doc</file>,
+  and not via <file>/usr/doc/</file> as was the policy previously
+<tag>12.3</tag>
+<item>Putting documentation in <file>/usr/doc</file> versus
+ <file>/usr/share/doc</file> is now a ``serious'' policy violation.
+<tag>11.5</tag>
+<item>For web servers, one should not provide non-local access to the
+  <file>/usr/share/doc</file> hierarchy. If one can't provide access
+  controls for the http://localhost/doc/ directory, then it is preferred
+  that one ask permission to expose that information during the install.
+<tag>7</tag>
+<item>There are new rules for build-indep/build-arch targets and
+  there is a new Build-Depend-Indep semantic.
+</taglist></p>
+
+<sect> Version 3.5.5.0
+<p>
+
+Released  May 2001.
+
+</p><p><taglist>
+<tag>12.1</tag>
+<item>Manpages should not rely on header information to have
+  alternative manpage names available; it should only use
+  symlinks or .so pages to do this
+</item>
+<tag></tag>
+<item><em> Clarified note in 3.5.3.0 upgrading checklist regarding
+   examples and templates: this refers only to those examples used
+   by scripts; see section 10.7.3 for the whole story</em>
+</item>
+<tag></tag>
+<item>Included a new section 10.9.1 describing the use of
+  dpkg-statoverride; this does not have the weight of policy
+</item>
+<tag></tag>
+<item>Clarify Standards-Version: you don't need to rebuild your
+  packages just to change the Standards-Version!
+</item>
+<tag>10.2</tag>
+<item>Plugins are no longer bound by all the rules of shared
+  libraries
+</item>
+<tag>X Windows related things:</tag>
+<item><taglist>
+  <tag>11.8.1</tag>
+  <item>Clarification of priority levels of X Window System related
+      packages
+  </item>
+  <tag>11.8.3</tag>
+  <item>Rules for defining x-terminal-emulator improved </item>
+  <tag>11.8.5</tag>
+  <item>X Font policy rewritten: you must read this if you provide
+      fonts for the X Window System
+  </item>
+  <tag>11.8.6</tag>
+  <item>Packages must not ship <file>/usr/X11R6/lib/X11/app-defaults/</file>
+  </item>
+  <tag>11.8.7</tag>
+  <item>X-related packages should usually use the regular FHS
+      locations; imake-using packages are exempted from this
+  </item>
+  <tag>11.8.8</tag>
+  <item>OpenMotif linked binaries have the same rules as
+      OSF/Motif-linked ones
+  </item>
+  </taglist></item>
+</taglist></p>
+
+<sect> Version 3.5.4.0
+<p> Released  Apr 2001.
+
+</p><p><taglist>
+<tag>11.6</tag>
+<item>The system-wide mail directory is now /var/mail, no longer
+  /var/spool/mail.  Any packages accessing the mail spool should
+  access it via /var/mail and include a suitable Depends field;
+  details in
+</item>
+<tag>11.9; perl-policy</tag>
+<item>The perl policy is now part of Debian policy
+  proper. Perl programs and modules should follow the current Perl
+  policy
+</item>
+</taglist></p>
+
+<sect> Version 3.5.3.0
+<p> Released Apr 2001
+
+</p><p><taglist>
+<tag>7.1</tag>
+<item>Build-Depends arch syntax has been changed to be less
+  ambiguous. This should not affect any current packages
+</item>
+<tag>10.7.3</tag>
+<item>Examples and templates files for use by scripts should now live
+  in <file>/usr/share/&lt;package&gt;</file> or
+  <file>/usr/lib/&lt;package&gt;</file>, with symbolic links from
+  <file>/usr/share/doc/&lt;package&gt;/examples</file> as needed
+</item>
+</taglist></p>
+
+<sect> Version 3.5.2.0
+
+<p> Released Feb 2001.
+
+</p><p><taglist>
+<tag>11.8.6</tag>
+<item>X app-defaults directory has moved from
+  <file>/usr/X11R6/lib/X11/app-defaults</file> to
+  <file>/etc/X11/app-defaults</file>
+</item>
+</taglist></p>
+
+<sect> Version 3.5.1.0
+
+<p> Released Feb 2001.
+
+</p><p><taglist>
+<tag>8.1</tag>
+<item>dpkg-shlibdeps now uses objdump, so shared libraries have to be
+  run through dpkg-shlibdeps as well as executables
+</item>
+</taglist></p>
+
+<sect> Version 3.5.0.0
+
+<p> Released Jan 2001.
+
+</p><p><taglist>
+<tag>11.8.5</tag>
+<item>Font packages for the X Window System must now declare a
+  dependency on xutils (>= 4.0.2)
+</item>
+</taglist></p>
+
+<sect> Version 3.2.1.1
+
+<p> Released Jan 2001.
+
+</p><p><taglist>
+<tag>9.3.2</tag>
+<item>Daemon startup scripts in <file>/etc/init.d/</file> should not contain
+  modifiable parameters; these should be moved to a file in
+  <file>/etc/default/</file>
+</item>
+<tag>12.3</tag>
+<item>Files in <file>/usr/share/doc</file> must not be referenced by any
+  program.  If such files are needed, they must be placed in
+  <file>/usr/share/&lt;package&gt;/</file>, and symbolic links
+  created as required in <file>/usr/share/doc/&lt;package&gt;/</file>
+</item>
+<tag></tag>
+<item>Much of the packaging manual has now been imported into the
+  policy document
+</item>
+</taglist></p>
+
+<sect> Version 3.2.1.0
+
+<p> Released Aug 00.
+
+</p><p><taglist>
+<tag>11.8.1</tag>
+<item>A package of priority standard or higher may provide two
+  binaries, one compiled with support for the X Window System,
+  and the other without
+</item>
+</taglist></p>
+
+<sect> Version 3.2.0.0
+
+<p> Released Aug 00.
+
+</p><p><taglist>
+<tag>10.1</tag>
+<item>By default executables should not be built with the debugging
+  option -g. Instead, it is recommended to support building the
+  package with debugging information optionally.  Details in
+</item>
+<tag>12.8</tag>
+<item>Policy for packages where the upstream uses HTML changelog
+  files has been expanded.  In short, a plain text changelog file
+  should always be generated for the upstream changes
+</item>
+<tag></tag>
+<item>Please note that the new release of the X window system (3.2)
+  shall probably need sweeping changes in policy
+</item>
+<tag></tag>
+<item>Policy for packages providing the following X-based features
+  has been codified:
+  <taglist>
+  <tag>11.8.2</tag>
+  <item>X server (virtual package xserver) </item>
+  <tag>11.8.3</tag>
+  <item>X terminal emulator (virtual package x-terminal-emulator) </item>
+  <tag>11.8.4</tag>
+  <item>X window manager (virtual package x-window-manager, and
+      <file>/usr/bin/x-window-manager</file> alternative, with priority
+      calculation guidelines)
+  </item>
+  <tag>12.8.5</tag>
+  <item>X fonts (this section has been written from scratch) </item>
+  <tag>11.8.6</tag>
+  <item>X application defaults </item>
+  </taglist>
+</item>
+<tag>11.8.7</tag>
+<item>Policy for packages using the X Window System and FHS issues
+  has been clarified;
+</item>
+<tag>11.7.3</tag>
+<item>No package may contain or make hard links to conffiles </item>
+<tag>8</tag>
+<item>Noted that newer dpkg versions do not require extreme care in
+  always creating the shared lib before the symlink, so the unpack
+  order be correct
+</item>
+</taglist></p>
+
+<sect> Version 3.1.1.0
+
+<p> Released Nov 1999.
+
+</p><p><taglist>
+<tag>7.1</tag>
+<item>Correction to semantics of architecture lists in Build-Depends
+  etc.  Should not affect many packages
+</item>
+</taglist></p>
+
+<sect> Version 3.1.0.0
+
+<p> Released Oct 1999.
+
+</p><p><taglist>
+<tag>defunct</tag>
+<item><file>/usr/doc/&lt;package&gt;</file> has to be a symlink pointing to
+  <file>/usr/share/doc/&lt;package&gt;</file>, to be maintained by postinst
+  and prerm scripts.
+</item>
+<tag>7.1, 7.6</tag>
+<item>Introduced source dependencies (Build-Depends, etc.) </item>
+<tag>9.3.4</tag>
+<item><file>/etc/rc.boot</file> has been deprecated in favour of
+  <file>/etc/rcS.d</file>.  (Packages should not be touching this directory,
+  but should use update-rc.d instead)
+</item>
+<tag>9.3.3</tag>
+<item>update-rc.d is now the <em>only</em> allowable way of accessing the
+  <file>/etc/rc?.d/[SK]??*</file> links.  Any scripts which manipulate them
+  directly must be changed to use update-rc.d instead.  (This is
+  because the file-rc package handles this information in an
+  incompatible way.)
+</item>
+<tag>12.7</tag>
+<item>Architecture-specific examples go in
+  <file>/usr/lib/&lt;package&gt;/examples</file>
+  with symlinks from <file>/usr/share/doc/&lt;package&gt;/examples/*</file>
+  or from <file>/usr/share/doc/&lt;package&gt;/examples</file> itself
+</item>
+<tag>9.1.1</tag>
+<item>Updated FHS to a 2.1 draft; this reverts <file>/var/state</file> to
+  <file>/var/lib</file>
+</item>
+<tag>9.7; mime-policy</tag>
+<item>Added MIME sub-policy document </item>
+<tag>12.4</tag>
+<item>VISUAL is allowed as a (higher priority) alternative to EDITOR
+</item>
+<tag>11.6</tag>
+<item>Modified liblockfile description, which affects
+  mailbox-accessing programs.  Please see the policy document for
+  details
+</item>
+<tag>12.7</tag>
+<item>If a package provides a changelog in HTML format, a text-only
+  version should also be included.  (Such a version may be prepared
+  using <prgn>lynx -dump -nolist</prgn>.)
+</item>
+<tag>3.2.1</tag>
+<item>Description of how to handle version numbers based on dates
+  added
+</item>
+</taglist></p>
+
+<sect> Version 3.0.1.0
+
+<p> Released Jul 1999.
+
+</p><p><taglist>
+<tag>10.2</tag>
+<item>Added the clarification that the .la files are essential for
+  the packages using libtool's libltdl library, in which case the .la
+  files must go in the run-time library package
+</item>
+</taglist></p>
+
+<sect> Version 3.0.0.0
+
+<p> Released Jun 1999.
+
+</p><p><taglist>
+<tag>9.1</tag>
+<item>Debian formally moves from the FSSTND to the FHS. This is a
+  major change, and the implications of this move are probably
+  not all known.
+</item>
+<tag>4.1</tag>
+<item>Only 3 digits of the Standards version need be included in
+  control files, though all four digits are still permitted.
+</item>
+<tag>12.6</tag>
+<item>The location of the GPL has changed to
+  <file>/usr/share/common-licenses</file>. This may require changing the
+  copyright files to point to the correct location of the GPL and
+  other major licenses
+</item>
+<tag>10.2</tag>
+<item>Packages that use libtool to create shared libraries must
+  include the .la files in the -dev packages
+</item>
+<tag>10.8</tag>
+<item>Use logrotate to rotate log files
+</item>
+<tag>now 11.8</tag>
+<item>section 5.8 has been rewritten (Programs for the X Window
+  System)
+</item>
+<tag>9.6; menu-policy</tag>
+<item>There is now an associated menu policy, in a separate document,
+  that carries the full weight of Debian policy
+</item>
+<tag>11.3</tag>
+<item>Programs which need to modify the files <file>/var/run/utmp</file>,
+  <file>/var/log/wtmp</file> and <file>/var/log/lastlog</file> must be
+  installed setgid utmp
+</item>
+</taglist></p>
+<p><em>
+   Please note that section numbers below this point may not be up to date
+</em></p>
+
+<sect> Version 2.5.0.0
+
+<p> Released Oct 1998.
+
+Policy Manual:
+</p><p><list>
+<item>Rearranged the manual to create a new Section 4, Files
+  <list>
+  <item>Section 3.3 ("Files") was moved to Section 4. The Sections
+    that  were Section 4 and Section 5 were  moved down to become
+    Section 5 and Section 6.
+  </item>
+  <item>What was Section 5.5 ("Log files") is now a subsection of the
+    new Section 4 ("Files"), becoming section 4.8, placed after
+    "Configuration files", moving the Section 4.8 ("Permissions
+    and owners") to Section 4.9.  All subsections of the old
+    Section 5 after 5.5  were moved down to fill in the number
+    gap.
+  </item>
+  </list></item>
+<item>Modified the section about changelog files to accommodate
+  upstream changelogs which were formatted as HTML. These
+  upstream changelog files should now be accessible as
+  <file>/usr/doc/package/changelog.html.gz</file>
+</item>
+<item>Symlinks are permissible to link the real, or upstream,
+    changelog name to the Debian mandated name.
+</item>
+<item>Clarified that HTML documentation should be present in some
+  package, though not necessarily the main binary package.
+  </item>
+<item>Corrected all references to the location of the copyright
+  files. The correct location is <file>/usr/doc/package/copyright</file>
+  </item>
+<item>Ratified the architecture specification strings to cater to the
+  HURD.
+  </item>
+</list></p>
+
+<sect> Version 2.4.1.0
+
+<p> Released Apr 1998.
+</p>
+<sect1> Policy Manual:
+<p><taglist>
+<tag>Updated section 3.3.5 Symbolic links:</tag>
+  <item>symbolic links within a toplevel directory should be relative,
+    symbolic links between toplevel directories should be absolute
+    (cf., Policy Weekly Issue#6, topic 2)
+  </item>
+
+<tag>Updated section 4.9 Games:</tag>
+  <item>manpages for games should be installed in <file>/usr/man/man6</file>
+    (cf., Policy Weekly Issue#6, topic 3)
+  </item>
+</taglist></p>
+
+<sect1> Packaging Manual:
+<p><list>
+<item>Updated prefix of chapter 12, Shared Libraries:
+  ldconfig must be called in the postinst script if the package
+  installs shared libraries
+  (cf., Policy Weekly Issue #6, fixes:bug#20515)
+</item>
+</list></p>
+
+<sect> Version 2.4.0.0
+
+<p> Released Jan 1998
+
+</p><p><taglist>
+<tag>Updated section 3.3.4 Scripts:</tag>
+  <item><list>
+  <item>/bin/sh may be any POSIX compatible shell
+  <item>scripts including bashisms have to specify <file>/bin/bash</file>
+    as interpreter
+  <item>scripts which create files in world-writable directories
+    (e.g., in <file>/tmp</file>) should use tempfile or mktemp for creating
+    the directory
+  </list></item>
+
+<tag>Updated section 3.3.5 Symbolic Links:</tag>
+  <item>symbolic links referencing compressed files must have the same
+    file extension as the referenced file
+  </item>
+
+<tag>Updated section 3.3.6 Device files:</tag>
+  <item><file>/dev/tty*</file> serial devices should be used instead of
+  <file>/dev/cu*</file>
+  </item>
+
+<tag>Updated section 3.4.2 Writing the scripts in <file>/etc/init.d</file>:
+  <item><list>
+  <item>all <file>/etc/init.d</file> scripts have to provide the following
+  options: start, stop, restart, force-reload
+  <item>the reload option is optional and must never stop and restart
+    the service
+  </list></item>
+
+<tag>Updated section 3.5 Cron jobs:
+  <item>cron jobs that need to be executed more often than daily should
+    be installed into <file>/etc/cron.d</file>
+  </item>
+
+<tag>Updated section 3.7 Menus:
+  <item>removed section about how to register HTML docs to `menu'
+    (the corresponding section in 4.4, Web servers and applications,
+    has been removed in policy 2.2.0.0 already, so this one was
+    obsolete)
+  </item>
+
+<tag>New section 3.8 Keyboard configuration:
+  <item>details about how the backspace and delete keys should be
+    handled
+  </item>
+
+<tag>New section 3.9 Environment variables:
+  <item>no program must depend on environment variables to get a
+    reasonable default configuration
+  </item>
+
+<tag>New section 4.6 News system configuration:
+  <item><file>/etc/news/organization</file> and <file>/etc/news/server</file>
+    should be supported by all news servers and clients
+  </item>
+
+<tag>Updated section 4.7 Programs for the X Window System:
+  <item><list>
+  <item>programs requiring a non-free Motif library should be provided
+    as foo-smotif and foo-dmotif package
+  </item>
+  <item>if lesstif works reliably for such program, it should be linked
+    against lesstif and not against a non-free Motif library
+  </item>
+  </list></item>
+
+<tag>Updated section 4.9 Games:
+  <item>games for X Windows have to be installed in <file>/usr/games</file>,
+  just as non-X games
+  </item>
+</taglist></p>
+
+<sect> Version 2.3.0.1, 2.3.0.0
+
+<p> Released Sep 1997.
+
+<p><list>
+<item>new section `4.2 Daemons' including rules for
+  <file>/etc/services</file>, <file>/etc/protocols</file>,
+  <file>/etc/rpc</file>, and <file>/etc/inetd.conf</file>
+</item>
+
+<item>updated section about `Configuration files':
+  packages may not touch other packages' configuration files
+</item>
+
+<item>MUAs and MTAs have to use liblockfile</item>
+</list></p>
+
+<sect> Version 2.2.0.0
+
+<p> Released July 1997.
+
+<p><list>
+<item>added section 4.1 `Architecture specification strings':
+  use
+       &lt;arch&gt;-linux
+  where &lt;arch&gt; is one of the following:
+       i386, alpha, arm, m68k, powerpc, sparc.
+</item>
+
+<item>detailed rules for <file>/usr/local</file></item>
+
+<item>user ID's</item>
+
+<item>editor/pager policy</item>
+
+<item>cron jobs</item>
+
+<item>device files</item>
+
+<item>don't install shared libraries as executable</item>
+
+<item>app-defaults files may not be conffiles</item>
+</list></p>
+
+<sect> Version 2.1.3.2, 2.1.3.1, 2.1.3.0
+
+<p> Released Mar 1997.
+
+<p><list>
+<item>two programs with different functionality must not have the
+  same name </item>
+
+<item>"Webstandard 3.0"</item>
+
+<item>"Standard for Console Messages"</item>
+
+<item>Libraries should be compiled with `-D_REENTRANT'</item>
+
+<item>Libraries should be stripped with <prgn>strip --strip-unneeded</prgn>
+</item>
+</list></p>
+
+<sect> Version 2.1.2.2, 2.1.2.1, 2.1.2.0
+
+<p> Released Nov 1996.
+
+<p><list>
+<item>Some changes WRT shared libraries
+</list></p>
+
+<sect> Version 2.1.1.0
+
+<p> Released Sep 1996.
+
+<p><list>
+<item>No hard links in source packages</item>
+
+<item>Do not use <prgn>dpkg-divert</prgn> or <prgn>update-alternatives</prgn>
+without consultation </item>
+
+<item>Shared libraries must be installed stripped </item>
+</list></p>
+
+<sect> Version 2.1.0.0
+
+<p> Released Aug 1996.
+
+<p><list>
+  <item>Upstream changelog must be installed too </item>
+</list></p>
+</book>
+</debiandoc>
index d1beab876a17b73cc84b8482c658b07bfdfc6b04..9ba66e57b079f8e18f640d5450662eeebaf4fff0 100644 (file)
@@ -83,6 +83,7 @@ System
                          other applications
  time-daemon             anything that serves as a time daemon
  ups-monitor             anything that is capable of controlling an UPS
+ cron-daemon             Any cron daemon that correctly follows policy requirements
 
 Documentation
 -------------
@@ -315,3 +316,6 @@ Russ Allbery:
               Rename inetd-superserver to inet-superserver
    2 Dec 2007 Added ttf-japanese-gothic
               Added ttf-japanese-mincho
+
+Manoj Srivastava:
+  21 Nov 2009 (Re)Added cron-daemon