[Bug 2080250] [NEW] dpkg-source warns missing XSBC-Original-Maintainer for -0ubuntu1 version

Agathe Porte 2080250 at bugs.launchpad.net
Tue Sep 10 14:22:50 UTC 2024


Public bug reported:

The XSBC-Original-Maintainer reflects who was the original maintainer
before it was overridden by the vendor. However, when the vendor is the
author of the first packaging and there is no such packaging in Debian,
the -0ubuntu1 is used to reflect that.

However, dpkg-source warns that this field is missing but it does not
make sense since the maintainer *is* the original maintainer as long as
it does not exist in Debian. Expected behavior would be for the warning
to not appear in this case.

Steps to reproduce:

1. Create a package with a -0ubuntu1 version in d/changelog and no XSBC-Original-Maintainer in d/control
2. Build the package using dpkg-buildpackage -us -uc
3. Watch the warning appear as dpkg-source is called from dpkg-buildpackage

I have tried to apply the following patch to dpkg-1.22.6ubuntu6.1 in
Noble but the tests fail and I do not speak enough Perl to know why:

diff -Nru dpkg-1.22.6ubuntu6.1/scripts/Dpkg/Vendor/Ubuntu.pm dpkg-1.22.6ubuntu6.1+gagath/scripts/Dpkg/Vendor/Ubuntu.pm
--- dpkg-1.22.6ubuntu6.1/scripts/Dpkg/Vendor/Ubuntu.pm	2024-07-17 11:09:50.000000000 +0200
+++ dpkg-1.22.6ubuntu6.1+me/scripts/Dpkg/Vendor/Ubuntu.pm	2024-09-10 16:02:55.000000000 +0200
@@ -63,7 +63,7 @@
                    warning(g_('Version number suggests Ubuntu changes, but Maintainer: does not have Ubuntu address'));
                }
            }
-           unless ($fields->{'Original-Maintainer'}) {
+           unless ($fields->{'Original-Maintainer'} or $fields->{'Version'}) ~= /0ubuntu/ {
                warning(g_('Version number suggests Ubuntu changes, but there is no XSBC-Original-Maintainer field'));
            }
         }

** Affects: dpkg (Ubuntu)
     Importance: Undecided
         Status: New

** Description changed:

  The XSBC-Original-Maintainer reflects who was the original maintainer
  before it was overridden by the vendor. However, when the vendor is the
  author of the first packaging and there is no such packaging in Debian,
  the -0ubuntu1 is used to reflect that.
  
  However, dpkg-source warns that this field is missing but it does not
  make sense since the maintainer *is* the original maintainer as long as
  it does not exist in Debian. Expected behavior would be for the warning
  to not appear in this case.
  
  Steps to reproduce:
  
  1. Create a package with a -0ubuntu1 version in d/changelog and no XSBC-Original-Maintainer in d/control
  2. Build the package using dpkg-buildpackage -us -uc
  3. Watch the warning appear as dpkg-source is called from dpkg-buildpackage
+ 
+ I have tried to apply the following patch to dpkg-1.22.6ubuntu6.1 in
+ Noble but the tests fail and I do not speak enough Perl to know why:
+ 
+ diff -Nru dpkg-1.22.6ubuntu6.1/scripts/Dpkg/Vendor/Ubuntu.pm dpkg-1.22.6ubuntu6.1+gagath/scripts/Dpkg/Vendor/Ubuntu.pm
+ --- dpkg-1.22.6ubuntu6.1/scripts/Dpkg/Vendor/Ubuntu.pm	2024-07-17 11:09:50.000000000 +0200
+ +++ dpkg-1.22.6ubuntu6.1+me/scripts/Dpkg/Vendor/Ubuntu.pm	2024-09-10 16:02:55.000000000 +0200
+ @@ -63,7 +63,7 @@
+                     warning(g_('Version number suggests Ubuntu changes, but Maintainer: does not have Ubuntu address'));
+                 }
+             }
+ -           unless ($fields->{'Original-Maintainer'}) {
+ +           unless ($fields->{'Original-Maintainer'} or $fields->{'Version'} ~= /0ubuntu/ {
+                 warning(g_('Version number suggests Ubuntu changes, but there is no XSBC-Original-Maintainer field'));
+             }
+          }

** Description changed:

  The XSBC-Original-Maintainer reflects who was the original maintainer
  before it was overridden by the vendor. However, when the vendor is the
  author of the first packaging and there is no such packaging in Debian,
  the -0ubuntu1 is used to reflect that.
  
  However, dpkg-source warns that this field is missing but it does not
  make sense since the maintainer *is* the original maintainer as long as
  it does not exist in Debian. Expected behavior would be for the warning
  to not appear in this case.
  
  Steps to reproduce:
  
  1. Create a package with a -0ubuntu1 version in d/changelog and no XSBC-Original-Maintainer in d/control
  2. Build the package using dpkg-buildpackage -us -uc
  3. Watch the warning appear as dpkg-source is called from dpkg-buildpackage
  
  I have tried to apply the following patch to dpkg-1.22.6ubuntu6.1 in
  Noble but the tests fail and I do not speak enough Perl to know why:
  
  diff -Nru dpkg-1.22.6ubuntu6.1/scripts/Dpkg/Vendor/Ubuntu.pm dpkg-1.22.6ubuntu6.1+gagath/scripts/Dpkg/Vendor/Ubuntu.pm
  --- dpkg-1.22.6ubuntu6.1/scripts/Dpkg/Vendor/Ubuntu.pm	2024-07-17 11:09:50.000000000 +0200
  +++ dpkg-1.22.6ubuntu6.1+me/scripts/Dpkg/Vendor/Ubuntu.pm	2024-09-10 16:02:55.000000000 +0200
  @@ -63,7 +63,7 @@
-                     warning(g_('Version number suggests Ubuntu changes, but Maintainer: does not have Ubuntu address'));
-                 }
-             }
+                     warning(g_('Version number suggests Ubuntu changes, but Maintainer: does not have Ubuntu address'));
+                 }
+             }
  -           unless ($fields->{'Original-Maintainer'}) {
- +           unless ($fields->{'Original-Maintainer'} or $fields->{'Version'} ~= /0ubuntu/ {
-                 warning(g_('Version number suggests Ubuntu changes, but there is no XSBC-Original-Maintainer field'));
-             }
-          }
+ +           unless ($fields->{'Original-Maintainer'} or $fields->{'Version'}) ~= /0ubuntu/ {
+                 warning(g_('Version number suggests Ubuntu changes, but there is no XSBC-Original-Maintainer field'));
+             }
+          }

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to dpkg in Ubuntu.
https://bugs.launchpad.net/bugs/2080250

Title:
  dpkg-source warns missing XSBC-Original-Maintainer for -0ubuntu1
  version

Status in dpkg package in Ubuntu:
  New

Bug description:
  The XSBC-Original-Maintainer reflects who was the original maintainer
  before it was overridden by the vendor. However, when the vendor is
  the author of the first packaging and there is no such packaging in
  Debian, the -0ubuntu1 is used to reflect that.

  However, dpkg-source warns that this field is missing but it does not
  make sense since the maintainer *is* the original maintainer as long
  as it does not exist in Debian. Expected behavior would be for the
  warning to not appear in this case.

  Steps to reproduce:

  1. Create a package with a -0ubuntu1 version in d/changelog and no XSBC-Original-Maintainer in d/control
  2. Build the package using dpkg-buildpackage -us -uc
  3. Watch the warning appear as dpkg-source is called from dpkg-buildpackage

  I have tried to apply the following patch to dpkg-1.22.6ubuntu6.1 in
  Noble but the tests fail and I do not speak enough Perl to know why:

  diff -Nru dpkg-1.22.6ubuntu6.1/scripts/Dpkg/Vendor/Ubuntu.pm dpkg-1.22.6ubuntu6.1+gagath/scripts/Dpkg/Vendor/Ubuntu.pm
  --- dpkg-1.22.6ubuntu6.1/scripts/Dpkg/Vendor/Ubuntu.pm	2024-07-17 11:09:50.000000000 +0200
  +++ dpkg-1.22.6ubuntu6.1+me/scripts/Dpkg/Vendor/Ubuntu.pm	2024-09-10 16:02:55.000000000 +0200
  @@ -63,7 +63,7 @@
                      warning(g_('Version number suggests Ubuntu changes, but Maintainer: does not have Ubuntu address'));
                  }
              }
  -           unless ($fields->{'Original-Maintainer'}) {
  +           unless ($fields->{'Original-Maintainer'} or $fields->{'Version'}) ~= /0ubuntu/ {
                  warning(g_('Version number suggests Ubuntu changes, but there is no XSBC-Original-Maintainer field'));
              }
           }

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/dpkg/+bug/2080250/+subscriptions




More information about the foundations-bugs mailing list