DebianMaintainerField

Differences between revisions 13 and 16 (spanning 3 versions)
Revision 13 as of 2007-10-05 21:00:17
Size: 5386
Editor: i5387EBB6
Comment: Added reference to update-maintainer script.
Revision 16 as of 2007-11-27 16:29:29
Size: 5409
Editor: 7
Comment: replace feisty by gutsy
Deletions are marked like this. Additions are marked like this.
Line 60: Line 60:
There is a script `update-notifier` available in the ubuntu-dev-tools package, which automatically updates debian/control in a source package. There is a script `update-maintainer` available in the ubuntu-dev-tools package, which automatically updates debian/control in a source package.
Line 73: Line 73:
 wget -O - http://archive.ubuntu.com/ubuntu/dists/feisty/main/binary-i386/Packages.gz | gunzip | grep-dctrl -sSource:Package,Package,Maintainer -FVersion ubuntu | grep-dctrl -sSource:Package -FMaintainer -v -n ubuntu | sort -u }}}  wget -O - http://archive.ubuntu.com/ubuntu/dists/gutsy/main/binary-i386/Packages.gz | gunzip | grep-dctrl -sSource:Package,Package,Maintainer -FVersion ubuntu | grep-dctrl -sSource:Package -FMaintainer -v -n ubuntu | sort -u }}}
Line 80: Line 80:
 wget -O - http://archive.ubuntu.com/ubuntu/dists/feisty/main/source/Sources.gz| gunzip | grep-dctrl -sPackage,Maintainer -FVersion ubuntu | grep-dctrl -sPackage -FMaintainer -v -n ubuntu | sort -u }}}  wget -O - http://archive.ubuntu.com/ubuntu/dists/gutsy/main/source/Sources.gz| gunzip | grep-dctrl -sPackage,Maintainer -FVersion ubuntu | grep-dctrl -sPackage -FMaintainer -v -n ubuntu | sort -u }}}
Line 90: Line 90:
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 [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:

[   ] 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 [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:

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

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

  • If the package is in universe or multiverse, the Maintainer field will be set to Ubuntu MOTU Developers <ubuntu-motu@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/gutsy/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/gutsy/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 


CategorySpecBR CategoryProcess

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