/Process.html
/README.html
-/body.tmp
-/copyright-format/copyright-format.html
+/copyright-format/copyright-format-1.0.html
+/copyright-format/version.xml
/debconf_spec/debconf_specification.html
/debconf_spec/debconf_specification.txt.gz
-/head.tmp
+/debconf_spec/include/version.xml
+/debian/files
+/debian/tmp/
/menu-policy.html/
/perl-policy.html/
/policy.html/
/stamp-build
+/stamp-binary
/upgrading-checklist.html/
/version.ent
*-1.html
*.tpt
*.txt
*.txt.gz
+*.xml.tar.gz
%.pdf.gz: %.pdf
gzip -cf9 $< > $@
+# This is a temporary hack to fold the upgrading-checklist into the Policy
+# HTML directory so that it can be deployed alongside Policy on
+# www.debian.org in a way that lets the cross-document links work properly.
+# The correct solution is to make upgrading-checklist an appendix of Policy,
+# which will probably be done as part of a general conversion to DocBook.
+policy.html.tar.gz:: policy.html/upgrading-checklist.html
+policy.html/upgrading-checklist.html: upgrading-checklist-1.html \
+ policy.html/index.html
+ cp -p $< $@
+
# convenience aliases :)
html: policy.html/index.html
html-1: policy-1.html
--- /dev/null
+Document: copyright-format-1.0
+Title: Machine-readable debian/copyright file
+Author: The Debian Project
+Abstract: Standard, machine-readable format for debian/copyright files within
+ packages, to facilitate automated checking and reporting of licenses for
+ packages and sets of packages.
+Section: Debian
+
+Format: text
+Files: /usr/share/doc/debian-policy/copyright-format-1.0.txt.gz
+
+Format: HTML
+Index: /usr/share/doc/debian-policy/copyright-format-1.0.html
+Files: /usr/share/doc/debian-policy/copyright-format-1.0.html
+++ /dev/null
-Document: copyright-format
-Title: Machine-readable debian/copyright file
-Author: The Debian Project
-Abstract: Standard, machine-readable format for debian/copyright files within
- packages, to facilitate automated checking and reporting of licenses for
- packages and sets of packages.
-Section: Debian
-
-Format: text
-Files: /usr/share/doc/debian-policy/copyright-format.txt.gz
-
-Format: HTML
-Index: /usr/share/doc/debian-policy/copyright-format.html
-Files: /usr/share/doc/debian-policy/copyright-format.html
-all: copyright-format.txt.gz copyright-format.html
+all: copyright-format-1.0.txt.gz copyright-format-1.0.html
-%.html: %.xml html.dsl
+copyright-format-1.0.html: copyright-format-1.0.xml html.dsl
jade -V nochunks -t sgml -d html.dsl \
/usr/share/xml/declaration/xml.dcl $< > $@
-tidy -q -i -m -f /dev/null $@
-%.txt: %.html
+copyright-format-1.0.txt: copyright-format-1.0.html
links -dump $< | perl -pe 's/[\r\0]//g' > $@
-%.txt.gz: %.txt
+copyright-format-1.0.txt.gz: copyright-format-1.0.txt
gzip -cf9 $< > $@
clean:
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<?xml-stylesheet type="text/xsl"
+ href="http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl"?>
+
+<!DOCTYPE article PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN'
+ 'http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd' [
+<!ENTITY % versiondata SYSTEM "version.xml"> %versiondata;
+]>
+
+<article class="specification" lang="en" id="copyright-format-1.0">
+ <articleinfo>
+ <title>
+ Machine-readable <filename>debian/copyright</filename> file
+ </title>
+ <subtitle>Version 1.0</subtitle>
+ <releaseinfo>Debian Policy &version;, &date;</releaseinfo>
+ <legalnotice>
+ <para>
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided this notice is
+ preserved.
+ </para>
+ </legalnotice>
+ <abstract>
+ <para>
+ Establishes a standard, machine-readable format for
+ <filename>debian/copyright</filename> files within Debian packages
+ to facilitate automated checking and reporting of licenses for
+ packages and sets of packages. This specification was originally
+ drafted as
+ <ulink url="http://dep.debian.net/deps/dep5/">DEP-5</ulink>.
+ </para>
+ </abstract>
+ </articleinfo>
+
+ <section id="introduction">
+ <title>Introduction</title>
+ <para>
+ This document describes a standard, machine-interpretable format for
+ the <filename>debian/copyright</filename> file. This file is one of
+ the most important files in Debian packaging, but, prior to this
+ specification, no standard format was defined for it and its
+ contents varied tremendously across packages. This made it
+ difficult to automatically extract licensing information.
+ </para>
+ <para>
+ Use of this specification is optional.
+ </para>
+ <para>
+ Nothing in this proposal supersedes or modifies any of the requirements
+ specified in Debian Policy regarding the appropriate detail or
+ granularity to use when documenting copyright and license status in
+ <filename>debian/copyright</filename>.
+ </para>
+ </section>
+
+ <section id="rationale">
+ <title>Rationale</title>
+ <para>
+ The diversity of free software licenses means that Debian needs to care
+ not only about the freeness of a given work, but also its license's
+ compatibility with the other parts of Debian it uses.
+ </para>
+ <para>
+ The arrival of the GPL version 3, its incompatibility with version 2, and
+ our inability to spot the software where the incompatibility might be
+ problematic is one prominent occurrence of this limitation.
+ </para>
+ <para>
+ There are earlier precedents, also. One is the GPL/OpenSSL
+ incompatibility. Apart from grepping
+ <filename>debian/copyright</filename>, which is prone to numerous false
+ positives (packaging under the GPL but software under another license) or
+ negatives (GPL software but with an <quote>OpenSSL special
+ exception</quote> dual licensing form), there is no reliable way to know
+ which software in Debian might be problematic.
+ </para>
+ <para>
+ And there is more to come. There are issues with shipping GPLv2-only
+ software with a CDDL operating system such as Nexenta. The GPL version 3
+ solves this issue, but not all GPL software can switch to it and we have
+ no way to know how much of Debian should be stripped from such a system.
+ </para>
+ <para>
+ Even where licenses are DFSG-free and mutually compatible, users may
+ wish for a way to identify software under certain licenses (if, for
+ example, they have special reasons to avoid certain licenses).
+ </para>
+ </section>
+
+ <section id="acknowledgements">
+ <title>Acknowledgements</title>
+ <para>
+ Many people have worked on this specification over the years. The
+ following alphabetical list is incomplete; please suggest missing people:
+ Russ Allbery,
+ Ben Finney,
+ Sam Hocevar,
+ Steve Langasek,
+ Charles Plessy,
+ Noah Slater,
+ Jonas Smedegaard,
+ Lars Wirzenius.
+ </para>
+ </section>
+
+ <section id="file-syntax">
+ <title>File syntax</title>
+ <para>
+ The <filename>debian/copyright</filename> file must be
+ machine-interpretable, yet human-readable, while communicating all
+ mandated upstream information, copyright notices and licensing details.
+ </para>
+ <para>
+ The syntax of the file is the same as for other Debian control files, as
+ specified in the Debian Policy Manual. See its <ulink
+ url="http://www.debian.org/doc/debian-policy/ch-controlfields#s-controlsyntax">section
+ 5.1</ulink> for details. Extra fields can be added to any paragraph. No
+ prefixing is necessary or desired, but please avoid names similar to
+ standard ones so that mistakes are easier to catch. Future versions of
+ the <filename>debian/copyright</filename> specification will attempt to
+ avoid conflicting specifications for widely used extra fields.
+ </para>
+ <para>
+ The file consists of two or more paragraphs. At minimum, the file
+ must include one <link linkend="header-paragraph">header
+ paragraph</link> and one <link linkend="files-paragraph">Files
+ paragraph</link>.
+ </para>
+ <para>
+ There are four types of fields. The definition for each field in this
+ document indicates which type of value it takes.
+ </para>
+
+ <section id="single-line">
+ <title>Single-line values</title>
+ <para>
+ The entire value of a single-line field must be on a single line.
+ For example, the <varname>Format</varname> field has a single-line
+ value specifying the version of the machine-readable format that
+ is used.
+ </para>
+ </section>
+
+ <section id="white-space-lists">
+ <title>Whitespace-separated lists</title>
+ <para>
+ Field values defined as whitespace-separated lists may be on one
+ line or many. Values in the list are separated by one or more
+ whitespace characters (space, tab, or newline). For example, the
+ <varname>Files</varname> field contains a whitespace-separated
+ list of filename patterns.
+ </para>
+ </section>
+
+ <section id="line-based-lists">
+ <title>Line-based lists</title>
+ <para>
+ Line-based lists have one value per line. For example, the
+ <varname>Upstream-Contact</varname> field contains a line-based
+ list of contact addresses.
+ </para>
+ </section>
+
+ <section id="formatted-text">
+ <title>Formatted text</title>
+ <para>
+ Formatted text fields use the same rules as the long description
+ in a package's <varname>Description</varname> field in Debian
+ control files. In some but not all cases, the first line may have
+ special meaning as a synopsis, similar to how the
+ <varname>Description</varname> field uses the first line for the
+ short description. See Debian Policy's section 5.6.13, <ulink
+ url="http://www.debian.org/doc/debian-policy/ch-controlfields#s-f-Description"><quote>Description</quote></ulink>,
+ for details. For example, <varname>Disclaimer</varname> is a
+ formatted text field that has no special first line, and
+ <varname>License</varname> is a formatted text field where the
+ first line indicates the short name or names of the licenses.
+ </para>
+ </section>
+ </section>
+
+ <section id="paragraphs">
+ <title>Paragraphs</title>
+ <para>
+ There are three kinds of paragraphs. The first paragraph in the file
+ is called the <link linkend="header-paragraph">header paragraph</link>.
+ Every other paragraph is either a <link
+ linkend="files-paragraph">Files paragraph</link> or a <link
+ linkend="stand-alone-license-paragraph">stand-alone License
+ paragraph</link>. This is similar to source and binary package
+ paragraphs in <filename>debian/control</filename> files.
+ </para>
+
+ <section id="header-paragraph">
+ <title>Header paragraph (once)</title>
+ <para>
+ The following fields may be present in a header paragraph.
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="format-field">Format</link>: required.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <link linkend="upstream-name-field">Upstream-Name</link>:
+ optional.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <link
+ linkend="upstream-contact-field">Upstream-Contact</link>:
+ optional.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <link linkend="source-field">Source</link>: optional.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <link linkend="disclaimer-field">Disclaimer</link>:
+ optional.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <link linkend="comment-field">Comment</link>: optional.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <link linkend="license-field">License</link>: optional.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <link linkend="copyright-field">Copyright</link>: optional.
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ The <varname>Copyright</varname> and <varname>License</varname>
+ fields in the <emphasis>header paragraph</emphasis> may complement
+ but do not replace the <emphasis>Files paragraphs</emphasis>. If
+ present, they summarise the copyright notices or redistribution
+ terms for the package as a whole. For example, when a work
+ combines a permissive and a copyleft license,
+ <varname>License</varname> can be used to clarify the license
+ terms for the combination. <varname>Copyright</varname> and
+ <varname>License</varname> together can also be used to document a
+ <emphasis>compilation copyright</emphasis> and license. It is
+ possible to use only <varname>License</varname> in the header
+ paragraph, but <varname>Copyright</varname> alone makes no sense.
+ </para>
+
+ <section id="example-header-paragraph">
+ <title>Example header paragraph</title>
+<programlisting>Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: SOFTware
+Upstream-Contact: John Doe <john.doe@example.com>
+Source: http://www.example.com/software/project</programlisting>
+ </section>
+ </section>
+
+ <section id="files-paragraph">
+ <title>Files paragraph (repeatable)</title>
+ <para>
+ The declaration of copyright and license for files may consist of
+ one or more paragraphs. In the simplest case, a single paragraph
+ with <literal>Files: *</literal> can be used to state the license
+ and copyright for the whole package. Only the license and
+ copyright information required by the Debian archive is required
+ to be listed here.
+ </para>
+ <para>
+ The following fields may be present in a Files paragraph.
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="files-field">Files</link>: required.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <link linkend="copyright-field">Copyright</link>: required.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <link linkend="license-field">License</link>: required.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <link linkend="comment-field">Comment</link>: optional.
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <section id="example-files-paragraph">
+ <title>Example files paragraphs</title>
+<programlisting>Files: *
+Copyright: 1975-2010 Ulla Upstream
+License: GPL-2+
+
+Files: debian/*
+Copyright: 2010 Daniela Debianizer
+License: GPL-2+
+
+Files: debian/patches/fancy-feature
+Copyright: 2010 Daniela Debianizer
+License: GPL-3+
+
+Files: */*.1
+Copyright: 2010 Manuela Manpager
+License: GPL-2+</programlisting>
+ <para>
+ In this example, all files are copyright by the upstream and licensed
+ under the GPL, version 2 or later, with three exceptions. All the
+ Debian packaging files are copyright by the packager, and further one
+ specific file providing a new feature is licensed differently.
+ Finally, there are some manual pages added to the package, written by
+ a third person.
+ </para>
+ <para>
+ Since the license of the manual pages is the same as the other
+ files in the package, the last paragraph above could instead be
+ combined with the first paragraph, listing both copyright
+ statements in one <varname>Copyright</varname> field. Whether
+ to combine paragraphs with the same license is left to the
+ discretion of the author of the
+ <filename>debian/copyright</filename> file.
+ </para>
+ </section>
+ </section>
+
+ <section id="stand-alone-license-paragraph">
+ <title>Stand-alone License Paragraph (optional, repeatable)</title>
+ <para>
+ Stand-alone <varname>License</varname> paragraphs can be used to
+ provide the full license text for a given license once, instead of
+ repeating it in each <varname>Files</varname> paragraph that refers to
+ it. The first line of the <varname>License</varname> field must be a
+ single license short name or a short name followed by a license
+ exception.
+ </para>
+ <para>
+ The following fields may be present in a stand-alone License
+ paragraph.
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="license-field">License</link>: required.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <link linkend="comment-field">Comment</link>: optional.
+ </para>
+ </listitem>
+ </itemizedlist>
+ <example>
+ <title>tri-licensed files</title>
+<programlisting>Files: src/js/editline/*
+Copyright: 1993, John Doe
+ 1993, Joe Average
+License: MPL-1.1 or GPL-2 or LGPL-2.1
+
+License: MPL-1.1
+ [LICENSE TEXT]
+
+License: GPL-2
+ [LICENSE TEXT]
+
+License: LGPL-2.1
+ [LICENSE TEXT]</programlisting>
+ </example>
+
+ <example>
+ <title>recurrent license</title>
+<programlisting>Files: src/js/editline/*
+Copyright: 1993, John Doe
+ 1993, Joe Average
+License: MPL-1.1
+
+Files: src/js/fdlibm/*
+Copyright: 1993, J-Random Corporation
+License: MPL-1.1
+
+License: MPL-1.1
+ [LICENSE TEXT]</programlisting>
+ </example>
+ </section>
+ </section>
+
+ <section id="fields">
+ <title>Fields</title>
+ <para>
+ The following fields are defined for use in
+ <filename>debian/copyright</filename>.
+ </para>
+
+ <section id="format-field">
+ <title><varname>Format</varname></title>
+ <para>
+ Single-line: URI of the format specification. The field that
+ should be used for the current version of this document is:
+<programlisting>Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/</programlisting>
+ </para>
+ </section>
+
+ <section id="upstream-name-field">
+ <title><varname>Upstream-Name</varname></title>
+ <para>
+ Single-line: the name upstream uses for the software
+ </para>
+ </section>
+
+ <section id="upstream-contact-field">
+ <title><varname>Upstream-Contact</varname></title>
+ <para>
+ Line-based list: the preferred address(es) to reach the upstream
+ project. May be free-form text, but by convention will usually be
+ written as a list of RFC5322 addresses or URIs.
+ </para>
+ </section>
+
+ <section id="source-field">
+ <title><varname>Source</varname></title>
+ <para>
+ Formatted text, no synopsis: an explanation of where the upstream
+ source came from. Typically this would be a URL, but it might be a
+ free-form explanation. The Debian Policy section <ulink
+ url="http://www.debian.org/doc/debian-policy/ch-docs#s-copyrightfile">12.5</ulink>
+ requires this information unless there are no upstream sources,
+ which is mainly the case for native Debian packages. If the
+ upstream source has been modified to remove non-free parts, that
+ should be explained in this field.
+ </para>
+ </section>
+
+ <section id="disclaimer-field">
+ <title><varname>Disclaimer</varname></title>
+ <para>
+ Formatted text, no synopsis: this field is used for non-free or
+ contrib packages to state that they are not part of Debian and to
+ explain why (see Debian Policy section <ulink
+ url="http://www.debian.org/doc/debian-policy/ch-docs#s-copyrightfile">12.5</ulink>).
+ </para>
+ </section>
+
+ <section id="comment-field">
+ <title><varname>Comment</varname></title>
+ <para>
+ Formatted text, no synopsis: this field can provide additional
+ information. For example, it might quote an e-mail from upstream
+ justifying why the license is acceptable to the main archive, or an
+ explanation of how this version of the package has been forked from
+ a version known to be DFSG-free, even though the current upstream
+ version is not.
+ </para>
+ </section>
+
+ <section id="license-field">
+ <title><varname>License</varname></title>
+ <para>
+ Formatted text, with synopsis. In the header paragraph, this field
+ gives the license information for the package as a whole, which may
+ be different or simplified from a combination of all the per-file
+ license information. In a Files paragraph, this field gives the
+ licensing terms for the files listed in the <varname>Files</varname>
+ field for this paragraph. In a stand-alone License paragraph, it
+ gives the licensing terms for those paragraphs which reference it.
+ </para>
+ <para>
+ First line: an abbreviated name for the license, or expression
+ giving alternatives (see the <link linkend="license-short-name">Short
+ name</link> section for a list of standard abbreviations). If
+ there are licenses present in the package without a standard short
+ name, an arbitrary short name may be assigned for these licenses.
+ These arbitrary names are only guaranteed to be unique within a
+ single copyright file.
+ </para>
+ <para>
+ If there are no remaining lines, then all of the short names
+ or short names followed by license exceptions making up the
+ first line must be described in <link
+ linkend="stand-alone-license-paragraph">stand-alone License
+ paragraphs</link>. Otherwise, this field should either
+ include the full text of the license(s) or include a pointer to the
+ license file under <filename>/usr/share/common-licenses</filename>.
+ This field should include all text needed in order to fulfill both
+ Debian Policy's requirement for including a copy of the software's
+ distribution license (<ulink
+ url="http://www.debian.org/doc/debian-policy/ch-docs#s-copyrightfile">12.5</ulink>),
+ and any license requirements to include warranty disclaimers or
+ other notices with the binary package.
+ </para>
+ </section>
+
+ <section id="copyright-field">
+ <title><varname>Copyright</varname></title>
+ <para>
+ Formatted text, no synopsis: one or more free-form copyright
+ statements. Any formatting is permitted; see the examples below
+ for some ideas for how to structure the field to make it easier to
+ read. In the header paragraph, this field gives the copyright
+ information for the package as a whole, which may be different or
+ simplified from a combination of all the per-file copyright
+ information. In the Files paragraphs, it gives the copyright
+ information that applies to the files matched by the
+ <varname>Files</varname> pattern. If a work has no copyright holder
+ (i.e., it is in the public domain), that information should be
+ recorded here.
+ </para>
+ <para>
+ The <varname>Copyright</varname> field collects all relevant
+ copyright notices for the files of this paragraph. Not all
+ copyright notices may apply to every individual file, and years of
+ publication for one copyright holder may be gathered together. For
+ example, if file A has:
+<programlisting>Copyright 2008 John Smith
+Copyright 2009 Angela Watts</programlisting>
+ and file B has:
+<programlisting>Copyright 2010 Angela Watts</programlisting>
+ a single paragraph may still be used for both files. The
+ <varname>Copyright</varname> field for that paragraph would
+ contain:
+<programlisting>Copyright 2008 John Smith
+Copyright 2009, 2010 Angela Watts</programlisting>
+ </para>
+ <para>
+ The <varname>Copyright</varname> field may contain the original
+ copyright statement copied exactly (including the word
+ <quote>Copyright</quote>), or it may shorten the text or merge it
+ with other copyright statements as described above, as long as it
+ does not sacrifice information. Examples in this specification use
+ both forms.
+ </para>
+ </section>
+
+ <section id="files-field">
+ <title><varname>Files</varname></title>
+ <para>
+ Whitespace-separated list: list of patterns indicating files covered
+ by the license and copyright specified in this paragraph.
+ </para>
+ <para>
+ Filename patterns in the <varname>Files</varname> field are
+ specified using a simplified shell glob syntax. Patterns are
+ separated by whitespace.
+ <itemizedlist>
+ <listitem>
+ <para>
+ Only the wildcards <literal>*</literal> and <literal>?</literal>
+ apply; the former matches any number of characters (including
+ none), the latter a single character. Both match slashs
+ (<literal>/</literal>) and leading dots, unlike shell globs.
+ The pattern <literal>*.in</literal> therefore matches any
+ file whose name ends in <literal>.in</literal> anywhere in
+ the source tree, not just at the top level.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Patterns match pathnames that start at the root of the source
+ tree. Thus, <quote><filename>Makefile.in</filename></quote>
+ matches only the file at the root of the tree, but
+ <quote><filename>*/Makefile.in</filename></quote> matches at
+ any depth.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ The backslash (<literal>\</literal>) is used to remove the
+ magic from the next character; see table below.
+ </para>
+ </listitem>
+ </itemizedlist>
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Escape sequence</entry>
+ <entry>Matches</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry><literal>\*</literal></entry>
+ <entry>star (asterisk)</entry>
+ </row>
+ <row>
+ <entry><literal>\?</literal></entry>
+ <entry>question mark</entry>
+ </row>
+ <row>
+ <entry><literal>\\</literal></entry>
+ <entry>backslash</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ Any other character following a backslash is an error.
+ </para>
+ <para>
+ This is the same pattern syntax as
+ <citerefentry><refentrytitle>fnmatch</refentrytitle>
+ <manvolnum>3</manvolnum></citerefentry> without the
+ <constant>FNM_PATHNAME</constant> flag, or the argument to the
+ <literal>-path</literal> test of the GNU <command>find</command>
+ command, except that <literal>[]</literal> wildcards are not
+ recognized.
+ </para>
+ <para>
+ Multiple <varname>Files</varname> paragraphs are allowed. The last
+ paragraph that matches a particular file applies to it. More
+ general paragraphs should therefore be given first, followed by
+ more specific overrides.
+ </para>
+ <para>
+ Exclusions are only supported by adding <varname>Files</varname>
+ paragraphs to override the previous match.
+ </para>
+ </section>
+
+ </section>
+ <section id="license-specification">
+ <title>License specification</title>
+
+ <section id="license-short-name">
+ <title>Short name</title>
+ <para>
+ Much of the value of a machine-parseable copyright file lies in being
+ able to correlate the licenses of multiple pieces of software. To that
+ end, this spec defines standard short names for a number of commonly
+ used licenses, which can be used in the first line of a
+ <varname>License</varname> field.
+ </para>
+ <para>
+ These short names have the specified meanings across all uses of this
+ file format, and <emphasis>must not</emphasis> be used to refer to any
+ other licenses. Parsers may thus rely on these short names referring
+ to the same licenses wherever they occur, without needing to parse or
+ compare the full license text.
+ </para>
+ <para>
+ From time to time, licenses may be added to or removed from the list of
+ standard short names. Such changes in the list of short names will
+ always be accompanied by changes to the version of this standard
+ and to the recommended
+ <varname>Format</varname> value. Implementers who are parsing copyright
+ files should take care not to assume anything about the meaning of
+ license short names for unknown <varname>Format</varname> versions.
+ </para>
+ <para>
+ Use of a standard short name does not override the Debian Policy
+ requirement to include the full license text in
+ <filename>debian/copyright</filename>, nor any requirements in the
+ license of the work regarding reproduction of legal notices. This
+ information must still be included in the <varname>License</varname>
+ field, either in a stand-alone License paragraph or in the relevant
+ files paragraph.
+ </para>
+ <para>
+ For licenses that have multiple versions in use, the short name is
+ formed from the general short name of the license family, followed
+ by a dash and the version number. If the version number is
+ omitted, the lowest version number is implied. When the license
+ grant permits using the terms of any later version of that
+ license, add a plus sign to the end of the short name. For
+ example, the short name <literal>GPL</literal> refers to the GPL
+ version 1 and is equivalent to <literal>GPL-1</literal>, although
+ the latter is clearer and therefore preferred. If the package may
+ be distributed under the GPL version 1 or any later version, use a
+ short name of <literal>GPL-1+</literal>.
+ </para>
+ <para>
+ For <link linkend="spdx">SPDX</link> compatibility, versions with
+ trailing <emphasis>dot-zeroes</emphasis> are considered to be
+ equivalent to versions without (e.g., <quote>2.0.0</quote> is
+ considered equal to <quote>2.0</quote> and <quote>2</quote>).
+ </para>
+ <para>
+ Currently, the full text of the licenses is only available in the
+ <ulink url="http://spdx.org/licenses">SPDX Open Source License
+ Registry</ulink>.
+ </para>
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Keyword</entry>
+ <entry>Meaning</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>public-domain</entry>
+ <entry>
+ No license required for any purpose; the work is not subject to
+ copyright in any jurisdiction.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ Apache
+ </entry>
+ <entry>
+ Apache license
+ <ulink url="http://spdx.org/licenses/Apache-1.0">1.0</ulink>,
+ <ulink url="http://spdx.org/licenses/Apache-2.0">2.0</ulink>.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ Artistic
+ </entry>
+ <entry>
+ Artistic license
+ <ulink url="http://spdx.org/licenses/Artistic-1.0">1.0</ulink>,
+ <ulink url="http://spdx.org/licenses/Artistic-2.0">2.0</ulink>.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ BSD-2-clause
+ </entry>
+ <entry>
+ Berkeley software distribution license,
+ <ulink url="http://spdx.org/licenses/BSD-2-Clause">2-clause
+ version</ulink>.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ BSD-3-clause
+ </entry>
+ <entry>
+ Berkeley software distribution license,
+ <ulink url="http://spdx.org/licenses/BSD-3-Clause">3-clause
+ version</ulink>.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ BSD-4-clause
+ </entry>
+ <entry>
+ Berkeley software distribution license,
+ <ulink url="http://spdx.org/licenses/BSD-4-Clause">4-clause
+ version</ulink>.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ ISC
+ </entry>
+ <entry>
+ <ulink url="http://spdx.org/licenses/ISC">Internet Software
+ Consortium</ulink>, sometimes also known as the OpenBSD License.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ CC-BY
+ </entry>
+ <entry>
+ Creative Commons Attribution license
+ <ulink url="http://spdx.org/licenses/CC-BY-1.0">1.0</ulink>,
+ <ulink url="http://spdx.org/licenses/CC-BY-2.0">2.0</ulink>,
+ <ulink url="http://spdx.org/licenses/CC-BY-2.5">2.5</ulink>,
+ <ulink url="http://spdx.org/licenses/CC-BY-3.0">3.0</ulink>.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ CC-BY-SA
+ </entry>
+ <entry>
+ Creative Commons Attribution Share Alike license
+ <ulink url="http://spdx.org/licenses/CC-BY-SA-1.0">1.0</ulink>,
+ <ulink url="http://spdx.org/licenses/CC-BY-SA-2.0">2.0</ulink>,
+ <ulink url="http://spdx.org/licenses/CC-BY-SA-2.5">2.5</ulink>,
+ <ulink url="http://spdx.org/licenses/CC-BY-SA-3.0">3.0</ulink>.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ CC-BY-ND
+ </entry>
+ <entry>
+ Creative Commons Attribution No Derivatives license
+ <ulink url="http://spdx.org/licenses/CC-BY-ND-1.0">1.0</ulink>,
+ <ulink url="http://spdx.org/licenses/CC-BY-ND-2.0">2.0</ulink>,
+ <ulink url="http://spdx.org/licenses/CC-BY-ND-2.5">2.5</ulink>,
+ <ulink url="http://spdx.org/licenses/CC-BY-ND-3.0">3.0</ulink>.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ CC-BY-NC
+ </entry>
+ <entry>
+ Creative Commons Attribution Non-Commercial license
+ <ulink url="http://spdx.org/licenses/CC-BY-NC-1.0">1.0</ulink>,
+ <ulink url="http://spdx.org/licenses/CC-BY-NC-2.0">2.0</ulink>,
+ <ulink url="http://spdx.org/licenses/CC-BY-NC-2.5">2.5</ulink>,
+ <ulink url="http://spdx.org/licenses/CC-BY-NC-3.0">3.0</ulink>.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ CC-BY-NC-SA
+ </entry>
+ <entry>
+ Creative Commons Attribution Non-Commercial Share Alike license
+ <ulink url="http://spdx.org/licenses/CC-BY-NC-SA-1.0">1.0</ulink>,
+ <ulink url="http://spdx.org/licenses/CC-BY-NC-SA-2.0">2.0</ulink>,
+ <ulink url="http://spdx.org/licenses/CC-BY-NC-SA-2.5">2.5</ulink>,
+ <ulink url="http://spdx.org/licenses/CC-BY-NC-SA-3.0">3.0</ulink>.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ CC-BY-NC-ND
+ </entry>
+ <entry>
+ Creative Commons Attribution Non-Commercial No Derivatives
+ license
+ <ulink url="http://spdx.org/licenses/CC-BY-NC-ND-1.0">1.0</ulink>,
+ <ulink url="http://spdx.org/licenses/CC-BY-NC-ND-2.0">2.0</ulink>,
+ <ulink url="http://spdx.org/licenses/CC-BY-NC-ND-2.5">2.5</ulink>,
+ <ulink url="http://spdx.org/licenses/CC-BY-NC-ND-3.0">3.0</ulink>.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ CC0
+ </entry>
+ <entry>
+ Creative Commons Zero
+ <ulink url="http://spdx.org/licenses/CC0-1.0">1.0 Universal</ulink>.
+ Omit <quote>Universal</quote> from the license version when
+ forming the short name.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ CDDL
+ </entry>
+ <entry>
+ Common Development and Distribution License
+ <ulink url="http://spdx.org/licenses/CDDL-1.0">1.0</ulink>.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ CPL
+ </entry>
+ <entry>
+ <ulink url="http://spdx.org/licenses/CPL-1.0">IBM Common Public
+ License</ulink>.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ EFL
+ </entry>
+ <entry>
+ The Eiffel Forum License
+ <ulink url="http://spdx.org/licenses/EFL-1.0">1.0</ulink>,
+ <ulink url="http://spdx.org/licenses/EFL-2.0">2.0</ulink>.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ Expat
+ </entry>
+ <entry>
+ The <ulink url="http://www.jclark.com/xml/copying.txt">Expat</ulink>
+ license.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ GPL
+ </entry>
+ <entry>
+ GNU General Public License
+ <ulink url="http://spdx.org/licenses/GPL-1.0">1.0</ulink>,
+ <ulink url="http://spdx.org/licenses/GPL-2.0">2.0</ulink>,
+ <ulink url="http://spdx.org/licenses/GPL-3.0">3.0</ulink>.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ LGPL
+ </entry>
+ <entry>
+ GNU Lesser General Public License
+ <ulink url="http://spdx.org/licenses/LGPL-2.1">2.1</ulink>,
+ <ulink url="http://spdx.org/licenses/LGPL-3.0">3.0</ulink>, or
+ GNU Library General Public License
+ <ulink url="http://spdx.org/licenses/LGPL-2.0">2.0</ulink>.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ GFDL
+ </entry>
+ <entry>
+ GNU Free Documentation License 1.0,
+ <ulink url="http://spdx.org/licenses/GFDL-1.1">1.1</ulink>,
+ <ulink url="http://spdx.org/licenses/GFDL-1.2">1.2</ulink>, or
+ <ulink url="http://spdx.org/licenses/GFDL-1.3">1.3</ulink>.
+ Use GFDL-NIV instead if there are no Front-Cover or
+ Back-Cover Texts or Invariant Sections.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ GFDL-NIV
+ </entry>
+ <entry>
+ GNU Free Documentation License, with no Front-Cover or
+ Back-Cover Texts or Invariant Sections. Use the same
+ version numbers as GFDL.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ LPPL
+ </entry>
+ <entry>
+ <ulink url="http://www.latex-project.org/lppl/">LaTeX Project
+ Public License</ulink>
+ <ulink url="http://spdx.org/licenses/LPPL-1.0">1.0</ulink>,
+ <ulink url="http://spdx.org/licenses/LPPL-1.1">1.1</ulink>,
+ <ulink url="http://spdx.org/licenses/LPPL-1.2">1.2</ulink>,
+ <ulink url="http://spdx.org/licenses/LPPL-1.3c">1.3c</ulink>.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ MPL
+ </entry>
+ <entry>
+ Mozilla Public License
+ <ulink url="http://spdx.org/licenses/MPL-1.1">1.1</ulink>.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ Perl
+ </entry>
+ <entry>
+ <ulink url="http://dev.perl.org/licenses/">Perl</ulink> license
+ (use <quote><literal>GPL-1+ or Artistic-1</literal></quote>
+ instead).
+ </entry>
+ </row>
+ <row>
+ <entry>
+ Python
+ </entry>
+ <entry>
+ Python license
+ <ulink url="http://spdx.org/licenses/Python-2.0">2.0</ulink>.
+ </entry>
+ <!-- See https://fossbazaar.org/pipermail/spdx-legal/2011-February/000010.html -->
+ </row>
+ <row>
+ <entry>
+ QPL
+ </entry>
+ <entry>
+ Q Public License <ulink
+ url="http://spdx.org/licenses/QPL-1.0">1.0</ulink>.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ W3C
+ </entry>
+ <entry>
+ <ulink url="http://spdx.org/licenses/W3C">W3C Software
+ License</ulink> For more information, consult the
+ <ulink
+ url="http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620">W3C
+ Intellectual Rights FAQ</ulink>.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ Zlib
+ </entry>
+ <entry>
+ <ulink url="http://spdx.org/licenses/Zlib">
+ zlib/libpng license</ulink>.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ Zope
+ </entry>
+ <entry>
+ Zope Public License 1.0,
+ <ulink url="http://spdx.org/licenses/ZPL-1.1">1.1</ulink>,
+ <ulink url="http://spdx.org/licenses/ZPL-2.0">2.0</ulink>,
+ <ulink url="http://spdx.org/licenses/ZPL-2.1">2.1</ulink>.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ <para>
+ There are <ulink
+ url="http://en.wikipedia.org/wiki/MIT_License#Various_versions">many
+ versions of the MIT license</ulink>. Please use Expat instead, when it
+ matches.
+ </para>
+ <para>
+ An exception or clarification to a license is signalled in plain text,
+ by appending <literal>with
+ <varname><replaceable>keywords</replaceable></varname>
+ exception</literal> to the short name. This document provides a list
+ of keywords that must be used when referring to the most frequent
+ exceptions. When exceptions other than these are in effect that
+ modify a common license by granting additional permissions, you may
+ use an arbitrary keyword not taken from the below list of keywords.
+ When a license differs from a common license because of added
+ restrictions rather than because of added permissions, a distinct
+ short name should be used instead of <literal>with
+ <varname><replaceable>keywords</replaceable></varname>
+ exception</literal>.
+ </para>
+ <para>
+ Only one exception may be specified for each license within a given
+ license specification. If more than one exception applies to a single
+ license, an arbitrary short name indicating that combination of
+ multiple exceptions must be used instead.
+ </para>
+ <para>
+ The GPL <literal>Font</literal> exception refers to the text added to
+ the license notice of each file as specified at <ulink
+ url="http://www.gnu.org/licenses/gpl-faq#FontException">How does the
+ GPL apply to fonts</ulink>. The precise text corresponding to this
+ exception is:
+<programlisting>As a special exception, if you create a document which uses this font,
+and embed this font or unaltered portions of this font into the
+document, this font does not by itself cause the resulting document to
+be covered by the GNU General Public License. This exception does not
+however invalidate any other reasons why the document might be covered
+by the GNU General Public License. If you modify this font, you may
+extend this exception to your version of the font, but you are not
+obligated to do so. If you do not wish to do so, delete this exception
+statement from your version.</programlisting>
+ </para>
+ <para>
+ The GPL <literal>OpenSSL</literal> exception gives permission to
+ link GPL-licensed code with the OpenSSL library, which contains
+ GPL-incompatible clauses. For more information, see <ulink
+ url="http://www.gnome.org/~markmc/openssl-and-the-gpl">The OpenSSL
+ License and The GPL</ulink> by Mark McLoughlin and the message
+ <ulink
+ url="http://lists.debian.org/debian-legal/2004/05/msg00595.html">middleman
+ software license conflicts with OpenSSL</ulink> by Mark McLoughlin
+ on the <emphasis>debian-legal</emphasis> mailing list. The text
+ corresponding to this exception is:
+<programlisting>In addition, as a special exception, the copyright holders give
+permission to link the code of portions of this program with the
+OpenSSL library under certain conditions as described in each
+individual source file, and distribute linked combinations including
+the two.
+
+You must obey the GNU General Public License in all respects for all
+of the code used other than OpenSSL. If you modify file(s) with this
+exception, you may extend this exception to your version of the
+file(s), but you are not obligated to do so. If you do not wish to do
+so, delete this exception statement from your version. If you delete
+this exception statement from all source files in the program, then
+also delete it here.</programlisting>
+ </para>
+
+ <section id="public-domain">
+ <title>Public domain</title>
+ <para>
+ The <varname>License</varname> short name
+ <literal>public-domain</literal> does not refer to a set of license
+ terms. There are some works which are not subject to copyright in
+ any jurisdiction and therefore no license is required for any
+ purpose covered by copyright law. This short name is an explicit
+ declaration that the associated files are <quote>in the public
+ domain</quote>.
+ </para>
+ <para>
+ Widespread misunderstanding about copyright in general, and the
+ public domain in particular, results in the common assertion that a
+ work is in the public domain when this is partly or wholly untrue
+ for that work. The <ulink
+ url="http://en.wikipedia.org/wiki/Public_domain">Wikipedia article
+ on public domain</ulink> is a useful reference for this subject.
+ </para>
+ <para>
+ When the <varname>License</varname> field in a paragraph has the
+ short name <literal>public-domain</literal>, the remaining lines of
+ the field <emphasis>must</emphasis> explain exactly what exemption
+ the corresponding files for that paragraph have from default
+ copyright restrictions.
+ </para>
+ </section>
+ </section>
+
+ <section id="license-syntax">
+ <title>Syntax</title>
+ <para>
+ License names are case-insensitive, and may not contain spaces.
+ </para>
+ <para>
+ In case of multi-licensing, the license short names are separated by
+ <literal>or</literal> when the user can chose between different
+ licenses, and by <literal>and</literal> when use of the work must
+ simultaneously comply with the terms of multiple licenses.
+ </para>
+ <para>
+ For instance, this is a simple, <quote>GPL version 2 or later</quote>
+ field:
+<programlisting>License: GPL-2+</programlisting>
+ This is a dual-licensed GPL/Artistic work such as Perl:
+<programlisting>License: GPL-1+ or Artistic</programlisting>
+ This is for a file that has both GPL and classic BSD code in it:
+<programlisting>License: GPL-2+ and BSD-3-clause</programlisting>
+ For the most complex cases, a comma is used to disambiguate the
+ priority of <literal>or</literal>s and <literal>and</literal>s.
+ The conjunction <quote><literal>and</literal></quote> has priority over
+ <quote><literal>or</literal></quote> unless preceded by a comma. For
+ instance:
+ </para>
+ <simpara>
+ <literal>A or B and C</literal> means <literal>A or (B and C)</literal>.
+ </simpara>
+ <simpara>
+ <literal>A or B, and C</literal> means <literal>(A or B) and
+ C</literal>.
+ </simpara>
+ <para>
+ This is for a file that has Perl code and classic BSD code in it:
+<programlisting>License: GPL-2+ or Artistic-2.0, and BSD-3-clause</programlisting>
+ A <literal>GPL-2+</literal> work with the <literal>OpenSSL</literal>
+ exception is in effect a dual-licensed work that can be redistributed
+ either under the <literal>GPL-2+</literal>, or under the
+ <literal>GPL-2+</literal> with the <literal>OpenSSL</literal>
+ exception. It is thus expressed as <literal>GPL-2+ with OpenSSL
+ exception</literal>. A possible <varname>License</varname> field for
+ such a license is:
+<programlisting>License: GPL-2+ with OpenSSL exception
+ This program is free software; you can redistribute it
+ and/or modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later
+ version.
+ .
+ In addition, as a special exception, the author of this
+ program gives permission to link the code of its
+ release with the OpenSSL project's "OpenSSL" library (or
+ with modified versions of it that use the same license as
+ the "OpenSSL" library), and distribute the linked
+ executables. You must obey the GNU General Public
+ License in all respects for all of the code used other
+ than "OpenSSL". If you modify this file, you may extend
+ this exception to your version of the file, but you are
+ not obligated to do so. If you do not wish to do so,
+ delete this exception statement from your version.
+ .
+ This program is distributed in the hope that it will be
+ useful, but WITHOUT ANY WARRANTY; without even the implied
+ warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the GNU General Public License for more
+ details.
+ .
+ You should have received a copy of the GNU General Public
+ License along with this package; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ Boston, MA 02110-1301 USA
+ .
+ On Debian systems, the full text of the GNU General Public
+ License version 2 can be found in the file
+ `/usr/share/common-licenses/GPL-2'.</programlisting>
+ </para>
+ </section>
+
+ <section id="spdx">
+ <title>SPDX</title>
+ <para>
+ <ulink url="http://spdx.org/">SPDX</ulink> is an attempt to standardize
+ a format for communicating the components, licenses and copyrights
+ associated with a software package. It and the machine-readable
+ <filename>debian/copyright</filename> format attempt to be somewhat
+ compatible. However, the two formats have different aims, and so the
+ formats are different. The <ulink
+ url="http://wiki.debian.org/Proposals/CopyrightFormat">DEP5 wiki
+ page</ulink> will be used to track the differences.
+ </para>
+ </section>
+ </section>
+
+ <section id="examples">
+ <title>Examples</title>
+ <example>
+ <title>Simple</title>
+ <para>
+ A possible <filename>debian/copyright</filename> file for the program
+ <quote>X Solitaire</quote> distributed in the Debian source package
+ <literal>xsol</literal>:
+<programlisting><![CDATA[Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: X Solitaire
+Source: ftp://ftp.example.com/pub/games
+
+Files: *
+Copyright: Copyright 1998 John Doe <jdoe@example.com>
+License: GPL-2+
+ This program is free software; you can redistribute it
+ and/or modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later
+ version.
+ .
+ This program is distributed in the hope that it will be
+ useful, but WITHOUT ANY WARRANTY; without even the implied
+ warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the GNU General Public License for more
+ details.
+ .
+ You should have received a copy of the GNU General Public
+ License along with this package; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ Boston, MA 02110-1301 USA
+ .
+ On Debian systems, the full text of the GNU General Public
+ License version 2 can be found in the file
+ `/usr/share/common-licenses/GPL-2'.
+
+Files: debian/*
+Copyright: Copyright 1998 Jane Smith <jsmith@example.net>
+License: GPL-2+
+ [LICENSE TEXT]]]></programlisting>
+ </para>
+ </example>
+
+ <example>
+ <title>Complex</title>
+ <para>
+ A possible <filename>debian/copyright</filename> file for the program
+ <quote>Planet Venus</quote>, distributed in the Debian source
+ package <literal>planet-venus</literal>:
+<programlisting><![CDATA[Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: Planet Venus
+Upstream-Contact: John Doe <jdoe@example.com>
+Source: http://www.example.com/code/venus
+
+Files: *
+Copyright: 2008, John Doe <jdoe@example.com>
+ 2007, Jane Smith <jsmith@example.org>
+ 2007, Joe Average <joe@example.org>
+ 2007, J. Random User <jr@users.example.com>
+License: PSF-2
+ [LICENSE TEXT]
+
+Files: debian/*
+Copyright: 2008, Dan Developer <dan@debian.example.com>
+License: permissive
+ Copying and distribution of this package, with or without
+ modification, are permitted in any medium without royalty
+ provided the copyright notice and this notice are
+ preserved.
+
+Files: debian/patches/theme-diveintomark.patch
+Copyright: 2008, Joe Hacker <hack@example.org>
+License: GPL-2+
+ [LICENSE TEXT]
+
+Files: planet/vendor/compat_logging/*
+Copyright: 2002, Mark Smith <msmith@example.org>
+License: MIT
+ [LICENSE TEXT]
+
+Files: planet/vendor/httplib2/*
+Copyright: 2006, John Brown <brown@example.org>
+License: MIT2
+ Unspecified MIT style license.
+
+Files: planet/vendor/feedparser.py
+Copyright: 2007, Mike Smith <mike@example.org>
+License: PSF-2
+ [LICENSE TEXT]
+
+Files: planet/vendor/htmltmpl.py
+Copyright: 2004, Thomas Brown <coder@example.org>
+License: GPL-2+
+ This program is free software; you can redistribute it
+ and/or modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later
+ version.
+ .
+ This program is distributed in the hope that it will be
+ useful, but WITHOUT ANY WARRANTY; without even the implied
+ warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the GNU General Public License for more
+ details.
+ .
+ You should have received a copy of the GNU General Public
+ License along with this package; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ Boston, MA 02110-1301 USA
+ .
+ On Debian systems, the full text of the GNU General Public
+ License version 2 can be found in the file
+ `/usr/share/common-licenses/GPL-2'.]]></programlisting>
+ </para>
+ </example>
+ </section>
+
+</article>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<?xml-stylesheet type="text/xsl"
- href="http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl"?>
-
-<!-- Process this file with an XSLT processor, e.g. xsltproc: -->
-<!-- `xsltproc \
- -''-nonet \
- 1.0.xml' -->
-
-<!DOCTYPE article PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN'
- 'http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd'>
-
-<article class="specification" status="draft" lang="en" id="copyright-format">
- <articleinfo>
- <title>
- Machine-readable <filename>debian/copyright</filename> file.
- </title>
- <subtitle>Version 1.0</subtitle>
- <legalnotice>
- <para>
- Copying and distribution of this file, with or without modification, are
- permitted in any medium without royalty provided the copyright notice
- and this notice are preserved.
- </para>
- </legalnotice>
- <abstract>
- <para>
- This specification was drafted as <ulink
- url="http://dep.debian.net/deps/dep5/">DEP-5</ulink>, to establish a
- standard, machine-readable format for
- <filename>debian/copyright</filename> files within packages and
- facilitate automated checking and reporting of licenses for packages and
- sets of packages.
- </para>
- </abstract>
- </articleinfo>
-
- <section id="introduction">
- <title>Introduction</title>
- <para>
- This is a proposal to make <filename>debian/copyright</filename>
- machine-interpretable. This file is one of the most important files in
- Debian packaging, yet there is currently no standard format defined for it
- and its contents vary tremendously across packages, making it difficult to
- automatically extract licensing information.
- </para>
- <para>
- This is not a proposal to change the policy in the short term. In
- particular, nothing in this proposal supersedes or modifies any of the
- requirements specified in Debian Policy regarding the appropriate detail
- or granularity to use when documenting copyright and license status in
- <filename>debian/copyright</filename>.
- </para>
- </section>
-
- <section id="rationale">
- <title>Rationale</title>
- <para>
- The diversity of free software licenses means that Debian needs to care
- not only about the freeness of a given work, but also its license's
- compatibility with the other parts of Debian it uses.
- </para>
- <para>
- The arrival of the GPL version 3, its incompatibility with version 2, and
- our inability to spot the software where the incompatibility might be
- problematic is one prominent occurrence of this limitation.
- </para>
- <para>
- There are earlier precedents, also. One is the GPL/OpenSSL
- incompatibility. Apart from grepping
- <filename>debian/copyright</filename>, which is prone to numerous false
- positives (packaging under the GPL but software under another license) or
- negatives (GPL software but with an <quote>OpenSSL special
- exception</quote> dual licensing form), there is no reliable way to know
- which software in Debian might be problematic.
- </para>
- <para>
- And there is more to come. There are issues with shipping GPLv2-only
- software with a CDDL operating system such as Nexenta. The GPL version 3
- solves this issue, but not all GPL software can switch to it and we have
- no way to know how much of Debian should be stripped from such a system.
- </para>
- <para>
- A user might want to have a way to avoid software with certain licenses
- they have a problem with, even if the licenses are DFSG-free. For example,
- the Affero GPL.
- </para>
- </section>
-
- <section id="acknowledgements">
- <title>Acknowledgements</title>
- <para>
- Many people have worked on this specification over the years. The
- following alphabetical list is incomplete, please suggest missing people:
- Russ Allbery,
- Ben Finney,
- Sam Hocevar,
- Steve Langasek,
- Charles Plessy,
- Noah Slater,
- Jonas Smedegaard,
- Lars Wirzenius.
- </para>
- </section>
-
- <section id="file-syntax">
- <title>File syntax</title>
- <para>
- The <filename>debian/copyright</filename> file must be
- machine-interpretable, yet human-readable, while communicating all
- mandated upstream information, copyright notices and licensing details.
- </para>
- <para>
- The syntax of the file is the same as for other Debian control files, as
- specified in the Debian Policy Manual. See its <ulink
- url="http://www.debian.org/doc/debian-policy/ch-controlfields#s-controlsyntax">section
- 5.1</ulink> for details. Extra fields can be added to any paragraph. No
- prefixing is necessary or desired, but please avoid names similar to
- standard ones so that mistakes are easier to catch. Future versions of
- the <filename>debian/copyright</filename> specification will attempt to
- avoid conflicting specifications for widely used extra fields.
- </para>
- <para>
- There are four kinds values for fields. Each field specifies which kind
- is allowed.
- </para>
-
- <section id="single-line">
- <title>Single-line values</title>
- <para>
- A single-line value means that the whole value of a field must fit on a
- single line. For example, the <varname>Format</varname> field has a
- single line value specifying the version of the machine-readable format
- that is used.
- </para>
- </section>
-
- <section id="white-space-lists">
- <title>White space separated lists</title>
- <para>
- A white space separated list means that the field value may be on one
- line or many, but values in the list are separated by one or more white
- space characters (including space, TAB, and newline). For example, the
- <varname>Files</varname> field has a list of filename patterns.
- </para>
- </section>
-
- <section id="line-based-lists">
- <title>Line based lists</title>
- <para>
- Another kind of list value has one value per line. For example,
- <varname>Copyright</varname> can list many copyright statements, one per
- line.
- </para>
- </section>
-
- <section id="formatted-text">
- <title>Text formatted like package long descriptions</title>
- <para>
- Formatted text fields use the same rules as the long description in a
- package's <varname>Description</varname> field, possibly also using the
- first line as a synopsis, like <varname>Description</varname> uses it
- for the short description. See Debian Policy's section 5.6.13, <ulink
- url="http://www.debian.org/doc/debian-policy/ch-controlfields#s-f-Description"><quote>Description</quote></ulink>,
- for details. For example, <varname>Disclaimer</varname> has no special
- first line, whereas <varname>License</varname> does.
- </para>
- </section>
- </section>
-
- <section id="paragraphs">
- <title>Paragraphs</title>
- <para>
- There are three kinds of paragraphs: the first one is called the
- <link linkend="header-paragraph">header paragraph</link>. Every other
- paragraph is either a <link linkend="files-paragraph">Files</link>
- paragraph or a <link linkend="stand-alone-license-paragraph">stand-alone
- license</link> paragraph. This is similar to source and binary package
- paragraphs in <filename>debian/control</filename> files.
- </para>
-
- <section id="header-paragraph">
- <title>Header paragraph (Once)</title>
- <section id="format-header-field">
- <title><varname>Format</varname></title>
- <para>
- Required single line: URI of the format specification, such as:
- <literal>http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/</literal>
- </para>
- </section>
-
- <section id="upstream-name-header-field">
- <title><varname>Upstream-Name</varname></title>
- <para>
- Optional single line: the name upstream uses for the software
- </para>
- </section>
-
- <section id="upstream-contact-header-field">
- <title><varname>Upstream-Contact</varname></title>
- <para>
- Optional line based list: the preferred address(es) to reach the
- upstream project. May be free-form text, but by convention will
- usually be written as a list of RFC5322 addresses or URIs.
- </para>
- </section>
-
- <section id="source-header-field">
- <title><varname>Source</varname></title>
- <para>
- Optional formatted text, no synopsis: an explanation from where the
- upstream source came from. Typically this would be a URL, but it might
- be a free-form explanation. The Debian Policy section <ulink
- url="http://www.debian.org/doc/debian-policy/ch-docs#s-copyrightfile">12.5</ulink>
- requires this information unless there are no upstream sources, which
- is mainly the case for native Debian packages. If the upstream source
- has been modified to remove non-free parts, that should be explained
- in this field.
- </para>
- </section>
-
- <section id="disclaimer-header-field">
- <title><varname>Disclaimer</varname></title>
- <para>
- Optional formatted text, no synopsis: this field can be used in the
- case of non-free and contrib packages (see <ulink
- url="http://www.debian.org/doc/debian-policy/ch-docs#s-copyrightfile">12.5</ulink>)
- </para>
- </section>
-
- <section id="comment-header-field">
- <title><varname>Comment</varname></title>
- <para>
- Optional formatted text, no synopsis: this field can provide
- additional information. For example, it might quote an e-mail from
- upstream justifying why the license is acceptable to the main archive,
- or an explanation of how this version of the package has been forked
- from a version known to be DFSG-free, even though the current upstream
- version is not.
- </para>
- </section>
-
- <section id="license-header-field">
- <title><varname>License</varname></title>
- <para>
- Optional formatted text, with synopsis: in the header paragraph
- (no <varname>Files</varname> specification), this field gives the
- license information for the package as a whole, which may be different
- or simplified from a combination of all the per-file license
- information. <varname>License</varname> below in the <link
- linkend="files-paragraph">Files paragraph</link> section.
- </para>
- </section>
-
- <section id="copyright-header-field">
- <title><varname>Copyright</varname></title>
- <para>
- Optional line based list: in the header paragraph (no
- <varname>Files</varname> specification), this field gives the
- copyright information for the package as a whole, which may be
- different or simplified from a combination of all the per-file
- copyright information. See also <varname>Copyright</varname> below
- in the <link linkend="files-paragraph">Files paragraph</link>
- section.
- </para>
- <para>
- The <varname>Copyright</varname> and <varname>License</varname> fields
- in the <emphasis>header paragraph</emphasis> may complement but do not
- replace the <emphasis>files paragraphs</emphasis>. They can be used
- to summarise the contributions and redistribution terms for the whole
- package, for instance when a work combines a permissive and a copyleft
- license, or to document a <emphasis>compilation copyright</emphasis>
- and license. It is possible to use only <varname>License</varname> in
- the header paragraph, but <varname>Copyright</varname> alone makes no
- sense.
- </para>
- </section>
-
- <section id="example-header-paragraph">
- <title>Example header paragraph</title>
-<programlisting>Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
-Upstream-Name: SOFTware
-Upstream-Contact: John Doe <john.doe@example.com>
-Source: http://www.example.com/software/project</programlisting>
- </section>
- </section>
-
- <section id="files-paragraph">
- <title>Files paragraph (Repeatable)</title>
- <para>
- The declaration of copyright and license for files is done in one or
- more paragraphs. In the simplest case, a single paragraph can be used
- which applies to all files and lists all applicable copyrights and
- licenses.
- </para>
-
- <section id="files-files-field">
- <title><varname>Files</varname></title>
- <para>
- Required white space separated list: list of patterns indicating files
- covered by the license and copyright specified in this paragraph.
- </para>
- <para>
- Filename patterns in the <varname>Files</varname> field are specified
- using a simplified shell glob syntax. Patterns are separated by white
- space.
- <itemizedlist>
- <listitem>
- <para>
- Only the wildcards <literal>*</literal> and <literal>?</literal>
- apply; the former matches any number of characters (including
- none), the latter a single character. Both match a slash
- (<literal>/</literal>) and a leading dot.
- </para>
- </listitem>
- <listitem>
- <para>
- Patterns match pathnames that start at the root of the source
- tree. Thus, <quote><filename>Makefile.in</filename></quote>
- matches only the file at the root of the tree, but
- <quote><filename>*/Makefile.in</filename></quote> matches at any
- depth.
- </para>
- </listitem>
- <listitem>
- <para>
- The backslash (<literal>\</literal>) is used to remove the magic
- from the next character; see table below.
- </para>
- </listitem>
- </itemizedlist>
- <informaltable>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Escape sequence</entry>
- <entry>Matches</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><literal>\*</literal></entry>
- <entry>star (asterisk)</entry>
- </row>
- <row>
- <entry><literal>\?</literal></entry>
- <entry>question mark</entry>
- </row>
- <row>
- <entry><literal>\\</literal></entry>
- <entry>backslash</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- Any other character following a backslash is an error.
- </para>
- <para>
- Multiple <varname>Files</varname> paragraphs are allowed. The last
- paragraph that matches a particular file applies to it.
- </para>
- <para>
- Exclusions are done by having multiple <varname>Files</varname>
- paragraphs.
- </para>
- </section>
-
- <section id="copyright-files-field">
- <title><varname>Copyright</varname></title>
- <para>
- Required line based list: one or more free-form copyright
- statement(s), one per line, that apply to the files matched by the
- above pattern. If a work has no copyright holder (i.e., it is in
- the public domain), that information should be recorded here.
- </para>
- <para>
- The <varname>Copyright</varname> field collects all relevant copyright
- notices for the files of this paragraph. Not all copyright notices
- may apply to every individual file, and years of publication for one
- copyright holder may be gathered together. For example, if file A
- has:
-<programlisting>Copyright 2008 John Smith
-Copyright 2009 Angela Watts</programlisting>
- and file B has:
-<programlisting>Copyright 2010 Angela Watts</programlisting>
- the <varname>Copyright</varname> field for a stanza
- covering both file A and file B need contain only:
-<programlisting>Copyright 2008 John Smith
-Copyright 2009, 2010 Angela Watts</programlisting>
- </para>
- <para>
- The <varname>Copyright</varname> field may contain the original
- copyright statement copied exactly (including the word
- <quote>Copyright</quote>), or it can shorten the text, as long
- as it does not sacrifice information. Examples in this specification
- use both forms.
- </para>
- </section>
-
- <section id="license-files-field">
- <title><varname>License</varname></title>
- <para>
- Required formatted text, with synopsis: licensing terms for the files
- listed in <varname>Files</varname> field for this paragraph.
- </para>
- <para>
- First line: an abbreviated name for the license, or expression
- giving alternatives (see <link linkend="license-short-name">Short
- names</link> section for a list of standard abbreviations). If there
- are licenses present in the package without a standard short name, an
- arbitrary short name may be assigned for these licenses. These
- arbitrary names are only guaranteed to be unique within a single
- copyright file.
- </para>
- <para>
- Remaining lines: if left blank here, the file
- <emphasis>must</emphasis> include a stand-alone
- <varname>License</varname> paragraph matching each license short
- name listed on the first line (see the <link
- linkend="stand-alone-license-paragraph">Standalone License
- Paragraph</link> section). Otherwise, this field should either
- include the full text of the license(s) or include a pointer to the
- license file under <filename>/usr/share/common-licenses</filename>.
- This field should include all text needed in order to fulfill both
- Debian Policy's requirement for including a copy of the software's
- distribution license (<ulink
- url="http://www.debian.org/doc/debian-policy/ch-docs#s-copyrightfile">12.5</ulink>),
- and any license requirements to include warranty disclaimers or other
- notices with the binary package.
- </para>
- </section>
-
- <section id="comment-files-field">
- <title><varname>Comment</varname></title>
- <para>
- Same as the <link linkend="comment-header-field">
- <varname>Comment</varname></link> field in the header paragraph.
- </para>
- </section>
-
- <section id="example-files-paragraph">
- <title>Example files paragraphs</title>
-<programlisting>Files: *
-Copyright: 1975-2010 Ulla Upstream
-License: GPL-2+
-
-Files: debian/*
-Copyright: 2010 Daniela Debianizer
-License: GPL-2+
-
-Files: debian/patches/fancy-feature
-Copyright: 2010 Daniela Debianizer
-License: GPL-3+
-
-Files: */*.1
-Copyright: 2010 Manuela Manpager
-License: GPL-2+</programlisting>
- <para>
- In this example, all files are copyright by the upstream and licensed
- under the GPL, version 2 or later, with three exceptions. All the
- Debian packaging files are copyright by the packager, and further one
- specific file providing a new feature is licensed differently.
- Finally, there are some manual pages added to the package, written by
- a third person.
- </para>
- </section>
- </section>
-
- <section id="stand-alone-license-paragraph">
- <title>Standalone License Paragraph (Optional, Repeatable)</title>
- <para>
- Where a set of files are dual (tri, etc) licensed, or when the same
- license occurs multiple times, you can use a single line
- <varname>License</varname> field and standalone
- <varname>License</varname> paragraphs to expand the license short names.
- </para>
- <example>
- <title>tri-licensed files</title>
-<programlisting>Files: src/js/editline/*
-Copyright: 1993, John Doe
- 1993, Joe Average
-License: MPL-1.1 or GPL-2 or LGPL-2.1
-
-License: MPL-1.1
- [LICENSE TEXT]
-
-License: GPL-2
- [LICENSE TEXT]
-
-License: LGPL-2.1
- [LICENSE TEXT]</programlisting>
- </example>
-
- <example>
- <title>recurrent license</title>
-<programlisting>Files: src/js/editline/*
-Copyright: 1993, John Doe
- 1993, Joe Average
-License: MPL-1.1
-
-Files: src/js/fdlibm/*
-Copyright: 1993, J-Random Corporation
-License: MPL-1.1
-
-License: MPL-1.1
- [LICENSE TEXT]</programlisting>
- </example>
- </section>
- </section>
-
- <section id="license-specification">
- <title>License specification</title>
-
- <section id="license-short-name">
- <title>Short name</title>
- <para>
- Much of the value of a machine-parseable copyright file lies in being
- able to correlate the licenses of multiple pieces of software. To that
- end, this spec defines standard short names for a number of commonly
- used licenses, which can be used in the first line of a
- <varname>License</varname> field.
- </para>
- <para>
- These short names have the specified meanings across all uses of this
- file format, and <emphasis>must not</emphasis> be used to refer to any
- other licenses. Parsers may thus rely on these short names referring to
- the same licenses wherever they occur, without needing to parse or
- compare the full license text.
- </para>
- <para>
- From time to time, licenses may be added to or removed from the list of
- standard short names. Such changes in the list of short names will
- always be accompanied by changes to the recommended
- <varname>Format</varname> value. Implementers who are parsing copyright
- files should take care not to assume anything about the meaning of
- license short names for unknown <varname>Format</varname> versions.
- </para>
- <para>
- Use of a standard short name does not override the Debian Policy
- requirement to include the full license text in
- <filename>debian/copyright</filename>, nor any requirements in the
- license of the work regarding reproduction of legal notices. This
- information must still be included in the <varname>License</varname>
- field, either in a stand-alone license paragraph or in the relevant
- files paragraph.
- </para>
- <para>
- For licenses which have multiple versions in use, the version number is
- added, using a dash as a separator. If omitted, the lowest version
- number is implied. When the license grant permits using the terms of any
- later version of that license, the short name is finished with a plus
- sign. For <link linkend="spdx">SPDX</link> compatibility, trailing
- <emphasis>dot-zeroes</emphasis> are considered to be equal to plainer
- version (e.g., <quote>2.0.0</quote> is considered equal to
- <quote>2.0</quote> and <quote>2</quote>).
- </para>
- <para>
- Currently, the full text of the licenses is only available in the <ulink
- url="http://spdx.org/licenses">SPDX Open Source License Registry</ulink>.
- </para>
- <informaltable>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Keyword</entry>
- <entry>Meaning</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>public-domain</entry>
- <entry>
- No license required for any purpose; the work is not subject to
- copyright in any jurisdiction.
- </entry>
- </row>
- <row>
- <entry>
- Apache
- </entry>
- <entry>
- Apache license
- <ulink url="http://spdx.org/licenses/Apache-1.0">1.0</ulink>,
- <ulink url="http://spdx.org/licenses/Apache-2.0">2.0</ulink>.
- </entry>
- </row>
- <row>
- <entry>
- Artistic
- </entry>
- <entry>
- Artistic license
- <ulink url="http://spdx.org/licenses/Artistic-1.0">1.0</ulink>,
- <ulink url="http://spdx.org/licenses/Artistic-2.0">2.0</ulink>.
- </entry>
- </row>
- <row>
- <entry>
- BSD-2-clause
- </entry>
- <entry>
- Berkeley software distribution license,
- <ulink url="http://spdx.org/licenses/BSD-2-Clause">2-clause
- version</ulink>.
- </entry>
- </row>
- <row>
- <entry>
- BSD-3-clause
- </entry>
- <entry>
- Berkeley software distribution license,
- <ulink url="http://spdx.org/licenses/BSD-3-Clause">3-clause
- version</ulink>.
- </entry>
- </row>
- <row>
- <entry>
- BSD-4-clause
- </entry>
- <entry>
- Berkeley software distribution license,
- <ulink url="http://spdx.org/licenses/BSD-4-Clause">4-clause
- version</ulink>.
- </entry>
- </row>
- <row>
- <entry>
- ISC
- </entry>
- <entry>
- <ulink url="http://spdx.org/licenses/ISC">Internet Software
- Consortium</ulink>, sometimes also known as the OpenBSD License.
- </entry>
- </row>
- <row>
- <entry>
- CC-BY
- </entry>
- <entry>
- Creative Commons Attribution license
- <ulink url="http://spdx.org/licenses/CC-BY-1.0">1.0</ulink>,
- <ulink url="http://spdx.org/licenses/CC-BY-2.0">2.0</ulink>,
- <ulink url="http://spdx.org/licenses/CC-BY-2.5">2.5</ulink>,
- <ulink url="http://spdx.org/licenses/CC-BY-3.0">3.0</ulink>.
- </entry>
- </row>
- <row>
- <entry>
- CC-BY-SA
- </entry>
- <entry>
- Creative Commons Attribution Share Alike license
- <ulink url="http://spdx.org/licenses/CC-BY-SA-1.0">1.0</ulink>,
- <ulink url="http://spdx.org/licenses/CC-BY-SA-2.0">2.0</ulink>,
- <ulink url="http://spdx.org/licenses/CC-BY-SA-2.5">2.5</ulink>,
- <ulink url="http://spdx.org/licenses/CC-BY-SA-3.0">3.0</ulink>.
- </entry>
- </row>
- <row>
- <entry>
- CC-BY-ND
- </entry>
- <entry>
- Creative Commons Attribution No Derivatives license
- <ulink url="http://spdx.org/licenses/CC-BY-ND-1.0">1.0</ulink>,
- <ulink url="http://spdx.org/licenses/CC-BY-ND-2.0">2.0</ulink>,
- <ulink url="http://spdx.org/licenses/CC-BY-ND-2.5">2.5</ulink>,
- <ulink url="http://spdx.org/licenses/CC-BY-ND-3.0">3.0</ulink>.
- </entry>
- </row>
- <row>
- <entry>
- CC-BY-NC
- </entry>
- <entry>
- Creative Commons Attribution Non-Commercial license
- <ulink url="http://spdx.org/licenses/CC-BY-NC-1.0">1.0</ulink>,
- <ulink url="http://spdx.org/licenses/CC-BY-NC-2.0">2.0</ulink>,
- <ulink url="http://spdx.org/licenses/CC-BY-NC-2.5">2.5</ulink>,
- <ulink url="http://spdx.org/licenses/CC-BY-NC-3.0">3.0</ulink>.
- </entry>
- </row>
- <row>
- <entry>
- CC-BY-NC-SA
- </entry>
- <entry>
- Creative Commons Attribution Non-Commercial Share Alike license
- <ulink url="http://spdx.org/licenses/CC-BY-NC-SA-1.0">1.0</ulink>,
- <ulink url="http://spdx.org/licenses/CC-BY-NC-SA-2.0">2.0</ulink>,
- <ulink url="http://spdx.org/licenses/CC-BY-NC-SA-2.5">2.5</ulink>,
- <ulink url="http://spdx.org/licenses/CC-BY-NC-SA-3.0">3.0</ulink>.
- </entry>
- </row>
- <row>
- <entry>
- CC-BY-NC-ND
- </entry>
- <entry>
- Creative Commons Attribution Non-Commercial No Derivatives license
- <ulink url="http://spdx.org/licenses/CC-BY-NC-ND-1.0">1.0</ulink>,
- <ulink url="http://spdx.org/licenses/CC-BY-NC-ND-2.0">2.0</ulink>,
- <ulink url="http://spdx.org/licenses/CC-BY-NC-ND-2.5">2.5</ulink>,
- <ulink url="http://spdx.org/licenses/CC-BY-NC-ND-3.0">3.0</ulink>.
- </entry>
- </row>
- <row>
- <entry>
- CC0
- </entry>
- <entry>
- Creative Commons Zero 1.0 Universal
- <ulink url="http://spdx.org/licenses/CC0-1.0">1.0</ulink>.
- </entry>
- </row>
- <row>
- <entry>
- CDDL
- </entry>
- <entry>
- Common Development and Distribution License
- <ulink url="http://spdx.org/licenses/CDDL-1.0">1.0</ulink>.
- </entry>
- </row>
- <row>
- <entry>
- CPL
- </entry>
- <entry>
- <ulink url="http://spdx.org/licenses/CPL-1.0">IBM Common Public
- License</ulink>.
- </entry>
- </row>
- <row>
- <entry>
- EFL
- </entry>
- <entry>
- The Eiffel Forum License
- <ulink url="http://spdx.org/licenses/EFL-1.0">1.0</ulink>,
- <ulink url="http://spdx.org/licenses/EFL-2.0">2.0</ulink>.
- </entry>
- </row>
- <row>
- <entry>
- Expat
- </entry>
- <entry>
- The <ulink url="http://www.jclark.com/xml/copying.txt">Expat</ulink>
- license.
- </entry>
- </row>
- <row>
- <entry>
- GPL
- </entry>
- <entry>
- GNU General Public License
- <ulink url="http://spdx.org/licenses/GPL-1.0">1.0</ulink>,
- <ulink url="http://spdx.org/licenses/GPL-2.0">2.0</ulink>,
- <ulink url="http://spdx.org/licenses/GPL-3.0">3.0</ulink>.
- </entry>
- </row>
- <row>
- <entry>
- LGPL
- </entry>
- <entry>
- GNU Lesser General Public License
- <ulink url="http://spdx.org/licenses/LGPL-2.1">2.1</ulink>,
- <ulink url="http://spdx.org/licenses/LGPL-3.0">3.0</ulink>, or
- GNU Library General Public License
- <ulink url="http://spdx.org/licenses/LGPL-2.0">2.0</ulink>.
- </entry>
- </row>
- <row>
- <entry>
- GFDL
- </entry>
- <entry>
- GNU Free Documentation License 1.0, or
- <ulink url="http://spdx.org/licenses/GFDL-1.1">1.1</ulink>.
- </entry>
- </row>
- <row>
- <entry>
- GFDL-NIV
- </entry>
- <entry>
- GNU Free Documentation License, with no invariant sections.
- </entry>
- </row>
- <row>
- <entry>
- LPPL
- </entry>
- <entry>
- <ulink url="http://www.latex-project.org/lppl/">LaTeX Project
- Public License</ulink>
- <ulink url="http://spdx.org/licenses/LPPL-1.0">1.0</ulink>,
- <ulink url="http://spdx.org/licenses/LPPL-1.1">1.1</ulink>,
- <ulink url="http://spdx.org/licenses/LPPL-1.2">1.2</ulink>,
- <ulink url="http://spdx.org/licenses/LPPL-1.3c">1.3c</ulink>.
- </entry>
- </row>
- <row>
- <entry>
- MPL
- </entry>
- <entry>
- Mozilla Public License
- <ulink url="http://spdx.org/licenses/MPL-1.1">1.1</ulink>.
- </entry>
- </row>
- <row>
- <entry>
- Perl
- </entry>
- <entry>
- <ulink url="http://dev.perl.org/licenses/">Perl</ulink> license
- (use <quote><literal>GPL-1+ or Artistic-1</literal></quote>
- instead).
- </entry>
- </row>
- <row>
- <entry>
- Python
- </entry>
- <entry>
- Python license
- <ulink url="http://spdx.org/licenses/Python-2.0">2.0</ulink>.
- </entry>
- <!-- See https://fossbazaar.org/pipermail/spdx-legal/2011-February/000010.html -->
- </row>
- <row>
- <entry>
- QPL
- </entry>
- <entry>
- Q Public License <ulink
- url="http://spdx.org/licenses/QPL-1.0">1.0</ulink>.
- </entry>
- </row>
- <row>
- <entry>
- W3C
- </entry>
- <entry>
- <ulink url="http://spdx.org/licenses/W3C">W3C Software
- License</ulink> For more information, consult the
- <ulink
- url="http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620">W3C
- Intellectual Rights FAQ</ulink>.
- </entry>
- </row>
- <row>
- <entry>
- Zlib
- </entry>
- <entry>
- <ulink url="http://spdx.org/licenses/Zlib">
- zlib/libpng license</ulink>.
- </entry>
- </row>
- <row>
- <entry>
- Zope
- </entry>
- <entry>
- Zope Public License 1.0,
- <ulink url="http://spdx.org/licenses/ZPL-1.1">1.1</ulink>,
- <ulink url="http://spdx.org/licenses/ZPL-2.0">2.0</ulink>,
- <ulink url="http://spdx.org/licenses/ZPL-2.1">2.1</ulink>.
- </entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- <para>
- There are <ulink
- url="http://en.wikipedia.org/wiki/MIT_License#Various_versions">many
- versions of the MIT license</ulink>. Please use Expat instead, when it
- matches.
- </para>
- <para>
- An exception or clarification to a license is signaled in plain text, by appending
- <literal>with <varname><replaceable>keywords</replaceable></varname>
- exception</literal> to the short name. This document provides a list of
- keywords that must be used when referring to the most frequent
- exceptions. When exceptions other than these are in effect that modify
- a common license by granting additional permissions, you may use an
- arbitrary keyword not taken from the below list of keywords. When a
- license differs from a common license because of added restrictions
- rather than because of added permissions, a distinct short name should
- be used instead of <literal>with
- <varname><replaceable>keywords</replaceable></varname>exception</literal>.
- </para>
- <para>
- Only one exception may be specified for each license within a given
- license specification. If more than one exception applies to a single
- license, an arbitrary short name must be used instead.
- </para>
- <para>
- The GPL <literal>Font</literal> exception refers to the text added to the
- license notice of each file as specified at <ulink
- url="http://www.gnu.org/licenses/gpl-faq#FontException">How does the GPL
- apply to fonts</ulink>. The precise text corresponding to this
- exception is:
-<programlisting>As a special exception, if you create a document which uses this font,
-and embed this font or unaltered portions of this font into the
-document, this font does not by itself cause the resulting document to
-be covered by the GNU General Public License. This exception does not
-however invalidate any other reasons why the document might be covered
-by the GNU General Public License. If you modify this font, you may
-extend this exception to your version of the font, but you are not
-obligated to do so. If you do not wish to do so, delete this exception
-statement from your version.</programlisting>
- </para>
- <para>
- The GPL <literal>OpenSSL</literal> exception gives permission to link GPL-licensed
-code with the OpenSSL library, which contains GPL-incompatible clauses.
-For more information, see <ulink
-url="http://www.gnome.org/~markmc/openssl-and-the-gpl">The -OpenSSL License and
-The GPL</ulink> by Mark
-McLoughlin and the message <ulink
-url="http://lists.debian.org/debian-legal/2004/05/msg00595.html">middleman
-software license conflicts with OpenSSL</ulink>
-by Mark McLoughlin on the <emphasis>debian-legal</emphasis> mailing list. The text corresponding
-to this exception is:
-<programlisting>In addition, as a special exception, the copyright holders give
-permission to link the code of portions of this program with the
-OpenSSL library under certain conditions as described in each
-individual source file, and distribute linked combinations including
-the two.
-
-You must obey the GNU General Public License in all respects for all
-of the code used other than OpenSSL. If you modify file(s) with this
-exception, you may extend this exception to your version of the
-file(s), but you are not obligated to do so. If you do not wish to do
-so, delete this exception statement from your version. If you delete
-this exception statement from all source files in the program, then
-also delete it here.</programlisting>
- </para>
-
- <section id="public-domain">
- <title>Public domain</title>
- <para>
- The <varname>License</varname> short name
- <literal>public-domain</literal> does not refer to a set of license
- terms. There are some works which are not subject to copyright in
- any jurisdiction and therefore no license is required for any
- purpose covered by copyright law. This short name is an explicit
- declaration that the associated files are <quote>in the public
- domain</quote>.
- </para>
- <para>
- Widespread misunderstanding about copyright in general, and the
- public domain in particular, results in the common assertion that a
- work is in the public domain when this is partly or wholly untrue
- for that work. The <ulink
- url="http://en.wikipedia.org/wiki/Public_domain">Wikipedia article
- on public domain</ulink> is a useful reference for this subject.
- </para>
- <para>
- When the <varname>License</varname> field in a paragraph has the
- short name <literal>public-domain</literal>, the remaining lines of
- the field <emphasis>must</emphasis> explain exactly what exemption
- the corresponding files for that paragraph have from default
- copyright restrictions.
- </para>
- </section>
- </section>
-
- <section id="license-syntax">
- <title>Syntax</title>
- <para>
- License names are case-insensitive, and may not contain spaces.
- </para>
- <para>
- In case of multi-licensing, the license short names are separated by
- <literal>or</literal> when the user can chose between different licenses,
- and by <literal>and</literal> when use of the work must simultaneously
- comply with the terms of multiple licenses.
- </para>
- <para>
- For instance, this is a simple, <quote>GPL version 2 or later</quote>
- field:
-<programlisting>License: GPL-2+</programlisting>
- This is a dual-licensed GPL/Artistic work such as Perl:
-<programlisting>License: GPL-1+ or Artistic</programlisting>
- This is for a file that has both GPL and classic BSD code in it:
-<programlisting>License: GPL-2+ and BSD</programlisting>
- For the most complex cases, the comma is used to disambiguate the
- priority of <literal>or</literal>s and <literal>and</literal>s
- <literal>and</literal> has the priority over <literal>or</literal>,
- unless preceded by a comma. For instance:
- </para>
- <simpara>
- <literal>A or B and C</literal> means <literal>A or (B and C)</literal>.
- </simpara>
- <simpara>
- <literal>A or B, and C</literal> means <literal>(A or B), and
- C</literal>.
- </simpara>
- <para>
- This is for a file that has Perl code and classic BSD code in it:
-<programlisting>License: GPL-2+ or Artistic-2.0, and BSD</programlisting>
- A <literal>GPL-2+</literal> work with the <literal>OpenSSL</literal>
- exception is in effect a dual-licensed work that can be redistributed
- either under the <literal>GPL-2+</literal>, or under the
- <literal>GPL-2+</literal> with the <literal>OpenSSL</literal> exception.
- It is thus expressed as <literal>GPL-2+ with OpenSSL
- exception</literal>:
-<programlisting>License: GPL-2+ with OpenSSL exception
- This program is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later
- version.
- .
- In addition, as a special exception, the author of this
- program gives permission to link the code of its
- release with the OpenSSL project's "OpenSSL" library (or
- with modified versions of it that use the same license as
- the "OpenSSL" library), and distribute the linked
- executables. You must obey the GNU General Public
- License in all respects for all of the code used other
- than "OpenSSL". If you modify this file, you may extend
- this exception to your version of the file, but you are
- not obligated to do so. If you do not wish to do so,
- delete this exception statement from your version.
- .
- This program is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied
- warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- PURPOSE. See the GNU General Public License for more
- details.
- .
- You should have received a copy of the GNU General Public
- License along with this package; if not, write to the Free
- Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- Boston, MA 02110-1301 USA
- .
- On Debian systems, the full text of the GNU General Public
- License version 2 can be found in the file
- `/usr/share/common-licenses/GPL-2'.</programlisting>
- </para>
- </section>
-
- <section id="spdx">
- <title>SPDX</title>
- <para>
- <ulink url="http://spdx.org/">SPDX</ulink> is an attempt to standardize
- a format for communicating the components, licenses and copyrights
- associated with a software package. It and the machine-readable
- <filename>debian/copyright</filename> format attempt to be somewhat
- compatible. However, the two formats have different aims, and so the
- formats are different. The <ulink
- url="http://wiki.debian.org/Proposals/CopyrightFormat">DEP5 wiki
- page</ulink> will be used to track the differences.
- </para>
- </section>
- </section>
-
- <section id="examples">
- <title>Examples</title>
- <example>
- <title>Simple</title>
- <para>
- A possible <filename>debian/copyright</filename> file for the program
- <quote>X Solitaire</quote> distributed in the Debian source package
- <literal>xsol</literal>:
-<programlisting><![CDATA[Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
-Upstream-Name: X Solitaire
-Source: ftp://ftp.example.com/pub/games
-
-Files: *
-Copyright: Copyright 1998 John Doe <jdoe@example.com>
-License: GPL-2+
- This program is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later
- version.
- .
- This program is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied
- warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- PURPOSE. See the GNU General Public License for more
- details.
- .
- You should have received a copy of the GNU General Public
- License along with this package; if not, write to the Free
- Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- Boston, MA 02110-1301 USA
- .
- On Debian systems, the full text of the GNU General Public
- License version 2 can be found in the file
- `/usr/share/common-licenses/GPL-2'.
-
-Files: debian/*
-Copyright: Copyright 1998 Jane Smith <jsmith@example.net>
-License: GPL-2+
- [LICENSE TEXT]]]></programlisting>
- </para>
- </example>
-
- <example>
- <title>Complex</title>
- <para>
- A possible <filename>debian/copyright</filename> file for the program
- <quote>Planet Venus</quote>, distributed in the Debian source
- package <literal>planet-venus</literal>:
-<programlisting><![CDATA[Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
-Upstream-Name: Planet Venus
-Upstream-Contact: John Doe <jdoe@example.com>
-Source: http://www.example.com/code/venus
-
-Files: *
-Copyright: 2008, John Doe <jdoe@example.com>
- 2007, Jane Smith <jsmith@example.org>
- 2007, Joe Average <joe@example.org>
- 2007, J. Random User <jr@users.example.com>
-License: PSF-2
- [LICENSE TEXT]
-
-Files: debian/*
-Copyright: 2008, Dan Developer <dan@debian.example.com>
-License: permissive
- Copying and distribution of this package, with or without
- modification, are permitted in any medium without royalty
- provided the copyright notice and this notice are
- preserved.
-
-Files: debian/patches/theme-diveintomark.patch
-Copyright: 2008, Joe Hacker <hack@example.org>
-License: GPL-2+
- [LICENSE TEXT]
-
-Files: planet/vendor/compat_logging/*
-Copyright: 2002, Mark Smith <msmith@example.org>
-License: MIT
- [LICENSE TEXT]
-
-Files: planet/vendor/httplib2/*
-Copyright: 2006, John Brown <brown@example.org>
-License: MIT2
- Unspecified MIT style license.
-
-Files: planet/vendor/feedparser.py
-Copyright: 2007, Mike Smith <mike@example.org>
-License: PSF-2
- [LICENSE TEXT]
-
-Files: planet/vendor/htmltmpl.py
-Copyright: 2004, Thomas Brown <coder@example.org>
-License: GPL-2+
- This program is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later
- version.
- .
- This program is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied
- warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- PURPOSE. See the GNU General Public License for more
- details.
- .
- You should have received a copy of the GNU General Public
- License along with this package; if not, write to the Free
- Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- Boston, MA 02110-1301 USA
- .
- On Debian systems, the full text of the GNU General Public
- License version 2 can be found in the file
- `/usr/share/common-licenses/GPL-2'.]]></programlisting>
- </para>
- </example>
- </section>
-
-</article>
<!ENTITY command_list SYSTEM "include/commands.xml">
<!ENTITY priority_table SYSTEM "include/priorities.xml">
<!ENTITY type_table SYSTEM "include/types.xml">
+<!ENTITY % versiondata SYSTEM "include/version.xml"> %versiondata;
]>
<article>
<articleinfo>
<title>Configuration management</title>
<subtitle>Protocol version 2.1</subtitle>
- <releaseinfo>Revision 7.1</releaseinfo>
+ <releaseinfo>Revision 7.1, Debian Policy &version;, &date;</releaseinfo>
<author>
- <firstname>
- Wichert
- </firstname>
- <surname>
- Akkerman
- </surname>
+ <firstname>Wichert</firstname>
+ <surname>Akkerman</surname>
<affiliation>
- <orgname>
- The Debian Project
- </orgname>
+ <orgname>The Debian Project</orgname>
<address><email>wakkerma@debian.org</email></address>
</affiliation>
</author>
<author>
- <firstname>
- Joey
- </firstname>
- <surname>
- Hess
- </surname>
+ <firstname>Joey</firstname>
+ <surname>Hess</surname>
<affiliation>
- <orgname>
- The Debian Project
- </orgname>
+ <orgname>The Debian Project</orgname>
<address><email>joeyh@debian.org</email></address>
</affiliation>
</author>
<copyright>
- <year>
- 1998
- </year>
- <year>
- 1999
- </year>
- <year>
- 2000
- </year>
- <holder>
- Wichert Akkerman and Joey Hess
- </holder>
+ <year>1998</year>
+ <year>1999</year>
+ <year>2000</year>
+ <holder>Wichert Akkerman and Joey Hess</holder>
</copyright>
<legalnotice>
<para>
-debian-policy (3.9.3.0) UNRELEASED; urgency=low
+debian-policy (3.9.3.1) unstable; urgency=low
+
+ * Fix cross-reference to control field syntax in Policy 5.4 (source
+ package control files). Thanks, Jakub Wilk. (Closes: #661412)
+ * Additional wording improvements to copyright-format 1.0 for clarity.
+ Also mention that the Files pattern syntax is the same as fnmatch(3)
+ and GNU find -path without [] patterns. Thanks, Jonathan Nieder and
+ Ben Finney.
+ * Suggest checkbashisms from devscripts or the posh shell for checking
+ whether /bin/sh scripts are Policy-compliant rather than recommending
+ dash. Thanks, Raphael Geissert. (Closes: #490604)
+ * Remove the ambiguous word "installed" when requiring that the location
+ of files and directories follow the FHS. (Closes: #638060)
+ * Clarify the syntax of field names to make it clear that they may not
+ contain spaces. Thanks, Charles Plessy. (Closes: #647645)
+ * Clarify that only one of build-arch or build-indep may be provided
+ (currently, at least) and that build should depend on whichever exist
+ or perform the equivalent actions. Thanks to Jonathan Nieder for some
+ of the wording. (Closes: #601839)
+ * Clearly state that "yes" is the only valid value of DM-Upload-Allowed
+ and rewrite its description to be less indirect. (Closes: #622263)
+ * Update the dpkg-buildpackage -r documentation in the appendix to
+ reflect the current behavior of using fakeroot. Wording from Sam
+ Morris. (Closes: #658009)
+ * Fix the legal notice in copyright-format to not refer to a nonexistent
+ copyright notice.
+ * Embed the Debian Policy version and build date in the debconf
+ specification and the copyright-format document. We'll make
+ non-normative changes without updating other version numbers, and it's
+ good to know which version one is looking at.
+ * Fix some whitespace issues in the debconf specification articleinfo.
+ * Install the HTML version of upgrading-checklist in the policy.html
+ directory as upgrading-checklist.html so that it can be deployed on
+ www.debian.org in a way that will allow links to Policy sections to
+ work easily. Thanks, Charles Plessy. (Partly addresses #639663)
+ * Ship the copyright-format source as copyright-format.xml.tar.gz
+ without a version, since it will include all of the versions, not just
+ the current version.
+ * Fix mistaken word choice (prefix instead of suffix) in the upgrading
+ checklist entry for 3.9.3.0.
+ * Add some missing entries to the virtual package names list changelog.
+ * Expand package long description to include all documents.
+ * Remove unused substitution variable generated by the build. Thanks,
+ Charles Plessy.
+ * Strip down and reformat debian/rules to remove unused variables,
+ references to old files no longer included, use a more standard
+ layout and standardize variable names, and add comments for better
+ maintainability.
+ * Convert debian/copyright to copyright-format 1.0, and in the process
+ add the license information for the documents other than Policy itself
+ and the FHS. Note the implication of the GPL source code requirement
+ for distributing generated versions of the Policy documents.
+
+ -- Russ Allbery <rra@debian.org> Sun, 04 Mar 2012 15:02:12 -0800
+
+debian-policy (3.9.3.0) unstable; urgency=low
[ Russ Allbery ]
+ * Update the copyright format document to the version of DEP-5 from the
+ DEP web site and apply additional changes from subsequent discussion
+ in debian-devel and debian-project. Revise for clarity, to add more
+ examples, and to update the GFDL license versions. Thanks, Steve
+ Langasek, Charles Plessy, Justin B Rye, and Jonathan Nieder.
+ (Closes: #658209, #648387)
+ * Publish the copyright format specification as copyright-format-1.0 so
+ that later versions can be added without removing previous versions of
+ the standard. Patch from Charles Plessy. (Closes: #646119)
* Policy: Improve Architecture field in source package
Wording: Raphaël Hertzog <hertzog@debian.org>
Seconded: Russ Allbery <rra@debian.org>
when eventually published somewhere, other Debian web sites can link
to specific entries. Patch from Charles Plessy.
* Add AGPL-3 to tools/license-count.
+ * Update tools/license-count to work with the new Lintian lab layout.
* Add build-arch and build-indep targets to debian/rules.
[ Bill Allombert ]
Seconded: Charles Plessy <plessy@debian.org>
Seconded: Bill Allombert <ballombe@debian.org>
Closes: #644230
+ * Virtual: Retire java-compiler, java2-compiler, and java-virtual-machine.
+ Proposed by: Niels Thykier <niels@thykier.net>
+ Seconded: tony mancill <tmancill@debian.org>
+ Seconded: Bill Allombert <ballombe@debian.org>
+ Closes: #578421
* Policy 9.10: No more recommend to call install-docs for doc-base.
Wording: Charles Plessy <plessy@debian.org>
Seconded: Robert Luberda <robert@debian.org>
Seconded: Raphael Hertzog <hertzog@debian.org>
Closes: #637614
- -- Bill Allombert <ballombe@debian.org> Wed, 30 Nov 2011 22:27:54 +0100
+ -- Russ Allbery <rra@debian.org> Wed, 22 Feb 2012 19:40:36 -0800
debian-policy (3.9.2.0) unstable; urgency=low
Russ Allbery <rra@debian.org>,
Colin Watson <cjwatson@debian.org>,
Bill Allombert <ballombe@debian.org>
-Standards-Version: 3.9.2
+Standards-Version: 3.9.3
Build-Depends: bsdmainutils, debiandoc-sgml (>= 1.1.47), docbook-dsssl,
docbook-xml, emacs23, groff, jade, links | elinks, pstoedit, sgml-data,
texlive, texlive-latex-extra, tidy
This package contains:
- Debian Policy Manual
- Filesystem Hierarchy Standard (FHS)
+ - Debian Menu sub-policy
+ - Debian Perl sub-policy
+ - Debian configuration management specification
+ - Machine-readable debian/copyright specification
- Authoritative list of virtual package names
- - Paper about libc6 migration
- Policy checklist for upgrading your packages
+ - Paper about libc6 migration
It also replaces the old Packaging Manual; most of the still-relevant
content is now included as appendices to the Policy Manual.
-This is the Debian package of Debian Policy Manual, the Filesystem
-Hierarchy Standard, the Linux Filesystem Standard and related
-documents. It was originally assembled by Christian Schwarz and is now
-maintained by the Debian Policy Group
-<debian-policy@lists.debian.org>.
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Source: The FHS documents were downloaded from <http://www.pathname.com/fhs/>
+Comment: Complete copyright notices for all contributors to the various
+ documents included in this package have not been comprehensively tracked.
+ A somewhat incomplete list of contributors can be found in the credited
+ contributors in debian/copyright, but it is likely that some are missing.
-The FHS documents were downloaded from
-http://www.pathname.com/fhs/.
+Files: *
+Copyright: 1996, 1997, 1998, Ian Jackson and Christian Schwarz
+ 1999, Software in the Public Interest, Inc.
+ 1999-2012, many other Debian contributors
+License: GPL-2+
-------------------------------------------------------------------------------
+Files: copyright-format/*
+Copyright: 2007-2012, many Debian contributors
+License: preserve-notice
+ Copying and distribution of this file, with or without modification, are
+ permitted in any medium without royalty provided this notice is
+ preserved.
-Copyright of the Debian Policy Manual:
+Files: debconf_spec/*
+Copyright: 1998, 1998, 2000, Wichert Akkerman and Joey Hess
+ 2000-2012, many other Debian contributors
+License: BSD-3-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+ .
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ 3. Neither the name of the Debian Project nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+ IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-Copyright (C) 1996 Ian Jackson.
+Files: fhs-2.3*
+Copyright: 1994-2004, Daniel Quinlan
+ 2001-2004 Paul 'Rusty' Russell
+ 2003-2004 Christopher Yeoh
+License: FHS
+ Permission is granted to make and distribute verbatim copies of this
+ standard provided the copyright and this permission notice are preserved
+ on all copies.
+ .
+ Permission is granted to copy and distribute modified versions of this
+ standard under the conditions for verbatim copying, provided also that
+ the title page is labeled as modified including a reference to the
+ original standard, provided that information on retrieving the original
+ standard is included, and provided that the entire resulting derived work
+ is distributed under the terms of a permission notice identical to this
+ one.
+ .
+ Permission is granted to copy and distribute translations of this
+ standard into another language, under the above conditions for modified
+ versions, except that this permission notice may be stated in a
+ translation approved by the copyright holder.
-This manual is free software; you may redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option) any
-later version.
-
-This is distributed in the hope that it will be useful, but without
-any warranty; without even the implied warranty of merchantability or
-fitness for a particular purpose. See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License with
-your Debian system, in /usr/share/common-licenses/GPL-2, or
-with the dpkg source package as the file COPYING. If not, write to the
-Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
-MA 02110-1301 USA
-
-------------------------------------------------------------------------------
-
-Copyright of the Filesystem Hierarchy Standard (FHS)
-
-Copyright © 1994-2004 Daniel Quinlan
-Copyright © 2001-2004 Paul 'Rusty' Russell
-Copyright © 2003-2004 Christopher Yeoh
-
-Permission is granted to make and distribute verbatim copies of this
-standard provided the copyright and this permission notice are preserved
-on all copies.
-
-Permission is granted to copy and distribute modified versions of this
-standard under the conditions for verbatim copying, provided also that
-the title page is labeled as modified including a reference to the
-original standard, provided that information on retrieving the original
-standard is included, and provided that the entire resulting derived
-work is distributed under the terms of a permission notice identical to
-this one.
-
-Permission is granted to copy and distribute translations of this
-standard into another language, under the above conditions for modified
-versions, except that this permission notice may be stated in a
-translation approved by the copyright holder.
+License: GPL-2+
+ This manual is free software; you may redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2, or (at your option) any later
+ version.
+ .
+ This is distributed in the hope that it will be useful, but without any
+ warranty; without even the implied warranty of merchantability or fitness
+ for a particular purpose. See the GNU General Public License for more
+ details.
+ .
+ A copy of the GNU General Public License version 2 is available as
+ /usr/share/common-licenses/GPL-2 in the Debian distribution or on the
+ World Wide Web at <http://www.gnu.org/copyleft/gpl.html>. You can also
+ obtain it by writing to the Free Software Foundation, Inc., 51 Franklin
+ St, Fifth Floor, Boston, MA 02110-1301, USA.
+Comment: Be aware that the GNU General Public License as applied to
+ standards documents requires distribution or availability of the SGML
+ source when a generated (such as HTML or text) version of the document is
+ distributed. This is the same as with the source code of software but is
+ sometimes surprising for text documents.
#!/usr/bin/make -f
-ifdef ARCH
- ha:=-a$(ARCH)
-endif
-
-# set the dpkg-architecture vars; but we don't use them, so we'll comment out
-export DEB_BUILD_ARCH ?= $(shell dpkg-architecture $(ha) -qDEB_BUILD_ARCH)
-export DEB_BUILD_GNU_CPU ?= $(shell dpkg-architecture $(ha) -qDEB_BUILD_GNU_CPU)
-export DEB_BUILD_GNU_SYSTEM?= $(shell dpkg-architecture $(ha) -qDEB_BUILD_GNU_SYSTEM)
-export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture $(ha) -qDEB_BUILD_GNU_TYPE)
-export DEB_HOST_ARCH ?= $(shell dpkg-architecture $(ha) -qDEB_HOST_ARCH)
-export DEB_HOST_GNU_CPU ?= $(shell dpkg-architecture $(ha) -qDEB_HOST_GNU_CPU)
-export DEB_HOST_GNU_SYSTEM ?= $(shell dpkg-architecture $(ha) -qDEB_HOST_GNU_SYSTEM)
-export DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture $(ha) -qDEB_HOST_GNU_TYPE)
-
-arch := $(shell dpkg --print-architecture)
-
-# Basic information
+# Basic package information.
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)
+version := $(shell dpkg-parsechangelog | awk '/^Version:/ { print $$2; exit }')
# Currently, emacs23 is required (xemacs is not sufficient).
EMACS := emacs23
-# Location of the source dir
-SRCTOP := $(CURDIR)
-TMPTOP := $(SRCTOP)/debian/tmp
-DOCDIR := $(TMPTOP)/usr/share/doc/$(package)
-LIBDIR := $(TMPTOP)/usr/share/doc-base
-
-sanitycheck := debian/rules policy.sgml
-
-SGML_FILES := policy menu-policy perl-policy upgrading-checklist
-DESC_FILES := copyright-format debian-policy debian-menu-policy \
- debian-perl-policy debconf-spec fhs
-
-# While we have two versions of the FHS installed in the source package,
-# we need to modify this to handle it. This is the easiest way to do it.
-# FHS_ARCHIVE := $(wildcard fhs*.tar.gz)
-FHS_ARCHIVE := fhs-2.3-source.tar.gz
-FHS_HTML := fhs-2.3.html
-FHS_FILES := fhs-2.3.ps.gz fhs-2.3.txt.gz fhs-2.3.pdf.gz
-FHS_NEW_ARCHIVE :=
-FHS_NEW_HTML :=
-FHS_NEW_FILES :=
-
-POLICY_FILES = $(SGML_FILES:=.sgml) $(SGML_FILES:=.txt.gz) \
- virtual-package-names-list.txt \
- libc6-migration.txt version.ent \
- copyright-format/copyright-format.html \
- copyright-format/copyright-format.txt.gz \
- debconf_spec/debconf_specification.html \
- debconf_spec/debconf_specification.txt.gz \
- policy.ps.gz policy.pdf.gz README.txt README.html \
- Process.txt Process.html
-
-FILES_FROM_ORG := Process.html Process.txt README.txt README.html
-
-# policy.{pdf,ps,tpt,txt} are generated files
-FILES_TO_CLEAN = copyright-format.xml.tar.gz \
- debian/files debian/buildinfo debian/substvars \
- debian/postinst debian/prerm \
- version.ent \
- $(SGML_FILES:=.txt.gz) $(SGML_FILES:=.html.tar.gz) \
- $(SGML_FILES:=-1.html) \
- policy.pdf.gz policy.ps.gz \
- debconf_specification.xml.tar.gz \
- policy.pdf policy.ps policy.txt policy. \
- body.tmp head.tmp policy.tpt \
- $(FILES_FROM_ORG)
-
-STAMPS_TO_CLEAN := stamp-policy stamp-build
-DIRS_TO_CLEAN := debian/tmp fhs $(SGML_FILES:=.html)
-
-
-install_file := install -p -o root -g root -m 644
-install_program := install -p -o root -g root -m 755
-make_directory := install -p -d -o root -g root -m 755
+# Location of the source and build directories.
+SRCTOP := $(CURDIR)
+TMPTOP := $(SRCTOP)/debian/tmp
+DOCDIR := $(TMPTOP)/usr/share/doc/$(package)
+LIBDIR := $(TMPTOP)/usr/share/doc-base
+
+# SGML source files in the top-level directory. We do some common actions
+# with each of these: validate, build text, HTML, and one-page HTML output,
+# and generate a tarball of the source.
+SGML_FILES := policy menu-policy perl-policy upgrading-checklist
+
+# org-mode source files in the top-level directory. We generate text and
+# HTML versions from these.
+ORG_FILES := Process README
+
+# doc-base description files for the documents we include.
+DESC_FILES := copyright-format-1.0 debian-policy debian-menu-policy \
+ debian-perl-policy debconf-spec fhs
+
+# Our local copy of the File Hierarchy Standard. We don't build this from
+# source, but we do have a copy of the source in FHS_ARCHIVE.
+FHS_ARCHIVE := fhs-2.3-source.tar.gz
+FHS_FILES := fhs-2.3.html fhs-2.3.ps.gz fhs-2.3.txt.gz fhs-2.3.pdf.gz
+
+# A list of the simple Policy files that we include in the documentation
+# directory of the generated package. The tarballs of source are handled
+# separately, as are the directories of HTML output.
+POLICY_FILES := $(SGML_FILES:=.sgml) $(SGML_FILES:=.txt.gz) \
+ $(SGML_FILES:=-1.html) version.ent \
+ virtual-package-names-list.txt libc6-migration.txt \
+ copyright-format/copyright-format-1.0.html \
+ copyright-format/copyright-format-1.0.txt.gz \
+ debconf_spec/debconf_specification.html \
+ debconf_spec/debconf_specification.txt.gz \
+ policy.ps.gz policy.pdf.gz README.txt README.html \
+ Process.txt Process.html
+
+# Used by the clean rules. STAMPS_TO_CLEAN are the stamp files used to tell
+# make that a target has completed, and are removed first. FILES_TO_CLEAN
+# are individual generated files to remove. DIRS_TO_CLEAN are entire
+# directories to remove.
+STAMPS_TO_CLEAN := stamp-binary stamp-build
+DIRS_TO_CLEAN := $(SGML_FILES:=.html) debian/tmp fhs
+FILES_TO_CLEAN := $(SGML_FILES:=.txt) $(SGML_FILES:=.txt.gz) \
+ $(SGML_FILES:=.html.tar.gz) $(SGML_FILES:=-1.html) \
+ $(ORG_FILES:=.html) $(ORG_FILES:=.txt) \
+ policy.pdf.gz policy.ps.gz \
+ policy.pdf policy.ps policy.tpt policy.txt \
+ copyright-format/version.xml \
+ debconf_spec/include/version.xml version.ent \
+ copyright-format.xml.tar.gz \
+ debconf_specification.xml.tar.gz \
+ debian/files
+
+# Install files and directories with the correct ownership and permissions.
+install := install -p -o root -g root -m 644
+mkdir := install -d -o root -g root -m 755
all build build-indep: stamp-build
build-arch:
-stamp-build: version.ent $(sanitycheck)
+stamp-build: version.ent copyright-format/version.xml \
+ debconf_spec/include/version.xml
$(MAKE) $(SGML_FILES:=.sgml.validate) \
$(SGML_FILES:=.html.tar.gz) \
$(SGML_FILES:=-1.html) \
$(SGML_FILES:=.txt.gz) \
policy.ps.gz policy.pdf.gz
- $(MAKE) $(FILES_FROM_ORG)
+ $(MAKE) $(ORG_FILES:=.html) \
+ $(ORG_FILES:=.txt)
$(MAKE) -C copyright-format all
$(MAKE) -C debconf_spec all
+ GZIP=-9 cd copyright-format && \
+ tar -zcf ../copyright-format.xml.tar.gz *
+ GZIP=-9 cd debconf_spec && \
+ tar -zcf ../debconf_specification.xml.tar.gz *
touch stamp-build
-configure: version.ent
+# Create the version files for inclusion in the various documents. We want
+# to put the Policy version and date in each document, even if they
+# separately have their own versions.
+configure: version.ent copyright-format/version.xml \
+ debconf_spec/include/version.xml
version.ent: debian/changelog
rm -f $@
echo "<!entity version \"$(version)\">" >> $@
echo "<!entity date \"$(date)\">" >> $@
+copyright-format/version.xml: debian/changelog
+ rm -f $@
+ echo '<?xml version="1.0" standalone="no"?>' > $@
+ echo '<!ENTITY version "$(version)">' >> $@
+ echo '<!ENTITY date "$(date)">' >> $@
+debconf_spec/include/version.xml: debian/changelog
+ rm -f $@
+ echo '<?xml version="1.0" standalone="no"?>' > $@
+ echo '<!ENTITY version "$(version)">' >> $@
+ echo '<!ENTITY date "$(date)">' >> $@
-clean: $(sanitycheck)
-# Undoes the effect of `make -f debian/rules build'.
+clean:
+ rm -f $(STAMPS_TO_CLEAN)
$(MAKE) -C copyright-format clean
$(MAKE) -C debconf_spec clean
- rm -f $(FILES_TO_CLEAN) $(STAMPS_TO_CLEAN)
+ rm -f $(FILES_TO_CLEAN)
rm -rf $(DIRS_TO_CLEAN)
- rm -f core `find . \( -name '*.orig' -o -name '*.rej' -o \
- -name '*~' -o -name '*.bak' -o -name '#*#' -o \
- -name '.*.orig' -o -name '.*.rej' -o -name '.SUMS' -o \
+ rm -f core `find . \( -name '*.orig' -o -name '*.rej' -o \
+ -name '*~' -o -name '*.bak' -o -name '#*#' -o \
+ -name '.*.orig' -o -name '.*.rej' -o -name '.SUMS' -o \
-size 0 \) -print` TAGS
-binary: binary-indep binary-arch
-binary-arch: build $(sanitycheck)
-# There are no architecture-dependent files to be uploaded
-# generated by this package. If there were any they would be
-# made here.
-
-binary-indep: stamp-policy
-stamp-policy: build $(sanitycheck)
- @test $$(id | sed -e 's/(.*$$//' -e 's/^uid=//') || \
- (echo need root priviledges; exit 1)
-# This is unnecessary; commenting out
-# test -f stamp-build || $(MAKE) -f debian/rules build
- rm -rf $(TMPTOP)
- $(make_directory) $(TMPTOP)/DEBIAN
- $(make_directory) $(DOCDIR)/fhs
- $(make_directory) $(LIBDIR)
- # create a substvar to reference from debian/control so that
- # we don't hardcode the policy compliance of the policy
- # package. I guess some might question this but I take it as
- # a given that the debian-policy pkg must always comply with
- # itself...
- echo "debian-policy:Version=$(version)" > debian/substvars
- $(install_file) $(POLICY_FILES) $(DOCDIR)/
- $(install_file) debian/changelog $(DOCDIR)/
- # Be more specific with file compression
- gzip -f9 $(DOCDIR)/*.txt $(DOCDIR)/*.sgml \
- $(DOCDIR)/changelog
-# These are allready compressed
- #$(install_file) $(FHS_NEW_FILES) $(DOCDIR)/fhs/
- $(install_file) $(FHS_FILES) $(DOCDIR)/fhs/
- $(install_file) debian/copyright $(DOCDIR)/
- GZIP=-9 cd copyright-format && \
- tar -zcf ../copyright-format.xml.tar.gz *
- $(install_file) copyright-format.xml.tar.gz $(DOCDIR)/
- @set -ex; \
- GZIP=-9 cd debconf_spec && \
- tar -zcf ../debconf_specification.xml.tar.gz *
- $(install_file) debconf_specification.xml.tar.gz $(DOCDIR)/
- @set -ex; \
- for file in $(DESC_FILES); do \
- $(install_file) $$file.desc $(LIBDIR)/$$file; \
- done
- @set -ex; \
- for file in $(SGML_FILES); do \
- tar -C $(DOCDIR) -zxf $$file.html.tar.gz; \
+binary: binary-indep binary-arch
+binary-arch:
+binary-indep: stamp-binary
+stamp-binary: stamp-build
+ @test $$(id | sed -e 's/(.*$$//' -e 's/^uid=//') -eq 0 || \
+ (echo 'You must run this as root (or use fakeroot)' >&2; exit 1)
+ rm -rf $(TMPTOP)
+ $(mkdir) $(TMPTOP)/DEBIAN
+ $(mkdir) $(DOCDIR)/fhs
+ $(mkdir) $(LIBDIR)
+#
+# Install simple files.
+#
+ $(install) $(POLICY_FILES) $(DOCDIR)/
+ $(install) $(FHS_FILES) $(DOCDIR)/fhs/
+ $(install) debian/changelog $(DOCDIR)/
+ $(install) debian/copyright $(DOCDIR)/
+#
+# Install DocBook XML source.
+#
+ $(install) copyright-format.xml.tar.gz $(DOCDIR)/
+ $(install) debconf_specification.xml.tar.gz $(DOCDIR)/
+#
+# Install generated HTML directories.
+#
+ @set -ex; for file in $(SGML_FILES); do \
+ tar -C $(DOCDIR) -zxf $$file.html.tar.gz; \
done
- for file in $(SGML_FILES); do \
- $(install_file) $${file}-1.html $(DOCDIR); \
+#
+# Make upgrading-checklist-1.html a symlink to the copy in the policy.html
+# directory. This is temporary until it becomes a proper appendix.
+#
+ rm -f $(DOCDIR)/upgrading-checklist-1.html
+ ln -s policy.html/upgrading-checklist.html \
+ $(DOCDIR)/upgrading-checklist-1.html
+#
+# Install doc-base files.
+#
+ @set -ex; for file in $(DESC_FILES); do \
+ $(install) $$file.desc $(LIBDIR)/$$file; \
done
- $(install_file) $(FHS_HTML) $(DOCDIR)/fhs
- @set -ex; \
- cd debian/tmp; \
- find . -path "./DEBIAN" -prune -o -type f -printf '%P\0' \
- | xargs -r0 md5sum > DEBIAN/md5sums
- dpkg-gencontrol -p$(package) -Pdebian/tmp -isp
- chown -R root:root debian/tmp
- chmod -R go=rX debian/tmp
- dpkg --build debian/tmp ..
- touch stamp-policy
-
-
-.PHONY: configure build build-arch build-indep binary binary-arch
-.PHONY: binary-indep clean checkroot
-
-#Local variables:
-#mode: makefile
-#End:
+#
+# Compress files and build MD5 checksums.
+#
+ gzip -f9 $(DOCDIR)/*.txt $(DOCDIR)/*.sgml $(DOCDIR)/changelog
+ @set -ex; cd debian/tmp; \
+ find . -path './DEBIAN' -prune -o -type f -printf '%P\0' \
+ | xargs -r0 md5sum > DEBIAN/md5sums
+#
+# Build the package.
+#
+ dpkg-gencontrol -p$(package) -Pdebian/tmp -isp
+ chown -R root:root debian/tmp
+ chmod -R go=rX debian/tmp
+ dpkg --build debian/tmp ..
+ touch stamp-binary
+
+
+.PHONY: all configure build build-arch build-indep binary binary-arch
+.PHONY: binary-indep clean
<tt><url name="/doc/developers-reference/"
id="http://www.debian.org/doc/developers-reference/"></tt>.
</p>
+
+ <p>
+ Finally, a <qref id="copyrightformat">specification for
+ machine-readable copyright files</qref> is maintained as part of
+ the <package>debian-policy</package> package using the same
+ procedure as the other policy documents. Use of this format is
+ optional.
+ </p>
</sect>
<sect id="definitions">
</tag>
<item>
<p>
- A package may also provide both of the targets
+ A package may also provide one or both of the targets
<tt>build-arch</tt> and <tt>build-indep</tt>.
The <tt>build-arch</tt> target, if provided, should
perform all the configuration and compilation required for
architecture-independent binary packages (those packages
for which the body of the <tt>Architecture</tt> field
in <tt>debian/control</tt> is <tt>all</tt>).
- The <tt>build</tt> target should depend on those of the
- targets <tt>build-arch</tt> and <tt>build-indep</tt> that
- are provided in the rules file.<footnote>
+ </p>
+
+ <p>
+ If <tt>build-arch</tt> or <tt>build-indep</tt> targets are
+ provided in the rules file, the <tt>build</tt> target
+ should either depend on those targets or take the same
+ actions as invoking those targets would perform.<footnote>
The intent of this split is so that binary-only builds
need not install the dependencies required for
the <tt>build-indep</tt> target. However, this is not
</p>
<p>
- Each paragraph consists of a series of data fields; each
- field consists of the field name, followed by a colon and
- then the data/value associated with that field. The field
- name is composed of printable ASCII characters (i.e.,
- characters that have values between 33 and 126, inclusive)
- except colon and must not with a begin with #. The
- field ends at the end of the line or at the end of the
- last continuation line (see below). Horizontal whitespace
- (spaces and tabs) may occur immediately before or after the
- value and is ignored there; it is conventional to put a
- single space after the colon. For example, a field might
- be:
+ Each paragraph consists of a series of data fields. Each field
+ consists of the field name followed by a colon and then the
+ data/value associated with that field. The field name is
+ composed of US-ASCII characters excluding control characters,
+ space, and colon (i.e., characters in the ranges 33-57 and
+ 59-126, inclusive). Field names must not begin with the comment
+ character, <tt>#</tt>.
+ </p>
+
+ <p>
+ The field ends at the end of the line or at the end of the last
+ continuation line (see below). Horizontal whitespace (spaces
+ and tabs) may occur immediately before or after the value and is
+ ignored there; it is conventional to put a single space after
+ the colon. For example, a field might be:
<example compact="compact">
Package: libc6
</example>
<p>
This file consists of a single paragraph, possibly surrounded by
a PGP signature. The fields of that paragraph are listed below.
- Their syntax is described above, in <ref id="pkg-controlfields">.
+ Their syntax is described above, in <ref id="controlsyntax">.
<list compact="compact">
<item><qref id="f-Format"><tt>Format</tt></qref> (mandatory)</item>
<heading><tt>DM-Upload-Allowed</tt></heading>
<p>
- The most recent version of a package uploaded to unstable or
- experimental must include the field <tt>DM-Upload-Allowed:
- yes</tt> in the source section of its source control file for
- the Debian archive to accept uploads signed with a key in the
- Debian Maintainer keyring. See the General
+ Indicates that Debian Maintainers may upload this package to
+ the Debian archive. The only valid value is <tt>yes</tt>. If
+ the field <tt>DM-Upload-Allowed: yes</tt> is present in the
+ source section of the source control file of the most recent
+ version of a package in unstable or experimental, the Debian
+ archive will accept uploads of this package signed with a key
+ in the Debian Maintainer keyring. See the General
Resolution <url id="http://www.debian.org/vote/2007/vote_003"
name="Endorse the concept of Debian Maintainers"> for more
details.
<heading>File System Structure</heading>
<p>
- The location of all installed files and directories must
- comply with the Filesystem Hierarchy Standard (FHS),
- version 2.3, with the exceptions noted below, and except
- where doing so would violate other terms of Debian
- Policy. The following exceptions to the FHS apply:
+ The location of all files and directories must comply with the
+ Filesystem Hierarchy Standard (FHS), version 2.3, with the
+ exceptions noted below, and except where doing so would
+ violate other terms of Debian Policy. The following
+ exceptions to the FHS apply:
<enumlist>
<item>
<p>
Packages must not include files or directories
under <file>/run</file>, or under the
- older <file>/var/run</file> and <file>/var/lock<file> paths.
+ older <file>/var/run</file> and <file>/var/lock</file> paths.
The latter paths will normally be symlinks or other
redirections to <file>/run</file> for backwards compatibility.
</p>
<p>
You may wish to restrict your script to SUSv3 features plus the
above set when possible so that it may use <file>/bin/sh</file>
- as its interpreter. If your script works with <prgn>dash</prgn>
- (originally called <prgn>ash</prgn>), it probably complies with
- the above requirements, but if you are in doubt, use
- <file>/bin/bash</file>.
+ as its interpreter. Checking your script
+ with <prgn>checkbashisms</prgn> from
+ the <package>devscripts</package> package or running your script
+ with an alternate shell such as <prgn>posh</prgn> may help
+ uncover violations of the above requirements. If in doubt
+ whether a script complies with these requirements,
+ use <file>/bin/bash</file>.
</p>
<p>
You should not use the copyright file as a general <file>README</file>
file. If your package has such a file it should be
installed in <file>/usr/share/doc/<var>package</var>/README</file> or
- <file>README.Debian</file> or some other appropriate place.</p>
+ <file>README.Debian</file> or some other appropriate place.
+ </p>
+
+ <sect1 id="copyrightformat">
+ <heading>Machine-readable copyright information</heading>
+
+ <p>
+ A specification for a standard, machine-readable format
+ for <file>debian/copyright</file> files is maintained as part
+ of the <package>debian-policy</package> package. This
+ document may be found in the <file>copyright-format</file>
+ files in the <package>debian-policy</package> package. It is
+ also available from the Debian web mirrors at
+ <tt><url name="/doc/packaging-manuals/copyright-format/1.0/"
+ id="http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/"></tt>.
+ </p>
+
+ <p>
+ Use of this format is optional.
+ </p>
+ </sect1>
</sect>
<sect>
the <prgn>PATH</prgn> if necessary, and pass its
second and subsequent arguments to the command it
calls. If no <var>root-command</var> is supplied
- then <var>dpkg-buildpackage</var> will take no
- special action to gain root privilege, so that for
- most packages it will have to be invoked as root to
- start with.</p>
+ then <var>dpkg-buildpackage</var> will use
+ the <prgn>fakeroot</prgn> command, which is sufficient
+ to build most packages without actually requiring root
+ privileges.</p>
</item>
<tag><tt>-b</tt>, <tt>-B</tt></tag>
<item>
#
# It expects one argument, which should be the root of the Lintian laboratory.
+use File::Find qw(find);
+
our @RULES = (
[qr,/usr/share/common-licenses/Apache-2.0, => 'Apache 2.0'],
[qr,/usr/share/common-licenses/Artistic, => 'Artistic'],
[qr,SIL OPEN FONT LICENSE Version 1\.0, => 'SIL OFL 1.0'],
);
-unless (@ARGV == 1) {
- die "Usage: license-count <path-to-lintian-lab>\n";
-}
-my $lab = $ARGV[0];
-opendir (LAB, "$lab/binary") or die "$0: cannot open $lab/binary: $!\n";
my ($package, %counts);
my $n = 0;
-while (defined ($package = readdir LAB)) {
- next if ($package =~ /^\./);
+
+sub check_package {
+ return unless (-d $_ && /_binary$/);
+ $File::Find::prune = 1;
+ return if (-d $_ && /_(source|udeb)$/);
$n++;
print "Checked $n packages\n" if (($n % 100) == 0);
local $/;
- open (COPYRIGHT, '<', "$lab/binary/$package/copyright") or next;
+ open (COPYRIGHT, '<', "$_/copyright") or return;
my $copyright = <COPYRIGHT>;
close COPYRIGHT;
my %seen;
}
}
}
-closedir LAB;
+
+unless (@ARGV == 1) {
+ die "Usage: license-count <path-to-lintian-lab>\n";
+}
+my $lab = $ARGV[0];
+find (\&check_package, "$lab/pool");
my $length = 0;
for my $name (keys %counts) {
if (length ($name) > $length) {
<author> Bill Allombert <email/ballombe@debian.org/ </author>
<author> Josip Rodin </author>
<author> Julian Gilbey </author>
- <author> Russ Allbery </author>
+ <author> Russ Allbery <email/rra@debian.org/ </author>
<author> Manoj Srivastava <email/srivasta@debian.org/
<chapt> About the checklist
<sect id="3.9.3.0"> Version 3.9.3.0
<p>
-Unreleased.
+Released February, 2012.
</p><p><taglist>
<tag>2.4</tag>
they will be ignored by cron. They should replace those characters
with <tt>_</tt>. If a package provides multiple cron job files in the
same directory, they should each start with the package name (possibly
- modified as above), <tt>-</tt>, and then some suitable prefix.
+ modified as above), <tt>-</tt>, and then some suitable suffix.
</item>
<tag>9.10</tag>
<item>Packages using doc-base do not need to call install-docs anymore.
Debian maintainers involved in the creation of the package (although
note that the requirement to list copyright information is unchanged).
</item>
+<tag>copyright-format</tag>
+ <item>Version 1.0 of the "Machine-readable <file>debian/copyright</file>
+ file" specification is included.
+ </item>
<tag>mime</tag>
- <item>Retire this separate document and merge its (short) contents into
- Policy section 9.7. There are no changes to the requirements.
+ <item>This separate document has been retired and and its (short)
+ contents merged into Policy section 9.7. There are no changes to the
+ requirements.
</item>
<tag>perl</tag>
<item>Packages may declare an interest in the <var>perl-major-upgrade</var>
AUTHORITATIVE LIST OF VIRTUAL PACKAGE NAMES
- August 2010
+ February 2012
Below is an authoritative list of virtual package names currently
Java and virtual machines
-------------------------
- java-compiler a java compiler, for Java version 1
- java2-compiler a java compiler, for Java version 2
- java-virtual-machine a JAVA virtual machine
java1-runtime a Java runtime environment, Java version 1
java2-runtime a Java runtime environment, Java version 2
Russ Allbery:
27 Aug 2010 Added mailx
+
+Bill Allombert:
+ 22 Feb 2012 Rename ttf-japanese-gothic to fonts-japanese-gothic
+ Rename ttf-japanese-mincho to fonts-japanese-mincho
+ Removed java-compiler
+ Removed java2-compiler
+ Removed java-virtual-machine