diff --git a/progs/capconvert b/progs/capconvert
new file mode 100755
index 0000000..8199bbf
--- /dev/null
+++ b/progs/capconvert
@@ -0,0 +1,256 @@
+#!/bin/sh
+##############################################################################
+# Copyright (c) 1998,2006 Free Software Foundation, Inc.                     #
+#                                                                            #
+# Permission is hereby granted, free of charge, to any person obtaining a    #
+# copy of this software and associated documentation files (the "Software"), #
+# to deal in the Software without restriction, including without limitation  #
+# the rights to use, copy, modify, merge, publish, distribute, distribute    #
+# with modifications, sublicense, and/or sell copies of the Software, and to #
+# permit persons to whom the Software is furnished to do so, subject to the  #
+# following conditions:                                                      #
+#                                                                            #
+# The above copyright notice and this permission notice shall be included in #
+# all copies or substantial portions of the Software.                        #
+#                                                                            #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
+# DEALINGS IN THE SOFTWARE.                                                  #
+#                                                                            #
+# Except as contained in this notice, the name(s) of the above copyright     #
+# holders shall not be used in advertising or otherwise to promote the sale, #
+# use or other dealings in this Software without prior written               #
+# authorization.                                                             #
+##############################################################################
+# $Id: capconvert,v 1.4 2006/04/22 21:46:17 tom Exp $
+#
+# capconvert -- automated conversion from termcap to terminfo
+#
+
+echo "This script tries to automatically set you up so that your applications"
+echo "that now use termcap can use terminfo and the ncurses library."
+echo ""
+
+# Note, except for telling if we're running under xterm we don't use TERM at
+# all.  This is because BSD users not infrequently have multiple termtypes
+# selected by conditionals in tset -- unless they're xterm users, in which
+# case they're on a workstation and probably don't.
+
+# Check to make sure TERMINFO is not already defined
+if test -n "$TERMINFO"
+then
+	echo "TERMINFO is already defined in your environment.  This means"
+	echo "you already have a local terminfo tree, so you do not need any"
+	echo "conversion."
+	if test ! -d $TERMINFO ; then
+		echo "Caution: TERMINFO does not point to a directory!"
+	fi
+	exit;
+fi
+
+# Check to see if terminfo is present in one of the standard locations.
+terminfo=no
+for p in $TERMINFO \
+	/usr/lib/terminfo \
+	/usr/share/lib/terminfo \
+	/usr/share/terminfo \
+	/usr/local/lib/terminfo \
+	/usr/local/share/terminfo
+do
+	if test -d $p ; then
+		terminfo=yes
+		break
+	fi
+done
+
+if test $terminfo = yes
+then
+	echo "Your system already has a system-wide terminfo tree."
+	echo ""
+	if test -z "$TERMCAP"
+	then
+		echo "You have no TERMCAP variable set, so we are done."
+		# Assumes the terminfo master covers all canned terminal types
+		exit;
+	fi
+	if test "$TERM" = "xterm"
+	then
+		echo "You are running xterm, which usually sets TERMCAP itself."
+		echo "We can ignore this, because terminfo knows about xterm."
+		echo "So you will just use the system-wide terminfo tree."
+		exit;
+	else
+		echo "We will have to make a local one for you anyway, to capture the effect"
+		echo "of your TERMCAP variable."
+	fi
+else
+	echo "No system-wide terminfo tree.  We will make you a local one."
+fi
+echo "";
+
+# Check if test -x works (it's not portable, but useful)
+OPT="-x"
+TMP=test$$; touch $TMP && chmod 755 $TMP
+if test $OPT $TMP ; then
+	chmod 644 $TMP
+	test $OPT $TMP && OPT="-f"
+else
+	OPT="-f"
+fi
+rm -f $TMP
+
+# First step -- go find tic
+TIC=
+IFS="${IFS= 	}"; save_ifs="$IFS"; IFS="${IFS}:"
+for x in $PATH .
+do
+	if test $OPT $x/tic
+	then 
+		TIC=$x/tic
+		break
+	fi
+done
+IFS="$ac_save_ifs"
+
+if test -n "$TIC"
+then
+	echo "I see tic at $TIC."
+	case $TIC in # (vi
+	./tic)
+		if test $OPT ../misc/shlib ; then
+			TIC="../misc/shlib $TIC"
+		fi
+		;;
+	esac
+else
+	echo "You do not have tic installed anywhere I can see, please fix that."
+	exit;
+fi
+echo "";
+
+# We have tic.  Either there's no system terminfo tree or there is one but
+# the user has a TERMCAP variable that may modify a stock description.
+#
+
+# Make the user a terminfo directory
+if test -d $HOME/.terminfo
+then
+	echo "It appears you already have a private terminfo directory"
+	echo "at $HOME/.terminfo; this seems odd, because TERMINFO"
+	echo "is not defined.  I am not going to second-guess this -- if you" 
+	echo "really want me to try auto-configuring for you, remove or"
+	echo "rename $HOME/terminfo and run me again."
+	exit;
+else
+	echo "I am creating your private terminfo directory at $HOME/.terminfo"
+	mkdir $HOME/.terminfo
+	# Ensure that that's where tic's compilation results.
+	# This isn't strictly necessary with a 1.9.7 or later tic.
+	TERMINFO="$HOME/.terminfo"; export TERMINFO
+fi
+echo "";
+
+# Find a terminfo source to work from
+if test -f ../misc/terminfo.src
+then
+	echo "I see the terminfo master source is handy; I will use that."
+	master=../misc/terminfo.src
+else
+	# Ooops...looks like we're running from somewhere other than the
+	# progs directory of an ncurses source tree.
+	master=`find $HOME -name "*terminfo.src" -print`
+	mcount=`echo $master | wc -l`
+	case $mcount in
+	0)
+		echo "I can not find a terminfo source file anywhere under your home directory."
+		echo "There should be a file called terminfo.src somewhere in your"
+		echo "ncurses distribution; please put it in your home directotry"
+		echo "and run me again (it does not have to live there permanently)."
+		exit;
+	;;
+	1)
+		echo "I see a file called $master."
+		echo "I am going to assume this is the terminfo source included with"
+		echo "the ncurses distribution.  If this assumption is wrong, please"
+		echo "interrupt me now!  OK to continue?"
+		read ans;
+	;;
+	2)
+		echo "I see more than one possible terminfo source.  Here they are:"
+		echo $master | sed "/^/s//	/";
+		while :
+		do
+			echo "Please tell me which one to use:"
+			read master;
+			if test -f $master
+			then
+				break
+			else
+				echo "That file does not exist. Try again?";
+			fi
+		done
+	;;
+	esac
+fi
+echo "";
+
+# Now that we have a master, compile it into the local tree
+echo "OK, now I will make your private terminfo tree.  This may take a bit..."
+#
+# Kluge alert: we compile terminfo.src in two pieces because a lot of machines
+# with < 16MB RAM choke on tic's core-hog habits.
+trap "rm -f tsplit$$.*" 0 1 2 5 15
+sed -n $master \
+	-e '1,/SPLIT HERE/w 'tsplit$$.01 \
+	-e '/SPLIT HERE/,$w 'tsplit$$.02 \
+	2>/dev/null
+for x in tsplit$$.*; do eval $TIC $x; done
+rm tsplit$$.*
+trap 0 1 2 5 15
+#
+echo "You now have a private tree under $HOME/.terminfo;"
+echo "the ncurses library will automatically read from it,"
+echo "and ncurses tic will automatically compile entries to it." 
+
+# We're done unless user has a .termcap file or equivalent named by TERMCAP
+if test -z "$TERMCAP"
+then
+	echo "You have no TERMCAP set, so we are done."
+fi
+
+# OK, here comes the nasty case...user has a TERMCAP.  Instead of
+# trying to follow all the convolutions of the relationship between
+# TERM and TERMCAP (partly because it's too painful, and partly because
+# we don't actually know what TERM will be nor even if it always has
+# the same value for this user) we do the following three steps...
+
+if test -f $HOME/.termcap
+then
+	echo 'I see you have a $HOME/.termcap file.  I will compile that.'
+	eval $TIC $HOME/.termcap
+	echo "Done."
+	echo "Note that editing $HOME/.termcap will no longer change the data curses sees."
+elif test -f "$TERMCAP"
+then 
+	echo "Your TERMCAP names the file $TERMCAP.  I will compile that."
+	eval $TIC $TERMCAP
+	echo "Done."
+	echo "Note that editing $TERMCAP will no longer change the data curses sees."
+else
+	echo "Your TERMCAP value appears to be an entry in termcap format."
+	echo "I will compile it."
+	echo $TERMCAP >myterm$$
+	eval $TIC myterm$$
+	rm myterm$$
+	echo "Done."
+	echo "Note that editing TERMCAP will no longer change the data curses sees."
+fi
+echo "To do that, decompile the terminal decription you want with infocmp(1),"
+echo "edit to taste, and recompile using tic(1)."
+
+# capconvert ends here
+
