~package-import/ubuntu/natty/apport/defunct

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
This file summarizes the major and interesting changes for each release. For a
detailled list of changes, please see ChangeLog.

1.15 (UNRELEASED)
-----------------
New features:
 - Add dump_acpi_tables.py script. This can be called by package hooks which
   need ACPI table information (in particular, kernel bug reports). Thanks to
   Brad Figg for the script!

Bug fixes:
 - testsuite: Check that crashdb.conf can have dynamic code to determine DB
   names and options.
 - ui.py test suite: Rewrite _gen_test_crash() to have the test process core
   dump itself, instead of using gdb to do it. The latter fails in ptrace
   restricted environments, such as Ubuntu 10.10.

1.14.1 (2010-06-24)
-------------------
Bug fixes:
 - hookutils.py, attach_drm_info(): Sanitize connector names. Thanks Chris
   Halse Rogers! (LP: #597558)
 - bash completion: Complete all path names, apport-bug can be invoked with a
   path to a program. Thanks Philip Muskovac.

1.14 (2010-06-16)
-----------------
New features:
 - hookutils.py: Add new method attach_drm_info() to read and format
   /sys/class/drm/*.

Bug fixes:
 - packaging-apt-dpkg.py: Fix deprecated python-apt variables, thanks David
   Stansby. (LP: #591695)
 - launchpad.py: Fix crash on attachments which are named *.gz, but
   uncompressed. (LP: #574360)
 - hookutils.py, attach_gconf(): Fix defaults parsing for boolean keys.
   (LP: #583109)

1.13.4 (2010-05-04)
-------------------
 - bash completion: Fix error message if /usr/share/apport/symptoms does not
   exist. Thanks Philip Muškovac! (LP: #562118)
 - general-hooks/parse_segv.py: Report stack exhaustion more clearly and
   correctly handle register dereferencing calls.
 - Save/restore environment when calling hooks, in case they change the locale,
   etc. (LP: #564422)
 - hookutils.py, command_output(): Do not set $LC_MESSAGES for the calling
   process/hook, just for the command to be called.
 - ui.py: When displaying strings from system exceptions, decode them into an
   unicode string, to avoid crashing the KDE UI. (LP: #567253)
 - apport-retrace: Fix crash for retracing kernel vmcores, which do not have an
   ExecutablePath.
 - apport-bug manpage: Clarify when apport-collect may be used. Thanks Brian
   Murray! (LP: #537273)
 - generic hook: Check ProcMaps for unpackaged libraries, and ask the user if
   he really wants to continue. If he does, tag the report as "local-libs" and
   add a "LocalLibraries" field to the report with a list of them.
   (LP: #545227)

1.13.3 (2010-04-14)
-------------------
 - data/general-hooks/parse_segv.py: suggest segv-in-kernel possibility.
 - ui.py: When running as root, only show system crash reports, to avoid
   restarting user programs as root. (LP: #445017)

1.13.2 (2010-03-31)
-------------------
 - problem_report.py, write_mime(): Add new optional argument "priority_fields"
   for ordering report keys. Patch by Brian Murray, thanks!
 - launchpad.py: Put some interesting fields first in the report, with the new
   priority_fields argument. Patch by Brian Murray, thanks!
 - packaging-apt-dpkg.py, _install_debug_kernel(): Do not crash on an outdated
   kernel, just return that it is outdated. (LP: #532923)
 - launchpad.py test suite: Add "Referer" HTTP header, now required by
   launchpad.
 - launchpad.py: Fix crash if configuration does not have an "escalated_tag"
   option.
 - launchpad.py: Port to launchpadlib 1.0 API, thanks Michael Bienia for the
   initial patch! (LP: #545009)
 - gtk/apport-gtk-mime.desktop.in, kde/apport-kde-mime.desktop.in: Change
   categories so that these do not ever appear in menu editors. (LP: #449215)
 - launchpad.py: Some LP bugs have broken attachments (this is a bug in
   Launchpad itself). Ignore those instead of crashing.
 - apport-gtk: Turn http:// and https:// links into clickable hyperlinks in
   information and error dialogs. (LP: #516323)
 - apport-retrace: Fix crash when trying to rebuild package info for reports
   without an ExecutablePath. (LP: #436157)
 - ui.py: Fix crash when package information cannot be determined due to broken
   apt status. (LP: #362743)
 - ui.py: Fix crash when /etc/apport/crashdb.conf is damaged; print an
   appropriate error message instead. (LP: #528327)
 - data/kernel_crashdump: Fix crash if log file disappeared underneath us.
   (LP: #510327)
 - data/apport: Fix IOError when apport is called with invalid number of
   arguments, and stderr is not a valid fd. (LP: #467363)
 - hookutils.py: Factor out the DMI collection code from attach_hardware()
   into attach_dmi(), and call that in attach_alsa() as well. Thanks to Brad
   Figg for the patch! (LP: #552091)
 - apport/ui.py: Fix the help output if Apport is invoked under an alternative
   name (like apport-collect). (LP: #539427)

1.13.1 (2010-03-20)
-------------------
Bug fixes:
 - Update parse-segv to handle gdb 7.1 output.
 - Enhance test suite to work with gdb 7.1 as well, and catch future outputs.
 - UI: Add exception string to the "network error" dialog, to better tell what
   the problem is.
 - UI: Add back -p option to apport-collect/apport-update-bug (regression from
   1.13). (LP: #538944)
 - launchpad.py: Add yet another workaround for LP#336866. (LP: #516381)
 - launchpad.py, download(): Ignore attachments with invalid key names.
 - Fix regression from 1.10 which made it impossible for a package hook to set
   a third-party crash database for non-native packages. (LP: #517272)
 - apport-cli: Create the 'details' string only if user wants to view details,
   and do not show files larger than 1MB. Thanks Scott Moser! (LP: #486122)
 - packaging-apt-dpkg.py: Silence apt.Cache() spewage to stdout with newer
   python-apt versions. (LP: #531518)

Improvements:
 - unkillable_shutdown: Add list of running processes and blacklisted pids to
   report. (LP: #537262)
 - Sort the report by key in the details view. (LP: #519416)

1.13 (2010-03-10)
-----------------
New features:
 - Add "unkillable_shutdown" script to collect information about processes
   which are still running after sending SIGTERM to them. This can be hooked
   into e. g. /etc/init.d/sendsigs on Debian/Ubuntu systems.

Improvements:
 - apport_python_hook.py: Directly check /etc/default/apport instead of
   querying packaging.enabled(), to avoid importing lots of modules for
   non-packaged scripts. Thanks Stuart Colville! (LP: #528355)

Bug fixes:
 - Fix SegV parser to notice walking off the stack during "call" or "ret"
   (LP: #531672).
 - Fix --help output for bug updating mode (invocation as apport-collect or
   apport-update-bug). (LP: #504116)
 - Fix bug escalation tagging, thanks to Brian Murray.
 - Fix option processing when being invoked as apport-bug. Thanks to Daniel
   Hahler for the patch! (LP: #532944)

1.12.1 (2010-02-22)
-------------------
Bug fixes:
 - launchpad.py: Do not keep escalating bugs, just escalate at the 10th
   duplicate.
 - Improve error message if a symptom script did not determine a package name.
   (LP: #503834)
 - general-hooks/generic.py: Fix crash on libGL check with empty StacktraceTop.
 - Review and clean up usage of chmod(). This fixes a small race condition in the
   Python exception hook where a local attacker could read the information from
   another user's crash report. (LP: #516029)
 - hookutils, package_versions(): Ignore "None" packages, for more robust
   package hooks. (LP: #518295)

1.12 (2010-01-20)
-----------------
Improvements:
 - launchpad.py: Add options 'escalation_subscription' and 'escalation_tag' for
   handling bugs with more than 10 duplicates.
 - crashdb.conf: For Ubuntu, escalate bugs with >= 10 duplicates to
   "ubuntu-bugcontrol" and tag them with "bugpattern-needed". (LP: #487900)
 - general-hooks/generic.py: Filter out crashes on missing GLX (LP: #327673)
 - Add bash completion script. Thanks to Philip Muškovac. (LP: #218933)

Bug fixes:
 - launchpad.py: Drop APPORT_FILES whitelist for download() and instead just
   filter out file extensions that we know about (*.txt and *.gz).
   (LP: #444975)
 - launchpad.py: Do not put the Tags: field into the bug description, since
   they are already proper tags. In download(), convert the real tags back to
   the Tags: field. (LP: #505671)
 - test/crash: Update expected core dump flags for changed rlimit behaviour in
   Linux 2.6.32.
 - launchpad.py: Fix marking of 'checked for duplicate' for bugs with upstream
   tasks.
 - launchpad.py, get_fixed_version(): Do not consider a bug as invalid just
   because it has any invalid distro package task.

1.11 (2009-12-23)
-----------------
Improvements:
 - Add "--save" UI option to store the collected information into an .apport
   file instead of sending it right away. The file can then later be sent
   through apport-bug. Update manpages accordingly.
 - Update all copyright and description headers and consistently format them.
 - Rename all TestCase classes to "_T", which makes it much easier to run
   individual tests from the command line.
 - Testsuite: Verify that report details are/are not shown. This uncovered that
   details about package installation failures were not shown before sending
   them, which is fixed now.

Bug fixes:
 - test/hooks: Do not try to add hook information to kernel_crashdump test
   case, since we do not have an UI here. This test case broke when the system
   had an interactive package hook for the kernel.
 - When reporting a bug from a saved .apport file, let the user review/confirm
   the content before sending.

1.10.1 (2009-12-23)
-------------------
Improvements:
 - Install apport-collect symlink.
 - Update translations from Launchpad.

Bug fixes:
 - Move all remaining option/argument parsing from apport-bug into ui.py. This
   allows the user to add options to apport-bug/apport-collect, and also avoids
   unwieldy dissection of options/arguments in shell.

1.10 (2009-12-19)
-----------------
New features:
 - Add a mode for updating an existing problem report to ui.py (-u/--update).
   This is similar to the Ubuntu specific "apport-collect" tool, but
   implemented the right way now: In particular, this has access to the UI and
   thus can use interactive hooks (LP: #385811) and show you what is being sent
   for confirmation/cancelling (LP: #371827)
 - apport-bug: If invoked as "apport-collect" or "apport-update-bug" (i. e.
   through a symlink), run apport in update mode (-u <number>). This provides a
   convenient no-options command line program. Please note that setup.py does
   not currently install such a symlink. Update the apport-bug manpage
   accordingly.

Improvements:
 - launchpad.py: Use new login_with() to clean up code, and specify allowed
   access levels (WRITE_PRIVATE is the only sensible one anyway). (LP: #410205)
 - New hookutils functions:
   xsession_errors (match lines from ~/.xsession-errors)
   shared_libraries (determine which libraries a binary links with)
   links_with_shared_library (test if a binary links with a particular library)
 - New CrashDatabase API: get_affected_packages(), can_update(), is_reporter()
 - Rename CrashDatabase.update() to update_traces().
 - Add CrashDatabase.update() for adding all new fields of a report. This is
   primarily useful for collecting local standard and package hook data for an
   already existing bug report which was not filed through Apport. This checks
   can_update()/is_reporter() if the user is eligible for updating that
   particular bug. (LP: #485880)

Bug fixes:
 - Ignore SIGXCPU and SIGXFSZ; thanks to Kees Cook. (LP: #498074)
 - launchpad.py: Do not mark non-Ubuntu bugs as needs-retrace, since there is
   no retracer right now. (LP: #489794)
 - packaging-apt-dpkg.py, install_retracing_packages(): Do not crash on
   malformed Dependencies.txt lines. (LP: #441709)
 - use-local: Fix for new source tree location of "apport" binary.

1.9.6 (2009-12-01)
------------------
Improvements:
 - Add pm-utils hook to record current operation, so that apportcheckresume can
   check it. Before this was kept in Ubuntu's pm-utils package.
 - general-hooks/generic.py: Check if using ecryptfs, and which directory.
   (LP: #444656)

Bug fixes:
 - launchpad.py: Ensure that text attachments on initial bug filing are valid
   UTF-8. (LP: #453203)
 - man/apport-retrace.1: Document -R option.

1.9.5 (2009-11-20)
------------------
Bug fixes:
 - apport-retrace: Fix crash if InterpreterPath/ExecutablePath do not exist.
 - hookutils.py, attach_alsa(): Attach /proc/cpuinfo too, for CPU flags.
 - Fix crash if InterpreterPath does not exist any more at the time of
   reporting. (LP: #428289)
 - apport-gtk: Connect signals properly, to repair cancel/window close buttons.
   (LP: #427814)
 - Update German translations and fix "konnre" typo. (LP: #484119)

1.9.4 (2009-11-06)
------------------
Bug fixes:
 - Fix crash when ExecutablePath isn't part of a package. (LP: #424965)
 - hookutils.py, attach_hardware(): Anonymize disk labels. Thanks to Marco
   Rodrigues. (LP: #394411)
 - hookutils.py, attach_wifi(): Anonymize encryption key (which appeared in hex
   when being called as root). Thanks to Marco Rodrigues. (LP: #446299)
 - launchpad.py: If unset, set bug task source package also for interpreter
   crashes.
 - apport-gtk: Give details window a minimize/maximize button, which were
   missing in some window managers. Thanks to Marien Zwart. (LP: #447749)
 - apport-kde: Properly terminate program after closing the last dialog.
   (LP: #458662)
 - hookutils.py, attach_alsa(): Attach /proc/asound/version. (LP: #467233)
 - general-hooks/generic.py: Only collect ~/.xsession-errors bits when we have
   an ExecutablePath linked to libgtk.

1.9.3 (2009-10-14)
------------------
Changes:
 - Drop handling of the APPORT_REPORT_THIRDPARTY environment variable and
   "thirdparty" configuration file option. This has never been documented, and
   conceptually does not work. There is a proper mechanism for this in place
   now, e. g. launchpad.py's "project" option.

Bug fixes:
 - hookutils.py: Fix error codes from "comm", thanks to Brian Murray.
 - general-hooks/generic.py: Catch xkbcomp error messages. (LP: #431807)
 - launchpad.py: Assert that we have exactly one of "distro" or "project"
   option.
 - doc/crashdb-conf.txt: Improve documentation of crash database options.
 - apport-gtk: Make Cancel/Send buttons focusable. Thanks to Marco Rodrigues.
   (LP: #447780)

1.9.2 (2009-10-02)
------------------
Improvements:
 - apport-cli: Print the URL and ask whether to open a browser. In many
   situations (such as usage on a server through ssh), it's preferable to not
   open the browser on the reporting computer. Thanks to Matt Zimmerman for the
   initial patch! (LP: #286415)
 - general-hooks/generic.py: Collect important glib errors/assertions (which
   should not have private data) from ~/.xsession-errors (LP: #431807)
 - launchpad.py: Link hardware data submission key if it exists. (LP: #424382)

Bug fixes:
 - apport-cli: Fix crash with non-ASCII characters in prompts.
 - Fix "apport-bug symptomname" to actually work.
 - launchpad.py: Fix crash on invalid credentials file. Thanks to Marco
   Rodrigues for the initial patch! (LP: #414055)

1.9.1 (2009-09-22)
------------------
Bug fixes:
 - hookutils.py, attach_hardware(): Do not attach empty Pccardctl*.
 - apport/report.py, add_gdb_info(): Do not throw away stderr from gdb.
 - data/general-hooks/parse_segv.py:
   + Handle arithmetic wrapping correctly.
   + Handle empty base, scale, or index registers in disassembly.
   + Handle in/out ioport faults.
 - Various improvements to user-visible strings, thanks to Marco Rodrigues!
   (LP: #178507)
 - Various apport-retrace robustifications.
 - setup.py: Fix DistUtilsExtra version check. (LP: #428337)
 - hookutils.py, attach_gconf(): Do not overwrite previous values from other
   packages, thanks Loïc Minier!
 - hookutils.py, attach_gconf(): Fix crash with nonexisting <applyto> tags.

1.9 (2009-09-08)
----------------
New features:
 - Add "do what I mean" mode to command line argument parsing (applies to all
   interfaces: -cli, -gtk, -kde). When giving a single argument and no options,
   determine the most likely mode, like reporting a bug against a symptom,
   package, executable name, or PID.
 - Add program "apport-bug" which determines the most appropriate user
   interface (GTK, KDE, CLI) and files a bug through it, using the single
   argument "do what I mean" mode. This is an improved version of Ubuntu's
   "ubuntu-bug" script.

Bug fixes:
 - Update apport-cli manpage to current set of options and behaviour. Also
   point out that apport-gtk and apport-kde share the same CLI.
 - setup.py now installs apport-{gtk,kde} into $prefix/share/apport/, they are
   not supposed to be called directly. This also reflects the path which the
   .desktop files expect.
 - setup.py now installs the internal helper scripts like "kernel_crashdump",
   "apport", or "apportcheckresume" into $prefix/share/apport instead of
   $prefix/bin.
 - Update usage of gettext to work around Python bug of gettext() not returning
   unicodes, but str. Fixes UnicodeDecodeErrors on translated --help output.

1.8.2 (2009-09-05)
------------------
Bug fixes.

1.8.1 (2009-09-03)
------------------
Lots of bug fixes.

1.8 (2009-08-26)
----------------
New features:
 - Do not generally ignore SIGABRT any more. Try to extract the assertion
   message from the core dump, and add it as "AssertionMessage" field. Mark
   reports as unreportable if they do not have an assertion message and crashed
   with SIGABRT. This requires your glibc to have this patch:
   http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=48dcd0ba
 - report.py, add_hooks_info(): Add optional package/srcpackage argument. Hooks
   can use that to change the affected package or call hooks from different
   packages.
 - KDE frontend implementation of ui_question_userpass(), for crash databases
   which need to ask for credentials.
 - hookutils.py: New funtion attach_wifi() to add wireless network related
   information to reports.

Important bug fixes:
 - Fix the test suite on current kernels; test/crash previously often failed
   with python segfaults, since it killed the test processes too early.

1.7 (2009-08-05):
-----------------
New features:
 - Support for "symptom" scripts, which figure out the package for a bug report
   based on interactive questions.

1.6 (2009-07-15)
----------------
New features:
 - Integrate analysis and retracing of kernel vmcore crashes with the "crash"
   tool. Courtesy of Michael Vogt.

Various little bug fixes.

1.5 (2009-06-29)
----------------
New features:
 - Drop all Makefiles, po/POTFILES.in, and most code from setup.py, and use
   DistUtilsExtras.auto which "just does the right thing" for most build system
   tasks. This requires python-distutils-extra >= 2.2, see
   https://launchpad.net/python-distutils-extra

Cleanup:
 - Move all test scripts into test/, to unclutter source tree.
 - setup.py now auto-detects the required packaging backend if
   apport/packaging_impl.py is not manually installed.

1.4 (2009-06-26)
----------------
New features:
 - Replaced Qt4 frontend with a KDE frontend for better KDE integration.

Major bug fixes:
 - packaging-apt-dpkg.py: Add backwards compatibility code for python-apt <
   0.7.9 to not break backportability.

1.3 (2009-06-10)
----------------
New features:
- Interactive package hooks:
  * Add apport.ui.HookUI class which provides GUI functionality such as yes/no
    questions or file dialogs to hooks.
  * add_info() in package hooks now can (optionally) take a second argument which
    is the HookUI instance.
  * See doc/package-hooks.txt for details.
- New function apport.hookutils.root_command_output() to run a command as root,
  through gksu/kdesudo/sudo, depending on the desktop environment.
- Add general hook for analyzing reason of a segfault.

Bug fixes:
- Drop "UnsupportableReason" field, it is too similar to UnreportableReason and
  just confusing.
- Report key names can now contain dashes ('-') and underscores ('_').
  (LP #380811)

1.2.1 (2009-05-15)
------------------
Bug fixes:
- Fix setup.py and PO file merging for recent .glade -> .ui renaming.

Translations:
- Update German translations.

1.2.0 (2009-05-15)
------------------
Moving away from deprecated APIs:
- packaging-apt-dpkg.py: Use python-apt >= 0.7.9 official API and drop usage of
  internal symbols.
- hookutils.py: Drop hal related functions and queries, replace with udev
  database, udev log file, and DMI information from sysfs.
- gtk UI: Convert from libglade to gtk.Builder.

Bug fixes:
- hookutils.py: Drop /proc/version_signature collection, it is Ubuntu specific.
- apportcheckresume: Fix log collection from pm-utils.
- Fix various crashes and report properties for reporting against uninstalled
  packages.

1.1.1 (2009-04-30)
------------------
Security fix:
- etc/cron.daily/apport: Only attempt to remove files and symlinks, do not
  descend into subdirectories of /var/crash/. Doing so might be exploited by a
  race condition between find traversing a huge directory tree, changing an
  existing subdir into a symlink to e. g. /etc/, and finally getting that piped
  to rm. This also changes the find command to not use GNU extensions.  Thanks
  to Stephane Chazelas for discovering this! (LP #357024, CVE-2009-1295)

Bug fixes:
- launchpad.py: Send and read Date: field again, reverting r1128; it is useful
  after all. (LP #349139)
- Only add ProcAttrCurrent to reports if it is not "unconfined", to remove some
  noise from reports.
- Detect invalid PIDs in the UI (such as for kernel processes) and give a
  friendly error message instead of silently doing nothing. (LP #360608)
- Always run common hooks, and run source package hooks if we do not have a
  binary package name. (LP #350131)
- launchpad.py: Consider socket errors when connecting as transient, so
  that crash-digger doesn't stop completely on them.

1.1 (2009-04-20)
----------------
New features:
- Add hookutils methods for attaching relevant packages, greatly improve
  attach_alsa() for sound problem debugging. 
- Move launchpad crash database implementation from ever-breaking
  python-launchpad-bugs (screenscraping) to launchpadlib (official and stable
  Launchpad API).

Bug fixes:
- Drop some remaining distro specific pieces of code.
- Add new field Report.pid which gets set on add_proc_info() and can be used by
  hooks.
- setup.py: Properly clean up all generated files, install missing
  mimetypes/text-x-apport.svg icon symlink.
- Add README file.
- Add translations from Launchpad.
- Remove preloadlib/*; it's undermaintained, and not really useful any more
  these days.
- Various bug fixes; most visible being the misnamed etc/default/apport.default
  file (which should just be etc/default/apport).

1.0 (2009-04-06)
----------------
First upstream release, based on Ubuntu packaging branch; that had been the
de-facto trunk for many years, but this becomes unpractical with several
distributions using it now.