Lucas Nussbaum <[EMAIL PROTECTED]> writes:

> perl failed to build using sbuild+schroot:
>
> On 07/05/08 at 10:46 +0200, Lucas Nussbaum wrote:
>> During a rebuild of all packages in sid, your package failed to build on
>> i386.
>> > lib/Module/Build/t/tilde......................................#   Failed 
>> > test at ../lib/Module/Build/t/tilde.t line 49.
>> > #          got: '/nonexistent'
>> > #     expected: '/home/user'
>> > FAILED at test 1
>> > Failed 1 test out of 1434, 99.93% okay.
>> >    ../lib/Module/Build/t/tilde.t
>
> It seems that this is caused by the fact that schroot logs in the user
> with $HOME set to the host's pwent, not the guest. My config is:
> host:
>   user's home: /home/user
> chroot:
>   user's home in /etc/passwd: /nonexistent (which doesn't exist)

Interesting.  Currently, we do make the assumption that the passwd
database is the same both inside and outside (and
/etc/schroot/setup.d/20copyfiles takes pains to make sure that this is
the case, though the defaults only work in a basic setup without NIS
or LDAP).

I could alter this to reread the information after we have chroot()ed,
though I will need to check that

- libc doesn't cache struct passwd records
- it doesn't cause a lot of breakage for non-standard setups where
  getpwent fails inside the chroot.

I would also be interested to know /why/ this fails in your case.
AFAIK it is perfectly legal to set $HOME to a value other than that
found in passwd.pw_dir; this should not cause breakage.  Should this
testcase really be expecting the two to match perfectly in all
situations?


Regards,
Roger

-- 
  .''`.  Roger Leigh
 : :' :  Debian GNU/Linux             http://people.debian.org/~rleigh/
 `. `'   Printing on GNU/Linux?       http://gutenprint.sourceforge.net/
   `-    GPG Public Key: 0x25BFB848   Please GPG sign your mail.

Attachment: pgpQfM9jRM1kU.pgp
Description: PGP signature

Reply via email to