Simon McVittie writes ("Re: Bug#986665: $HOME not writable when using schroot"): > It turns out that Ian Jackson is an example of someone who specifically > *does* want their real $HOME to be mounted in the chroot, and rejects > the non-schroot backends for exactly this reason. I'll let you argue > this between yourselves and send a merge request if some sort of consensus > can be reached. > > Until then, the status quo wins. I'm sorry that I cannot achieve the > contradictory things that different developers require from me.
I think it is quite fair to wait for consensus to emerge here. Let me see if I can help get there. I think we should all be able to have things which we each consider nice, even if others consider them nasty :-). Particularly with schroot, since that's a very flexible piece of software. Earlier, Simon wrote: > The responsibility for making autopkgtest implement the spec is shared > between autopkgtest itself, the virt backend (in this case > -virt-schroot), and virt-backend-specific configuration: autopkgtest > can't really guarantee that an arbitrary chroot/container/VM > implements everything it needs, because you might have given it a > chroot that is missing important things or isn't even Debian-based. Absolutely. I think in particular, that it is often best to leave questions like $HOME to the virt-backend-specific configuration. In this case, AIUI Laurent's report it is that with "profile=sbuild", $HOME is absent entirely? ISTM that this is arguably a bug in something in schroot (maybe the sbuild preparation script). I think we have at least two reasonable ways to fix this bug so that the situation is more likely to comply with the spec in a default setup: * Decide that virt servers are allowed to not provide $HOME. Have the autopkgtest virt core check to see if some home directory exists, and "polyfill" it by using something near $AUTOPKGTEST_TMP. (Not *within* $AUTOPKGTEST_TMP because that namespace belongs to the test, not to autopkgtest.) * Decide that it is the job of a virt server to provide $HOME, and that for the schroot virt server it is the job of whatever creates the chroot. Patch sbuild-createchroot's sbuild profile to provide a dummy, writeable, empty, $HOME. Ian. Aside about "profile=default": AIUI with "profile=default" we bind-mount the real $HOME which does indeed make it possibly hazardous for use with autopkgtests, since those tests are possibly allowed to mess with $HOME. The Restrictions system could possibly be used to express "this test *breaks* $HOME". In practice, I think the requirement for a writeable $HOME is so that tools which use ~ for caches and other droppings don't fail needlessly. I think it would be good to state explicitly that "breaking" $HOME ought to be a Restriction (implied by breaks-testbed, perhaps, which tests are skipped by default with the schroot backend). -- Ian Jackson <ijack...@chiark.greenend.org.uk> These opinions are my own. Pronouns: they/he. If I emailed you from @fyvzl.net or @evade.org.uk, that is a private address which bypasses my fierce spamfilter.