summaryrefslogtreecommitdiff
path: root/Build/source/texk/kpathsea/mktexupd
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-17 21:41:51 +0000
committerKarl Berry <karl@freefriends.org>2006-01-17 21:41:51 +0000
commit487ca4806cc046076293cf6cc5fbba0db282bac7 (patch)
tree847b412ab5158dd7bdd7ed7e5a4cc3fbca94be32 /Build/source/texk/kpathsea/mktexupd
parenta3d3111bfe26b8e5f5bc6049dfb2a4ca2edc7881 (diff)
texk 1
git-svn-id: svn://tug.org/texlive/trunk@1485 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/kpathsea/mktexupd')
-rwxr-xr-xBuild/source/texk/kpathsea/mktexupd56
1 files changed, 56 insertions, 0 deletions
diff --git a/Build/source/texk/kpathsea/mktexupd b/Build/source/texk/kpathsea/mktexupd
new file mode 100755
index 00000000000..317ec9eb8aa
--- /dev/null
+++ b/Build/source/texk/kpathsea/mktexupd
@@ -0,0 +1,56 @@
+#!/bin/sh
+# mktexupd -- update ls-R with a new entry.
+#
+# te@dbs.uni-hannover.de and kb@mail.tug.org. Public domain.
+
+version='$Id: mktexupd,v 1.20 2004/12/19 12:41:13 olaf Exp $'
+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