summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/web2c/mktexupd
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/web2c/mktexupd')
-rwxr-xr-xMaster/texmf-dist/web2c/mktexupd58
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