Bug#849544: bind mount for home directory needed if not on root fs

2016-12-29 Thread Marc Haber
On Thu, Dec 29, 2016 at 07:18:42PM +0100, Stephan Sürken wrote:
> On Mi, 2016-12-28 at 13:13 +0100, Marc Haber wrote:
> > Package: mini-buildd
> > Version: 1.0.27
> > Severity: normal
> 
> (...)
> 
> > My current fix is not a real fix since /etc/schroot/mini-buildd/fstab
> > is likely to be overwritten with the next mini-buildd update.
> > 
> > How would a local admin make mini-buildd work in this environment? 
> 
> Local admins should do changes if needed in "fstab-generic" (also see
> comments in that file). You will get standard conffile handling for
> that file (while 'fstab' is auto-generated only).

Done. Thanks.

How about "you need to enter here bind mounts for a file systems
including the one containing mini-buildd's home directory so that the
home dir is also accessible in the build chroot".

Greetings
Marc

-- 
-
Marc Haber | "I don't trust Computers. They | Mailadresse im Header
Leimen, Germany|  lose things."Winona Ryder | Fon: *49 6224 1600402
Nordisch by Nature |  How to make an American Quilt | Fax: *49 6224 1600421



Bug#849544: bind mount for home directory needed if not on root fs

2016-12-29 Thread Stephan Sürken
On Mi, 2016-12-28 at 13:13 +0100, Marc Haber wrote:
> Package: mini-buildd
> Version: 1.0.27
> Severity: normal

(...)

> My current fix is not a real fix since /etc/schroot/mini-buildd/fstab
> is likely to be overwritten with the next mini-buildd update.
> 
> How would a local admin make mini-buildd work in this environment? 

Local admins should do changes if needed in "fstab-generic" (also see
comments in that file). You will get standard conffile handling for
that file (while 'fstab' is auto-generated only).

This should at least partly help (unless there are any order issues ;).

Hth,

S



Bug#849544: bind mount for home directory needed if not on root fs

2016-12-28 Thread Marc Haber
Package: mini-buildd
Version: 1.0.27
Severity: normal

Dear Maintainer,

on my Banana Pi buildd, mini-buildd doesn't run fine. I think I have
found a workaround, but am not sure whether this is the correct way to
fix.

My Banana Pi has its root fs on an SD card, which is _very_ slow. I
have therefore moved the mini-buildd home directory
/var/lib/mini-buildd to a "real" hard disk by means of mounting the
hard disk to /mnt and linking /var/lib/mini-buildd:

[23/664]mh@banana:~ $ df -h
Filesystem   Size  Used Avail Use% Mounted on
udev 498M 0  498M   0% /dev
tmpfs101M   11M   90M  11% /run
/dev/mapper/banana-root  6,0G  1,8G  4,3G  29% /
tmpfs503M   24K  503M   1% /dev/shm
tmpfs5,0M 0  5,0M   0% /run/lock
tmpfs503M 0  503M   0% /sys/fs/cgroup
tmpfs503M  8,0K  503M   1% /tmp
/dev/mmcblk0p1   236M   43M  181M  20% /boot
/dev/mapper/banana-root  6,0G  1,8G  4,3G  29% 
/mnt/snapshots/banana-root
/dev/mapper/banana_data-banana_data   30G  938M   27G   4% /mnt/banana-data
tmpfs2,0G 0  2,0G   0% 
/var/lib/schroot/union/overlay
tmpfs101M 0  101M   0% /run/user/1001
[24/665]mh@banana:~ $ getent passwd mini-buildd
mini-buildd:x:112:118:Custom Debian buildd:/var/lib/mini-buildd:/bin/bash
[25/666]mh@banana:~ $ getent group mini-buildd
mini-buildd:x:118:
[26/667]mh@banana:~ $ ls -ald /var/lib/mini-buildd
lrwxrwxrwx 1 root root 28 Sep 30  2015 /var/lib/mini-buildd -> 
/mnt/banana-data/mini-buildd/
[29/670]mh@banana:~ $ sudo pvs
  PV VG  Fmt  Attr PSize  PFree
  /dev/mmcblk0p2 banana  lvm2 a--   7,16g 164,00m
  /dev/sda1  banana_data lvm2 a--  37,26g   3,26g
[30/670]mh@banana:~ $ sudo vgs
  VG  #PV #LV #SN Attr   VSize  VFree
  banana1   2   0 wz--n-  7,16g 164,00m
  banana_data   1   3   0 wz--n- 37,26g   3,26g
[31/671]mh@banana:~ $ sudo lvs
  LV  VG  Attr   LSize  Pool Origin Data%  Meta%  Move Log 
Cpy%Sync Convert
  rootbanana  -wi-ao  6,00g
  swap0   banana  -wi-a-  1,00g
  banana_data banana_data -wi-ao 30,00g
  swap0   banana_data -wi-ao  2,00g
  swap1   banana_data -wi-a-  2,00g
[32/672]mh@banana:~ $

In this setup, checking a dir chroot fails:

Dec 28 12:52:18 banana mini_buildd.call (0071): INFO: Called 
with retval 1: /usr/bin/schroot --chroot source:mini-buildd-stretch-armhf 
--user root -- /bin/sh -c "echo 'deb http://debian.debian.zugschlus.de/debian/ 
stretch main' >/etc/apt/sources.list"
Dec 28 12:52:18 banana mini_buildd.call (0114): WARNING : ? 
/usr/bin/schroot.. (stderr): I: 15mini-buildd-workarounds: I: Not acting on 
source chroots, skipping...
Dec 28 12:52:18 banana mini_buildd.call (0114): WARNING : ? 
/usr/bin/schroot.. (stderr): E: Failed to change to directory 
‘/mnt/banana-data/mini-buildd’: No such file or directory
Dec 28 12:52:18 banana mini_buildd.call (0114): WARNING : ? 
/usr/bin/schroot.. (stderr): I: The directory does not exist inside the chroot. 
 Use the --directory option to run the command in a different directory.
Dec 28 12:52:19 banana mini_buildd.models.base  (0078): ERROR   : check 
failed: Debian 'stretch:armhf' (overlayfs): Call failed with retval 1: 
'/usr/bin/schroot --chroot source:mini-buildd-stretch-armhf --user root -- 
/bin/sh -c "echo 'deb http://debian.debian.zugschlus.de/debian/ stretch main' 
>/etc/apt/sources.list" ' [base:365]

I do appreciate mini-buildd's logging as this error message is right
on the dot: /mnt/banana-data/mini-buildd does not exist in the chroot.

Indeed, calling 
/usr/bin/schroot --chroot source:mini-buildd-stretch-armhf --user root -- 
/bin/sh -c true
terminates with the same error message and an retval of 1.

/usr/bin/schroot --chroot source:mini-buildd-stretch-armhf --user root 
--directory /root -- /bin/sh -c true
works fine with a retval of 0.

In fact, I have later seen that many schroot calls done by mini-buildd
are done with --directory /.

While I have fixed the issue by modifying
/etc/schroot/mini-buildd/fstab to include
/mnt/banana-data/mini-buildd /mnt/banana-data/mini-buildd none rw,bind 0  0
I am wondering whether the failing call to mini-buildd (and probably
others) should just gtrow a --directory / option instead.

My current fix is not a real fix since /etc/schroot/mini-buildd/fstab
is likely to be overwritten with the next mini-buildd update.

How would a local admin make mini-buildd work in this environment? What
can mini-buildd do to stop this from happening in the future?

Greetings
Marc



-- System Information:
Debian Release: stretch/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: armhf (armv7l)