summaryrefslogtreecommitdiffstats
path: root/bin/sbuild-qemu-update
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-09-19 04:58:37 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-09-19 04:58:37 +0000
commit9690a92a495086ded1e1a95f2cd4a9247d9035d6 (patch)
tree3bfa7968ee405064e4b1b42a6201b8fbcb4a08c5 /bin/sbuild-qemu-update
parentAdding debian version 0.85.10. (diff)
downloadsbuild-9690a92a495086ded1e1a95f2cd4a9247d9035d6.tar.xz
sbuild-9690a92a495086ded1e1a95f2cd4a9247d9035d6.zip
Merging upstream version 0.85.11.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rwxr-xr-xbin/sbuild-qemu-update16
1 files changed, 15 insertions, 1 deletions
diff --git a/bin/sbuild-qemu-update b/bin/sbuild-qemu-update
index 6e08274..2de7ab5 100755
--- a/bin/sbuild-qemu-update
+++ b/bin/sbuild-qemu-update
@@ -180,6 +180,12 @@ def update_interaction(child, quiet):
child.expect('root@host:~# ')
child.sendline('sync')
child.expect('root@host:~# ')
+ child.sendline('mount -o remount,discard /')
+ child.expect('root@host:~# ')
+ child.sendline('fstrim /')
+ child.expect('root@host:~# ')
+ child.sendline('sync')
+ child.expect('root@host:~# ')
# Don't recall what issue this solves, but it solves it
child.sendline('sleep 1')
child.expect('root@host:~# ')
@@ -257,7 +263,7 @@ def main():
'-m', '1024',
'-smp', '1',
'-nographic',
- image,
+ '-drive', f'file={image},discard=unmap,if=virtio',
])
if parsed_args.extra_args:
args.extend(parsed_args.extra_args)
@@ -278,6 +284,14 @@ def main():
except pexpect.TIMEOUT:
print("Update timed out. Consider using --timeout.", file=sys.stderr)
child.terminate()
+ child.wait()
+
+ try:
+ subprocess.check_call(["qemu-img", "convert", "-O", "qcow2", image, f"{image}.tmp"])
+ except subprocess.CalledProcessError as err:
+ print(f"Error converting image: {err}", file=sys.stderr)
+ return
+ os.replace(f"{image}.tmp", image)
if __name__ == '__main__':