Title: Per-package machine-readable metadata about Upstream
DEP: 12
State: DRAFT
Date: 2014-02-23
Drivers: Charles Plessy <plessy@debian.org>,
  Andreas Tille <tille@debian.org>
  Jelmer Vernooij <jelmer@debian.org>
URL: http://dep.debian.net/deps/dep12
Source: https://salsa.debian.org/dep-team/deps/-/blob/master/web/deps/dep12.mdwn
Abstract:
 The source package control files and some of their derivatives are currently
 used to document the URL of the home page of the work that is packaged
 ("upstream").  However, this approach is hard to extend to other information
 describing upstream, because the size of the control files has to be limited
 according to the limited power of some systems running Debian.
 .
 We propose a new file in the source packages, debian/upstream/metadata, formatted
 in YAML to hold arbitrary information about upstream, for instance the
 URL to a donation page, bibliographic information about publications
 describing the upstream work, the URL to the upstream sources, etc.
  1. Upstream Metadata Specification
    1. Introduction
    2. Purpose
    3. Fields
    4. More information
    5. License
    6. Timeline

Upstream Metadata Specification


The format of the metadata file is being developed on http://wiki.debian.org/UpstreamMetadata. Following the progress of the discussion on the debian-qa mailing list, implementation details that made consensus will be transferred here.


Introduction

The debian/upstream/metadata file is in YAML format. There should only be a single YAML document.

In its simplest form, the metadata file looks much like the stanza format used in Debian control files. Nevertheless, there may be sometimes unexpected behaviours, for instance field contents that have a colon inside have to be quoted in some cases. If in doubt, there are validators available, either on-line Online YAML Parser, or in command line (DebPkg:yamllint).

Purpose

The upstream metadata file is meant to contain machine-readable metadata about the upstream project, its community and processes.

Information in this file should not be specific to Debian, and be relevant for other distributions as well.

The following upstream metadata is currently stored elsewhere in Debian control files and should not be included in debian/upstream/metadata.

When defining new fields, the same vocabulary as in DOAP should be used as much as possible.

Fields should be in in alphabetic order.

Fields

More information

See http://wiki.debian.org/UpstreamMetadata for the broader discussion about upstream metadata in Debian that this DEP is a result of.

You can find lots of examples of existing debian/upstream/metadata files using codesearch.debian.net.

lintian has a preliminary check for debian/upstream/metadata files.

UDD includes a upstream_metadata table with information extracted from debian/upstream/metadata files.

upstream-ontologist has a guess-upstream-metadata command that can generate debian/upstream/metadata files.


License


This work is dedicated to the public domain, using the Creative Commons Zero (CC0) Public Domain Dedication, version 1.0


Timeline