I also had the problem building a lucid image but the added sync line did not help.
I added the -l option (lazy unmount) to both umount commands in plugins/ubuntu/dapper.py and util.py and it worked and the devices got unmounted.
util.py (starting in line 194):
def clean_up_tmpfs(mount_point):
"""Unmounts a tmpfs storage under `mount_point`."""
umount_cmd = ["umount", "-l", "-t", "tmpfs", mount_point ]
logging.info('Unmounting tmpfs from %s' % mount_point)
logging.debug('Executing: %s' % umount_cmd)
run_cmd(*umount_cmd)
plugins/ubuntu/dapper.py (line 116)
(I left the sync in there, guess it'd also work without the line)
def unmount_dev(self): self.context.cancel_cleanup(self.unmount_dev)
run_cmd('sync') # added by me run_cmd('umount', '-l', '%s/dev' % self.context.chroot_dir)
I also had the problem building a lucid image but the added sync line did not help.
I added the -l option (lazy unmount) to both umount commands in plugins/ ubuntu/ dapper. py and util.py and it worked and the devices got unmounted.
util.py (starting in line 194): tmpfs(mount_ point): info('Unmountin g tmpfs from %s' % mount_point) debug(' Executing: %s' % umount_cmd) cmd(*umount_ cmd)
def clean_up_
"""Unmounts a tmpfs storage under `mount_point`."""
umount_cmd = ["umount", "-l", "-t", "tmpfs", mount_point ]
logging.
logging.
run_
plugins/ ubuntu/ dapper. py (line 116)
self.context. cancel_ cleanup( self.unmount_ dev)
run_cmd( 'umount' , '-l', '%s/dev' % self.context. chroot_ dir)
(I left the sync in there, guess it'd also work without the line)
def unmount_dev(self):
run_cmd('sync') # added by me