[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

lh_builds breaks without error message



On Thu, Nov 22, 2007 at 02:38:42PM +0100, Sebastian Holler wrote:
> I've now found the reason for this problem.
> 
> The script "/usr/bin/lh_chroot_devpts" unmounts "chroot/dev/pts" only if
> the file or directory "chroot/dev/pts/0" is existing.
> 
> On my computer there isn't any "chroot/dev/pts/0" file/directory when
> lh_build runs. So "chroot/dev/pts" is never unmounted and when lh_build
> tries to mount "chroot/dev/pts" again (after the output: "P: Begin
> copying chroot P: This may take a while"), the mount-command breaks.
> 
> I know, the hack I recommended 2 days ago in a mail to Joe Ruddy doesn't
> really solve the problem. (Especially because "grep" finds a
> "/dev/pts"-string not only if "devpts-live" is already mounted, but also
> if "/dev/pts" is mounted on the host-system by default. Therefore my
> hack causes that "devpts-live" will NEVER be mounted.)
> 
> I think it's better to change the unmounting-routine at line 80 in
> /usr/bin/lh_chroot_devpts
> from:
> 
> ...
> if [ -e chroot/dev/pts/0 ]
> ...
> 
> to:
> ...
> if [ -n "`mount | grep -E 'devpts-live.*chroot/dev/pts'`" ]
> ...
Won't this break concurrent d-l builds (eg. by different users)?

Is it ok to use initscript's /bin/mountpoint instead?  Erm, nvm, the logic in
that tool seems to be broken (right?):

|       r = (st.st_dev != st2.st_dev) ||
|           (st.st_dev == st2.st_dev && st.st_ino == st2.st_ino);




Reply to: