Comment 6 for bug 1489410

Revision history for this message
Martin Pitt (pitti) wrote :

This fix will now get along with a completely empty /var/lib/apt/lists/. Note that the directory /var/lib/apt/lists/partial/ itself still needs to be present (otherwise apt/python-apt will try to re-create it), but it does not need to contain any files any more. This should address this immediate bug and is unintrusive. I uploaded it to wily now and also uploaded a backport to the overlay PPA (2.17.2-0ubuntu1.3touch1). I tested this on mako on the rc-proposed/ubuntu channel, image #228.

This does not yet address snappy as completely dropping the dpkg database will lose any association of a file to a package, and thus also disable package hooks and the like. It's conceivable to write a completely new packaging backend for snappy which doesn't use dpkg/apt any more. But this shouldn't just be a drive-by bug report and is a lot of work:

  * Snappy team should discuss what kind of bug reports and crashes they expect for the snappy OS itself. I suppose this should not apply to third-party snaps but only the Ubuntu-provided minimal OS (or rather big desktop in case of personal). E. g. we supposedly don't need any kind of "Package:" error, we might not want the normal Ubuntu package hooks. Also, do you want the usual Package:/Dependencies: information, or something simpler (just the image version, etc.)?

  * Snappy team should discuss what kind of UI they want: Should crash reports be always sent non-interactively, phone style? Or should there be some UI to address privacy issues?

 * Is apport even still the right tool for this, or overly complex for Snappy and you actually just care for crashes? (There are alternatives like http://www.freedesktop.org/software/systemd/man/coredumpctl.html)

 * If the above discussion decides that the snappy team still wants the features of apport, we need a new apport packaging backend which can implement the API in http://bazaar.launchpad.net/~apport-hackers/apport/trunk/view/head:/apport/packaging.py without referring to dpkg/apt. I. e. this would mostly mean to provide an online service to map a file to a package, a file and a system image version to a package version, map a package of a particular version/system image to its dependencies, etc.

I. e. the snappy side of this requires some discussions and a proper blueprint. This shouldn't block this immediate phone issue which is apparently rather urgent, so I went ahead with the above simple and focussed fix.