X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=misc%2Frun_tic.in;h=b335b48e2a0dc578eade0dfea7eb9c727b84ee32;hp=192d8d02582f772ecb26df2d7c8782492f1d889c;hb=2ba352d86b57bddd1dd2a6e20892f380c34180b7;hpb=da518a7ad2d94c8e63186a49621e907967a31a37 diff --git a/misc/run_tic.in b/misc/run_tic.in index 192d8d02..b335b48e 100644 --- a/misc/run_tic.in +++ b/misc/run_tic.in @@ -1,7 +1,8 @@ #!@SHELL@ -# $Id: run_tic.in,v 1.28 2010/08/08 00:53:45 tom Exp $ +# $Id: run_tic.in,v 1.38 2020/02/15 15:30:53 tom Exp $ ############################################################################## -# Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. # +# Copyright 2019,2020 Thomas E. Dickey # +# Copyright 2000-2012,2017 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"), # @@ -36,24 +37,26 @@ # Assumes: # The leaf directory names (lib, tabset, terminfo) # -echo '** Building terminfo database, please wait...' +echo "** Building terminfo database, please wait..." # # The script is designed to be run from the misc/Makefile as # make install.data -: ${suffix=@PROG_EXT@} -: ${DESTDIR=@DESTDIR@} -: ${prefix=@prefix@} -: ${exec_prefix=@exec_prefix@} -: ${bindir=@bindir@} -: ${top_srcdir=@top_srcdir@} -: ${srcdir=@srcdir@} -: ${datadir=@datadir@} -: ${ticdir=@TERMINFO@} -: ${source=@TERMINFO_SRC@} -: ${LN_S="@LN_S@"} -: ${cross_compiling=no} -: ${ext_funcs=@NCURSES_EXT_FUNCS@} +: ${suffix:=@EXEEXT@} +: ${DESTDIR:=@DESTDIR@} +: ${prefix:=@prefix@} +: ${exec_prefix:=@exec_prefix@} +: ${bindir:=@bindir@} +: ${top_srcdir:=@top_srcdir@} +: ${srcdir:=@srcdir@} +: ${datarootdir:=@datarootdir@} +: ${datadir:=@datadir@} +: ${TIC_PATH:=@TIC@} +: ${ticdir:=@TERMINFO@} +: ${source:=@TERMINFO_SRC@} +: ${LN_S:="@LN_S@"} +: ${cross_compiling:=no} +: ${ext_funcs:=@NCURSES_EXT_FUNCS@} test -z "${DESTDIR}" && DESTDIR= @@ -65,19 +68,24 @@ then if test -f ../progs/tic$suffix then case "$PATH" in - @PATH_SEPARATOR@*) - PATH=../progs@PATH_SEPARATOR@../lib@PATH_SEPARATOR@${DESTDIR}$bindir$PATH + \@PATH_SEPARATOR@*) + PATH="../progs@PATH_SEPARATOR@../lib@PATH_SEPARATOR@${DESTDIR}$bindir$PATH" ;; *) - PATH=../progs@PATH_SEPARATOR@../lib@PATH_SEPARATOR@${DESTDIR}$bindir@PATH_SEPARATOR@$PATH + PATH="../progs@PATH_SEPARATOR@../lib@PATH_SEPARATOR@${DESTDIR}$bindir@PATH_SEPARATOR@$PATH" ;; esac export PATH - SHLIB="sh $srcdir/shlib" - TIC_PATH="$SHLIB tic" + if test @DFT_LWR_MODEL@ = shared + then + SHLIB="sh $srcdir/shlib" + TIC_PATH="$SHLIB tic" + else + TIC_PATH="tic" + fi elif test "$TIC_PATH" = unknown then - echo '? no tic program found' + echo "? no tic program found" exit 1 fi else @@ -98,17 +106,32 @@ SHLIB_HOST=@host_os@ export SHLIB_HOST # don't use user's TERMINFO variable -TERMINFO=${DESTDIR}$ticdir ; export TERMINFO +unset TERMINFO_DIRS +TERMINFO="${DESTDIR}$ticdir" ; export TERMINFO umask 022 # Construct the name of the old (obsolete) pathname, e.g., /usr/lib/terminfo. -TICDIR=`echo $TERMINFO | sed -e 's%/share/\([^/]*\)$%/lib/\1%'` +TICDIR=`echo "$TERMINFO" | sed -e 's%/share/\([^/]*\)$%/lib/\1%'` + +# Parent directory may not exist, which would confuse the install for hashed +# database. Fix. +PARENT=`echo "$TERMINFO" | sed -e 's%/[^/]*$%%'` +if test -n "$PARENT" +then + test -d $PARENT || mkdir -p $PARENT +fi # Remove the old terminfo stuff; we don't care if it existed before, and it # would generate a lot of confusing error messages if we tried to overwrite it. # We explicitly remove its contents rather than the directory itself, in case # the directory is actually a symbolic link. -( test -d "$TERMINFO" && cd $TERMINFO && rm -fr ? 2>/dev/null ) +if test -d "$TERMINFO" +then + ( cd "$TERMINFO" && rm -fr ? 2>/dev/null ) +elif test -f "$TERMINFO.db" +then + ( rm -f "$TERMINFO.db" 2>/dev/null ) +fi if test "$ext_funcs" = 1 ; then cat </dev/null ) - if ( cd $TICDIR 2>/dev/null ) + ( rm -f "$TICDIR" 2>/dev/null ) + if ( cd "$TICDIR" 2>/dev/null ) then - cd $TICDIR + cd "$TICDIR" TICDIR=`pwd` - if test $TICDIR != $TERMINFO ; then + if test "$TICDIR "!= "$TERMINFO "; then # Well, we tried. Some systems lie to us, so the # installer will have to double-check. echo "Verify if $TICDIR and $TERMINFO are the same." @@ -175,11 +200,11 @@ if test "$TICDIR" != "$TERMINFO" ; then if test "$RELATIVE" != "$ticdir" ; then RELATIVE=../`echo $ticdir|sed -e 's%^'$prefix'/%%' -e 's%^/%%'` fi - if ( @LN_S@ $RELATIVE $TICDIR ) + if ( @LN_S@ "$RELATIVE" "$TICDIR" ) then - echo '** sym-linked '$TICDIR' for compatibility' + echo "** sym-linked $TICDIR for compatibility" else - echo '** could not sym-link '$TICDIR' for compatibility' + echo "** could not sym-link $TICDIR for compatibility" fi fi fi