Thursday, 21 January 2016

Re: RFC on Cloud Images: Make /tmp a tmpfs

On Thu, Jan 21, 2016 at 03:52:15AM +0100, Dustin Kirkland wrote:
> > What would be the guidance for 1) users; and 2) upstreams; if they want
> > large temporary filesystem space after this change? Would that be to use
> > /var/tmp in all relevant cases? And for upstreams, is this something
> > that they will accept that they can do universally, or is it behaviour
> > that they have to differentiate depending on the distro upon which they
> > are running?
> Good question... Solutions to insufficient available space in /tmp on
> tmpfs include any and all of the following:

I think we need a single canonical (small c) answer. Let's say that I'm
an upstream maintainer of a project that currently uses large amounts of
space in /tmp (say debdiff on kernel sources, for example). A user files
a bug that his machine now explodes when he uses my program. How should
I fix the bug?

Presumably things that require the user to fix his configuration are
out, because we expect things to Just Work by default. This is
especially the on Ubuntu, but also, any upstream project should be able
to achieve this goal directly by following the path we can lay out for
them. What is this path?

> (a) commenting out the "tmpfs /tmp tmpfs rw,nosuid,nodev" line in /etc/fstab
> (b) setting $TMPDIR to /var/tmp (or elsewhere) in your shell profile
> (c) pointing your application at /var/tmp (or elsewhere)
> (d) allocating sufficiently large swap partition(s) or swap file(s)
> to overflow into
> (e) using the swapspace package to dynamically grow/shrink swap on demand

All of these options would require user intervention, which I don't
think is acceptable.

For example, do we declare that all projects in our ecosystem (including
outside Ubuntu) need to use /var/tmp despite what TMPDIR says if they
need large amounts of /tmp space? Or do we invent LARGETMPDIR for the
entire ecosystem? Are any of these things acceptable to claim?

Or do we require all *packagers* of such upstream projects to arrange to
use /var/tmp instead? This would involve Debian agreeing with us, or us
introducing a delta in Ubuntu across many packages. Are any of these
options acceptable?