From: Richard Jones Date: Fri, 26 Mar 2010 20:08:45 +0000 (+0000) Subject: rescue: Pass $TERM from library into the virt-rescue appliance. X-Git-Tag: 1.0.88~1 X-Git-Url: http://git.annexia.org/?a=commitdiff_plain;h=977edb3185fe8f0cc01840227ac6d3ea1785d3c9;p=libguestfs.git 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. --- 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");