From 977edb3185fe8f0cc01840227ac6d3ea1785d3c9 Mon Sep 17 00:00:00 2001 From: Richard Jones Date: Fri, 26 Mar 2010 20:08:45 +0000 Subject: [PATCH] rescue: Pass $TERM from library into the virt-rescue appliance. We set it on the kernel command line, then get it out from there when the rescue appliance boots. --- appliance/init | 2 +- src/guestfs.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/appliance/init b/appliance/init index a3f4784..f399916 100755 --- a/appliance/init +++ b/appliance/init @@ -78,7 +78,7 @@ if ! grep -sq guestfs_rescue=1 /proc/cmdline; then fi # Use appliance in rescue mode, also used by the virt-rescue command. -TERM=linux ;# XXX library should pass this from library's environment +eval $(grep -Eo 'TERM=[^[:space:]]+' /proc/cmdline) PS1='> ' export TERM PS1 echo diff --git a/src/guestfs.c b/src/guestfs.c index e6fcb0e..e235fdc 100644 --- a/src/guestfs.c +++ b/src/guestfs.c @@ -1257,10 +1257,12 @@ guestfs__launch (guestfs_h *g) "%s " /* (selinux) */ "%s " /* (vmchannel) */ "%s " /* (verbose) */ + "TERM=%s " /* (TERM environment variable) */ "%s", /* (append) */ g->selinux ? "selinux=1 enforcing=0" : "selinux=0", vmchannel ? vmchannel : "", g->verbose ? "guestfs_verbose=1" : "", + getenv ("TERM") ? : "linux", g->append ? g->append : ""); add_cmdline (g, "-kernel"); -- 1.8.3.1