Package: dpkg
Version: 1.14.4
Severity: wishlist

As requested by Debian, Ubuntu nowadays changes the Maintainer: field
of Ubuntu-modified source packages so that the original Debian
maintainer is no longer listed - the Debian maintainer's details are
put into XSBC-Original-Maintainer.

This does involve a certain amount of manual effort by the Ubuntu
developers.  To avoid errors, Ubuntu has added some code to
dpkg-source to check that this change has been made.  The check is
fairly conservative: it will do nothing unless the version number
contains the string `ubuntu' and it will generate only warnings unless
DEBEMAIL contains `ubuntu'.

Of course some Ubuntu developers are also Debian developers, and
sometimes people wearing both hats find themselves using tools from
one distro to work on another.  dpkg-source is a particularly
prominent case.  I think it would therefore be useful for even
Debian's dpkg-source to contain this check.

Ubuntu developers will of course not be offended if Debian chooses not
to accept this patch but in the spirit of cooperation I would like to
don my Ubuntu hat and offer it to you for inclusion if Debian so
wishes.  A wishlist bug report seems like the appropriate way to do
that (it seems the way which is most convenient for Debian, in
particular).

My apologies if you are upset by this message, which I realise is
essentially the submission of an Ubuntu-specific patch and might
therefore cause objections in Debian.  However it seemed to me to be
better to err on the side of explicitly offering this change to Debian
through the appropriate Debian channel - that is, to err on the side
of excessive communication rather than inadequate communication.  If
the Debian dpkg team feel that they would rather have not received
this message and the patch it contains, please let me know and we will
try to respect that wish if a similar situation should arise in
the future.

Here is the changelog bullet point for this change:

  * scripts/dpkg-source.pl: Check that debian/control complies to
    https://wiki.ubuntu.com/DebianMaintainerField: Refuse to build a source
    package if we have an Ubuntu version number, but Maintainer: is not an
    Ubuntu address. Output a warning if there is no XSBC-Original-Maintainer:
    field for packages with an Ubuntu version number.

FYI: This change does not do anything to binary package generation and
does not actually modify anything itself; it's just a check to confirm
that the human Ubuntu developer has made the change.  Modified source
packages with modified Maintainer fields will naturally generate
binaries with similarly modified Maintainer fields.  For binary
packages rebuilt by Ubuntu from unmodified sources we have a different
mechanism: Ubuntu's automatic build machinery arranges for the binary
packages' Maintainer fields to be adjusted appropriately.

If you have any comments regarding our approach we'd of course be
happy to hear about them.

Ian.
(with Ubuntu hat firmly on head)

@@ -335,6 +335,21 @@
     my $basedirname = $basename;
     $basedirname =~ s/_/-/;
 
+    # check that Maintainer/XSBC-Original-Maintainer comply to
+    # https://wiki.ubuntu.com/DebianMaintainerField
+    if ($version =~ /ubuntu/) {
+       if ($fi{'C Maintainer'} !~ /ubuntu/) {
+           if ($ENV{'DEBEMAIL'} =~ /ubuntu/) {
+               &error(_g('Version number suggests Ubuntu changes, but 
Maintainer: does not have Ubuntu address'));
+           } else {
+               &warn(_g('Version number suggests Ubuntu changes, but 
Maintainer: does not have Ubuntu address'));
+           }
+       }
+       unless ($fi{'C Xsbc-Original-Maintainer'}) {
+           &warn(_g('Version number suggests Ubuntu changes, but there is no 
XSBC-Original-Maintainer field'));
+       }
+    }
+ 
     my $origdir = "$dir.orig";
     my $origtargz = "$basename.orig.tar.gz";
     if (@ARGV) {


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to