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