catalyst/targets/generic_target.py: Pass TERM through to the chroot
authorW. Trevor King <wking@tremily.us>
Fri, 27 Dec 2013 02:40:10 +0000 (18:40 -0800)
committerBrian Dolbec <dolsen@gentoo.org>
Wed, 2 Apr 2014 20:04:22 +0000 (13:04 -0700)
Avoid:

  Running stage1-chroot.sh in chroot /var/tmp/catalyst/tmp/default/...
  tput: No value for $TERM and no -T specified

by passing the caller's TERM environment variable [1] through to the
chroot.  If the caller does not supply TERM, default to 'dumb' which
disables color etc., but should be the most portable.  On Gentoo, the
dumb terminfo (/usr/share/terminfo/d/dumb) is distributed as part of
ncurses [2].  You can list supported terminals with toe, which is also
distributed with ncurses [2]:

  $ toe
  ansi            ansi/pc-term compatible with color
  dumb            80-column dumb tty
  linux           linux console
  ...

[1]: http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_03
[2]: http://www.gnu.org/software/ncurses/

catalyst/targets/generic_target.py

index de519942063da6fb479f66bdf145c4cb6ec84b77..382f1c764d3866249e5f1e4bafeff220b893478a 100644 (file)
@@ -1,3 +1,5 @@
+import os
+
 from catalyst.support import *
 
 class generic_target:
@@ -7,5 +9,7 @@ class generic_target:
        def __init__(self,myspec,addlargs):
                addl_arg_parse(myspec,addlargs,self.required_values,self.valid_values)
                self.settings=myspec
-               self.env={}
-               self.env["PATH"]="/bin:/sbin:/usr/bin:/usr/sbin"
+               self.env = {
+                       'PATH': '/bin:/sbin:/usr/bin:/usr/sbin',
+                       'TERM': os.getenv('TERM', 'dumb'),
+                       }