DebianMaintainerField

Differences between revisions 5 and 21 (spanning 16 versions)
Revision 5 as of 2007-01-26 10:55:45
Size: 4476
Editor: scandic759
Comment: phasing out DeveloperResources
Revision 21 as of 2010-02-05 15:33:10
Size: 5756
Editor: d86-33-158-1
Comment: Reverting -.-
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
 * '''Created''': [[Date(2006-07-08T01:56:10Z)]] by MattZimmerman  * '''Created''': <<Date(2006-07-08T01:56:10Z)>> by MattZimmerman
Line 30: Line 30:
Debian maintainers were [http://master.debian.org/~jeroen/polls/maintainer-field/ polled] for their opinions on this subject. The [http://master.debian.org/~jeroen/polls/maintainer-field/ballot.txt ballot] options were: {{{ Debian maintainers were [[http://master.debian.org/~jeroen/polls/maintainer-field/|polled]] for their opinions on this subject. The [[http://master.debian.org/~jeroen/polls/maintainer-field/ballot.txt|ballot]] options were: {{{
Line 39: Line 39:
The [http://master.debian.org/~jeroen/polls/maintainer-field/results.png results] showed that the voters preferred Choice 4. Therefore we will do as follows for all Ubuntu binary packages, and Ubuntu source packages which are modified relative to Debian: The [[http://master.debian.org/~jeroen/polls/maintainer-field/results.png|results]] showed that the voters preferred Choice 4. Therefore we will do as follows for all Ubuntu binary packages, and Ubuntu source packages which are modified relative to Debian:
Line 42: Line 42:
 * If the package is in `main` or `restricted`, the `Maintainer` field will be set to `ubuntu-devel@lists.ubuntu.com`
 * If the package is in `universe` or `multiverse`, the `Maintainer` field will be set to `ubuntu-motu@lists.ubuntu.com`
 * If the `Maintainer` field is modified, the old value will be saved in a field named `X-Original-Maintainer`
 * Otherwise, the `Maintainer` field will be set to `Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>`
 * If the `Maintainer` field is modified, the old value will be saved in a field named `XSBC-Original-Maintainer`
Line 52: Line 51:
If a source package is modified relative to Debian (this can be determined automatically by examining the version number), its `Maintainer` field should be updated either as above, or with a more appropriate Ubuntu contact if one exists. For all packages which are already modified at this time, we can automatically implement the changes. In the future, the field should be updated when modifying the package for the first time. We will provide a script to automate this and refer to it from UbuntuDevelopment. If a source package is modified relative to Debian (this can be determined automatically by examining the version number), its `Maintainer` field should be updated either as above, or with a more appropriate Ubuntu contact if one exists. For all packages which are already modified at this time, we can automatically implement the changes. In the future, the field should be updated when modifying the package for the first time. We will provide a script to automate this and refer to it from UbuntuDevelopment (the script is now available as `update-maintainer` from the ubuntu-dev-tools package).
Line 54: Line 53:
We will periodically scan the archive to determine whether packages are meeting this policy, and correct those which are not. We will add a check to `dpkg-buildpackage` which refuses to build a source package if above conditions are not met and `$DEBEMAIL` contains `ubuntu`.
Line 59: Line 58:

There is a script `update-maintainer` available in the ubuntu-dev-tools package, which automatically updates debian/control in a source package.
Line 66: Line 67:
== BoF agenda and discussion == == Tests ==
Line 68: Line 69:
TrentLloyd: Is ubuntu-devel@lists.ubuntu.com really the right contact? People usually get shouted down asking questions on ubuntu-devel and told to go to ubuntu-users - and while I feel that makes sense I feel having the contact as this where people will potentially come ask questions could be confusing and misleading  * Binary packages:

 {{{
 wget -O - http://archive.ubuntu.com/ubuntu/dists/intrepid/main/binary-i386/Packages.gz | gunzip | grep-dctrl -sSource:Package,Package,Maintainer -FVersion ubuntu | grep-dctrl -sSource:Package -FMaintainer -v -n ubuntu | sort -u }}}

 should be empty. Likewise for `universe`, `multiverse`, etc. and other architectures.

 * Source packages:

 {{{
 wget -O - http://archive.ubuntu.com/ubuntu/dists/intrepid/main/source/Sources.gz| gunzip | grep-dctrl -sPackage,Maintainer -FVersion ubuntu | grep-dctrl -sPackage -FMaintainer -v -n ubuntu | sort -u }}}

 should be empty. Likewise for `universe`, `multiverse`, etc.

 * Trying to `dpkg-buildpackage -S` a source package with `Maintainer: Martin Pitt <mpitt@debian.org>` and a version number that contains `ubuntu` fails with:

 {{{
 dpkg-source: error: Version number suggests Ubuntu changes, but Maintainer: does not have Ubuntu address }}}

== Previous rules ==

These rules were [[https://lists.ubuntu.com/archives/ubuntu-devel/2009-May/028213.html|amended]] in May 2009. The previous rules modified the `Maintainer` field depending on the package's component:

 * If the package was in `main` or `restricted`, the `Maintainer` field was set to `Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com>`
 * If the package was in `universe` or `multiverse`, the `Maintainer` field was set to `Ubuntu MOTU Developers <ubuntu-motu@lists.ubuntu.com>`
Line 71: Line 96:
CategorySpec CategorySpec<<BR>>
CategoryProcess

Summary

In February of 2006, a discussion and poll were held in the Debian community to determine the most appropriate way to handle the Maintainer field in package metadata for distributions derived from Debian.

Rationale

Debian maintainers have expressed discontent about the Maintainer field being unchanged in Ubuntu, because this causes them to be contacted in some situations where they are not the correct point of contact.

Use cases

  • Daniel is an Ubuntu user. He has a question about a package, and Synaptic shows a person's name and email address associated with it. He sends them an email with his question.
  • Engelbert is a Debian developer. He takes pride in the work that he puts into his packages, and wants to be appropriately credited
  • Quentin is a Debian developer. He does not want to be listed as the maintainer of his package in Ubuntu because it has been modified by Ubuntu developers.
  • Guy is an Ubuntu developer. He is primarily responsible for modifications to a handful of packages in Ubuntu, and so he should be listed as the maintainer in the package metadata.
  • Ebenezer is a Debian developer. He wants to find out where to send mail regarding the version of his package included in Ubuntu.

Scope

Handling of the Maintainer field for source and binary packages in Ubuntu, modified and unmodified relative to Debian

Design

Debian maintainers were polled for their opinions on this subject. The ballot options were:

[   ] Choice 1: Maintainer field should remain unmodified
[   ] Choice 2: Change Maintainer on source changes only
[   ] Choice 3: Change Maintainer on any change (including binary rebuild)
[   ] Choice 4: Choice 3 + Preserve Maintainer: field as Debian-Maintainer:
[   ] Choice 5: I don't care
[   ] Choice 6: None of the above / Further discussion

The results showed that the voters preferred Choice 4. Therefore we will do as follows for all Ubuntu binary packages, and Ubuntu source packages which are modified relative to Debian:

  • If the Maintainer field contains an ubuntu.com email address, no modifications are made

  • Otherwise, the Maintainer field will be set to Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>

  • If the Maintainer field is modified, the old value will be saved in a field named XSBC-Original-Maintainer

Binary Packages

We will automatically mangle the headers during the package build process. AdamConrad has preliminary code for this.

Source Packages

If a source package is modified relative to Debian (this can be determined automatically by examining the version number), its Maintainer field should be updated either as above, or with a more appropriate Ubuntu contact if one exists. For all packages which are already modified at this time, we can automatically implement the changes. In the future, the field should be updated when modifying the package for the first time. We will provide a script to automate this and refer to it from UbuntuDevelopment (the script is now available as update-maintainer from the ubuntu-dev-tools package).

We will add a check to dpkg-buildpackage which refuses to build a source package if above conditions are not met and $DEBEMAIL contains ubuntu.

Implementation

Code

There is a script update-maintainer available in the ubuntu-dev-tools package, which automatically updates debian/control in a source package.

Data preservation and migration

Unresolved issues

Derivatives other than Ubuntu should adhere to the same standard, and Debian should generalize its statement to apply to all Derivatives, not only Ubuntu.

Tests

  • Binary packages:
     wget -O - http://archive.ubuntu.com/ubuntu/dists/intrepid/main/binary-i386/Packages.gz | gunzip | grep-dctrl -sSource:Package,Package,Maintainer -FVersion ubuntu  | grep-dctrl -sSource:Package -FMaintainer -v -n ubuntu | sort -u 

    should be empty. Likewise for universe, multiverse, etc. and other architectures.

  • Source packages:
     wget -O - http://archive.ubuntu.com/ubuntu/dists/intrepid/main/source/Sources.gz| gunzip | grep-dctrl -sPackage,Maintainer -FVersion ubuntu  | grep-dctrl -sPackage -FMaintainer -v -n ubuntu | sort -u 

    should be empty. Likewise for universe, multiverse, etc.

  • Trying to dpkg-buildpackage -S a source package with Maintainer: Martin Pitt <mpitt@debian.org> and a version number that contains ubuntu fails with:

     dpkg-source: error: Version number suggests Ubuntu changes, but Maintainer: does not have Ubuntu address 

Previous rules

These rules were amended in May 2009. The previous rules modified the Maintainer field depending on the package's component:

  • If the package was in main or restricted, the Maintainer field was set to Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com>

  • If the package was in universe or multiverse, the Maintainer field was set to Ubuntu MOTU Developers <ubuntu-motu@lists.ubuntu.com>


CategorySpec
CategoryProcess

DebianMaintainerField (last edited 2010-02-05 15:33:10 by d86-33-158-1)