diff -u vm-builder-0.10/debian/changelog vm-builder-0.10/debian/changelog --- vm-builder-0.10/debian/changelog +++ vm-builder-0.10/debian/changelog @@ -1,3 +1,15 @@ +vm-builder (0.10-0ubuntu2) jaunty; urgency=low + + * fix traceback due to kpartx failure (LP: #342359) + - VMBuilder/disk.py: sleep a few seconds to give the loopback devices + a chance to settle down, then try to unmount. If it fails, try a few + more times and if still fails, error out as before + * fix FTBFS due to python2.6 transition (LP: #354849) + - debian/python-vm-builder-ec2.install: use python2.6/dist-packages path + - debian/python-vm-builder.install: use python2.6/dist-packages path + + -- Jamie Strandboge Fri, 10 Apr 2009 10:23:19 -0500 + vm-builder (0.10-0ubuntu1) jaunty; urgency=low * New upstream release. only in patch2: unchanged: --- vm-builder-0.10.orig/VMBuilder/disk.py +++ vm-builder-0.10/VMBuilder/disk.py @@ -24,6 +24,7 @@ import re import string import tempfile +import time import VMBuilder from VMBuilder.util import run_cmd from VMBuilder.exception import VMBuilderUserError, VMBuilderException @@ -140,7 +141,25 @@ """ Destroy all mapping devices """ - run_cmd('kpartx', '-d', self.filename, ignore_fail=ignore_fail) + # first sleep to give the loopback devices a chance to settle down + time.sleep(3) + + tries = 0 + max_tries = 3 + while tries < max_tries: + try: + run_cmd('kpartx', '-d', self.filename, ignore_fail=False) + break + except: + pass + tries += 1 + time.sleep(3) + + if tries >= max_tries: + # try it one last time + logging.info("Could not unmount '%s' after '%d' attempts. Final attempt" % (self.filename, tries)) + run_cmd('kpartx', '-d', self.filename, ignore_fail=ignore_fail) + for part in self.partitions: self.mapdev = None only in patch2: unchanged: --- vm-builder-0.10.orig/debian/python-vm-builder-ec2.install +++ vm-builder-0.10/debian/python-vm-builder-ec2.install @@ -1 +1 @@ -debian/tmp/usr/lib/python2.5/site-packages/VMBuilder/plugins/ec2 +debian/tmp/usr/lib/python2.6/dist-packages/VMBuilder/plugins/ec2 only in patch2: unchanged: --- vm-builder-0.10.orig/debian/python-vm-builder.install +++ vm-builder-0.10/debian/python-vm-builder.install @@ -1,12 +1,12 @@ debian/tmp/etc debian/tmp/usr/bin/vmbuilder -debian/tmp/usr/lib/python2.5/site-packages/VMBuilder/*.py -debian/tmp/usr/lib/python2.5/site-packages/VMBuilder/plugins/*.py -debian/tmp/usr/lib/python2.5/site-packages/VMBuilder/plugins/cli -debian/tmp/usr/lib/python2.5/site-packages/VMBuilder/plugins/firstscripts -debian/tmp/usr/lib/python2.5/site-packages/VMBuilder/plugins/kvm -debian/tmp/usr/lib/python2.5/site-packages/VMBuilder/plugins/libvirt -debian/tmp/usr/lib/python2.5/site-packages/VMBuilder/plugins/postinst -debian/tmp/usr/lib/python2.5/site-packages/VMBuilder/plugins/ubuntu -debian/tmp/usr/lib/python2.5/site-packages/VMBuilder/plugins/xen -debian/tmp/usr/lib/python2.5/site-packages/VMBuilder/plugins/vmware +debian/tmp/usr/lib/python2.6/dist-packages/VMBuilder/*.py +debian/tmp/usr/lib/python2.6/dist-packages/VMBuilder/plugins/*.py +debian/tmp/usr/lib/python2.6/dist-packages/VMBuilder/plugins/cli +debian/tmp/usr/lib/python2.6/dist-packages/VMBuilder/plugins/firstscripts +debian/tmp/usr/lib/python2.6/dist-packages/VMBuilder/plugins/kvm +debian/tmp/usr/lib/python2.6/dist-packages/VMBuilder/plugins/libvirt +debian/tmp/usr/lib/python2.6/dist-packages/VMBuilder/plugins/postinst +debian/tmp/usr/lib/python2.6/dist-packages/VMBuilder/plugins/ubuntu +debian/tmp/usr/lib/python2.6/dist-packages/VMBuilder/plugins/xen +debian/tmp/usr/lib/python2.6/dist-packages/VMBuilder/plugins/vmware