From 73aa42a7f8ae263b7207d2c16b7f6bbdd83288f3 Mon Sep 17 00:00:00 2001 From: Ahurac Date: Mon, 11 Mar 2024 22:02:49 +0100 Subject: [PATCH] =?UTF-8?q?launchers/9p=20:=20passage=20=C3=A0=20Perl?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- qemu/launchers/9p | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/qemu/launchers/9p b/qemu/launchers/9p index 9417878..c5078d8 100755 --- a/qemu/launchers/9p +++ b/qemu/launchers/9p @@ -1,11 +1,22 @@ -#!/usr/bin/env sh -base=$(echo "$QEMUSH_BASE" | cut -d , -f 1) -QEMUSH_BASE=$(echo "$QEMUSH_BASE" | sed "s/^${base}//" | sed 's/^,//') +#!/usr/bin/env perl +use warnings; +use strict; -set -- "$base" \ - -fsdev local,security_model=passthrough,id=fsdev0,path="${HOME}/shared/${QEMUSH_NAME}" \ - -device virtio-9p-pci,id=fs0,fsdev=fsdev0,mount_tag=shared \ - "$@" +my @launchers_chain = ("kvm"); -set -x -exec "$@" +if (defined $ENV{'QEMUSH_BASE'}) { + @launchers_chain = split ",", $ENV{'QEMUSH_BASE'}; +} + +my $base = shift @launchers_chain; +$ENV{'QEMUSH_BASE'} = join ",", @launchers_chain; + +my @command = ( + $base, + "-fsdev", "local,security_model=passthrough,id=fsdev0,path=" . $ENV{'HOME'} . "/shared/" . $ENV{'QEMUSH_NAME'}, + "-device", "virtio-9p-pci,id=fs0,fsdev=fsdev0,mount_tag=shared", + @ARGV +); + +print "+ exec ", join(" ", @command), "\n"; +exec @command;