Ubuntu bug reporting (reportbug, dpkg origins)

Matt Zimmerman mdz at canonical.com
Sun Oct 31 21:00:38 CST 2004


In the process of discussing a bug report, Wichert Akkerman pointed out that
there may be a more elegant way to meet our need with reportbug, which is to
have bug reports from Ubuntu users always go to us first (so that we don't
spam Debian with inapplicable reports).

As background, what we currently do is to modify reportbug to change the
default /etc/reportbug.conf to include 'bts ubuntu'.

Also, I noticed that Chris Lawrence, the author of reportbug, proactively
merged (the non-configuration parts of) our branch of reportbug, which makes
it easier for us to maintain it:

  * Incorporate applicable changes in 2.62ubuntu1 to this tree.

    (Main advantage: --bts=ubuntu works now.  If someone will kindly tell
    me an easy way to tell a Ubuntu system from a Debian one, I will
    incorporate code to eliminate the need for the forked package.  Same
    goes for any other Debian fork, BTW...)

Thanks for that, Chris.  To answer your question, the canonical method to
identify an Ubuntu system is to use "lsb_release -si" or otherwise parse
/etc/lsb-release.  I think it would be great if reportbug incorporated such
a test and used it to set the default BTS.

Wichert's proposed solution is:

> * Modify /etc/dpkg/origins/debian so bugreports for debian packages
>   still get send to ubuntu, possibly to a different address so you
>   can easily catch them

Some issues regarding this approach:

- We would need to carry this patch to dpkg forever

- It has a cosmetic side effect of the bug being submitted to "Debian Bug
  Tracking System <...address of Ubuntu bug tracking system...>", unless we
  also change the Vendor field in origins/debian, which seems like the wrong
  thing to do otherwise

- An explicit "reportbug --bts debian" would still cause the report to go to
  Ubuntu

> * Create a /etc/dpkg/origins/ubuntu file and give all Ubuntu packages
>   an Origin: ubuntu header

This seems like something we should obviously do, regardless of the bug
reporting issue.  Since it doesn't overlap with Debian, it could presumably
be merged into dpkg mainline, and we could avoid carrying a patch.  We
should set Origin: ubuntu or similar in the control file of Ubuntu-specific
packages.  Thoughts?

As far as bug reporting, the primary options seem to be:

- Leave things as they are now.  Ubuntu carries a tiny patch to reportbug
  which sets the default BTS to us.  If the user (for example) pulls the
  Debian version of reportbug for some reason, the autodetection magic would
  still do the right thing as a fallback, given an intact lsb package.

- Drop the Ubuntu patch to reportbug, and rely on an autodetection mechanism
  in upstream reportbug.  I'm not sure that this provides enough safety as
  specified; users can remove the lsb package, and Ubuntu derivatives will
  modify it.  We should try to avoid falling back to Debian in those cases,
  and rather fall back to Ubuntu.  Can we ever really be sure whether we are
  on an Ubuntu system, in a world where packages can be mixed between
  Debian-based distributions?

- Drop the Ubuntu patch to reportbug, and carry a tiny patch to dpkg
  instead, which changes the bug reporting address for the 'debian' origin,
  with the caveats described above.  Reportbug can attempt to detect an
  Ubuntu system, but we would fall back to origin-based determination, with
  the caveats described above.

Any arguments for/against these options, or additional options?

-- 
 - mdz



More information about the ubuntu-devel mailing list