diff options
author | Karl Berry <karl@freefriends.org> | 2013-04-07 18:49:29 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-04-07 18:49:29 +0000 |
commit | 0746296a289b6a5486fcfbfb4c59f20f09d07c31 (patch) | |
tree | 436cff932182cdc9561a3396b49259ed95d91c40 /Master/texmf-dist/web2c/mktexupd | |
parent | c3cb2b9c6a7c64c095d84a47a60424858b934e70 (diff) |
texmf -> texmf-dist: web2c
git-svn-id: svn://tug.org/texlive/trunk@29723 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/web2c/mktexupd')
-rwxr-xr-x | Master/texmf-dist/web2c/mktexupd | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/Master/texmf-dist/web2c/mktexupd b/Master/texmf-dist/web2c/mktexupd new file mode 100755 index 00000000000..1636e683f45 --- /dev/null +++ b/Master/texmf-dist/web2c/mktexupd @@ -0,0 +1,58 @@ +#!/bin/sh +# mktexupd -- update ls-R with a new entry. +# +# Primarily written by Thomas Esser, Karl Berry, and Olaf Weber. +# Public domain. +# $Id: mktexupd 18383 2010-05-20 18:31:24Z karl $ + +version='$Id: mktexupd 18383 2010-05-20 18:31:24Z karl $' +usage="Usage: $0 DIR FILE. + Update the ls-R file with an entry for FILE in DIR." +mt_min_args=2 +mt_max_args=2 + +# Common code for all scripts. +: ${MT_TEXMFMAIN=`kpsewhich --expand-path='$TEXMFMAIN'`} +: ${MT_MKTEX_OPT=`kpsewhich --format='web2c files' mktex.opt`} +test -n "$MT_MKTEX_OPT" || MT_MKTEX_OPT="$MT_TEXMFMAIN/web2c/mktex.opt" +if test ! -f "$MT_MKTEX_OPT"; then + echo "$0: Cannot find mktex.opt; check your installation." >&2 + exit 1 +fi + +. "$MT_MKTEX_OPT" + +dir=$1 +file=$2 +test -d "$dir" || { echo "$0: $dir not a directory." >&2; exit 1; } +test -f "$dir/$file" || { echo "$0: $dir/$file not a file." >&2; exit 1; } + +OIFS=$IFS; IFS=$SEP; set x `kpsewhich -show-path=ls-R`; shift; IFS=$OIFS +TEXMFLS_R= +for d in "$@"; do + case $dir in + "") continue;; + ${d}|${d}/*) TEXMFLS_R="$d"; break;; + esac +done +test -n "$TEXMFLS_R" || exit 0 +db_file="$TEXMFLS_R/ls-R" +db_file_lc="$TEXMFLS_R/ls-r" + +test ! -f "$db_file" && test -f "$db_file_lc" && db_file="$db_file_lc" +test -f "$db_file" || { mktexlsr "$TEXMFLS_R"; exit; } +test -w "$db_file" || { echo "$0: $db_file unwritable." >&2; exit 1; } + +test "x`sed '1s/
$//;1q' \"$db_file\"`" = "x$ls_R_magic" \ + || test "x`sed '1s/
$//;1q' \"$db_file\"`" = "x$old_ls_R_magic" \ + || { echo "$0: $db_file lacks magic string \`$ls_R_magic'." >&2; exit 1; } + +# Change `$TEXMFLS_R/' to `./'. +dir=`echo $dir | sed "s%^$TEXMFLS_R/%./%g"` + +# May as well always put in a new directory entry; presumably cron will +# come along soon enough and clean things up. +echo "$dir:" >>"$db_file" +echo "$file" >>"$db_file" + +exit 0 |