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.

Reply via email to