diff options
author | Karl Berry <karl@freefriends.org> | 2008-03-17 18:53:31 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2008-03-17 18:53:31 +0000 |
commit | 26552e74489ffe7f42996bf2497d3781bd6c244a (patch) | |
tree | 4efe51588562a09c71d29a2e2ff63195bd78e5f1 /Master/bin/i386-darwin/mktexlsr | |
parent | ca7d35717b5607eacec8e03c76d37e6d976ff31b (diff) |
prepare for restore
git-svn-id: svn://tug.org/texlive/trunk@6990 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/bin/i386-darwin/mktexlsr')
-rwxr-xr-x | Master/bin/i386-darwin/mktexlsr | 163 |
1 files changed, 0 insertions, 163 deletions
diff --git a/Master/bin/i386-darwin/mktexlsr b/Master/bin/i386-darwin/mktexlsr deleted file mode 100755 index 9f729e4d495..00000000000 --- a/Master/bin/i386-darwin/mktexlsr +++ /dev/null @@ -1,163 +0,0 @@ -#!/bin/sh -# original mktexlsr -- create or rebuild ls-R. -# -# (If you change or delete the word `original' on the previous line, -# installation won't write this script over yours.) -# -# Suitable for calling from cron, as in: -# 0 * * * * cd /your/texmf/root && /usr/local/bin/mktexlsr -# unless the scripts live in a different directory than the 'kpseaccess', -# 'kpsestat', 'kpsereadlink', and 'kpsewhich' binaries. -# -# Originally written as `texhash' by Thomas Esser -# <te@dbs.uni-hannover.de>, Okt., 1994. -# Public domain. - -version='$Id: mktexlsr,v 1.46 2005/06/21 14:32:26 olaf Exp $' -progname=`echo $0 | sed 's%.*/%%'` -usage="Usage: $progname [DIR]... - -Only options are --help, --version, and --verbose. If standard input is -a terminal, --verbose is on by default. - -Rebuild all necessary ls-R filename databases completely. If one or -more arguments DIRS are given, these are used as texmf directories to -build ls-R for. Else all directories in the search path for ls-R files -(\$TEXMFDBS) are used." - -# MS-DOS and MS-Windows define $COMSPEC or $ComSpec and use `;' to separate -# directories in path lists whereas Unix uses `:'. Make an exception for -# Cygwin, which pretends to be UNIX. -# Create a variable that holds the right character to be used by the scripts. -DOSISH=no -case `uname -s` in - CYGWIN*|Cygwin*|cygwin*) ;; - *) if test -n "$COMSPEC" || test -n "$ComSpec"; then DOSISH=yes; fi -esac -if test "$DOSISH" = "no"; then SEP=':'; else SEP=';';fi - -# Add the location of the script to the PATH if necessary. This must -# be done before kpsewhich can be called, and thus cannot be put into -# mktex.opt. -dirname=`echo $0 | sed 's%/*[^/][^/]*$%%'` -case $dirname in - "") # Do nothing - ;; - /* | [A-z]:/*) # Absolute name - PATH="$dirname$SEP$PATH" - export PATH ;; - *) # Relative name - PATH="`pwd`/$dirname$SEP$PATH" - export PATH ;; -esac - -if tty -s; then verbose=true; else verbose=false; fi - -# A copy of some stuff from mktex.opt, so we can run in the presence of -# terminally damaged ls-R files. -if test "x$1" = x--help || test "x$1" = x-help; then - echo "$usage" - exit 0 -elif test "x$1" = x--version || test "x$1" = x-version; then - echo "`basename $0` $version" - kpsewhich --version - exit 0 -elif test "x$1" = x--verbose || test "x$1" = x-verbose; then - verbose=true - shift -fi - -# mktexupd and mktexlsr make sure they're coordinated via this. A copy -# is found mktex.opt. -ls_R_magic='% ls-R -- filename database for kpathsea; do not change this line.' -# The old string, which should continue to work. -old_ls_R_magic='% ls-R -- maintained by MakeTeXls-R; do not change this line.' - -trap 'cd / ; test -z "$db_dir_tmp" || rm -rf "$db_dir_tmp"; exit' 0 1 2 3 7 13 15 - -# Get list of directories from $TEXMFDBS; eliminate duplicates. -test $# = 0 && { - OIFS=$IFS - IFS=' -' - set x `kpsewhich --show-path=ls-R | tr : ' -' | sort | uniq`; shift - IFS=$OIFS -} - -for TEXMFLS_R in "$@"; do - # Prepend cwd if the directory was relative. - case "$TEXMFLS_R" in - "") continue ;; # Strictly speaking, it is an error if this case is taken. - /* | [A-z]:/*) ;; - *) TEXMFLS_R="`pwd`/$TEXMFLS_R" - esac - # Allow for ls-R and ls-r to exist. But create ls-R if we're working - # from scratch. - if test -f "$TEXMFLS_R/ls-R"; then - db_file="$TEXMFLS_R/ls-R" - elif test -f "$TEXMFLS_R/ls-r"; then - db_file="$TEXMFLS_R/ls-r" - else - db_file="$TEXMFLS_R/ls-R" - fi - # Follow a possible symlink to get the right filesystem. - # The '|| true' construct prevents an sh -e aborting. - db_readlink=`kpsereadlink "$TEXMFLS_R/ls-R" 2>/dev/null` || true - case "$db_readlink" in - "") ;; - /* | [A-z]:/*) db_file="$db_readlink" ;; - *) db_file="$TEXMFLS_R/$db_readlink" - esac - db_dir=`echo "$db_file" | sed 's%/[^/][^/]*$%%'` # can't rely on dirname - - test -d "$db_dir" || continue - test -w "$db_dir" || { echo "$progname: $db_dir: directory not writable. Skipping..." >&2; continue; } - - if test ! -f "$db_file"; then - cp /dev/null "$db_file" - # Use same permissions as parent directory, minus x,s, or t bits. - chmod `kpsestat -xst "$db_dir"` "$db_file" - elif test -s "$db_file" \ - && test "x`sed '1s/
$//;1q' \"$db_file\"`" != "x$ls_R_magic" \ - && test "x`sed '1s/
$//;1q' \"$db_file\"`" != "x$old_ls_R_magic"; then - echo "$progname: $db_file lacks magic string. Skipping..." >&2 - continue - fi - - # Skip if we cannot write the file: - kpseaccess -w "$db_file" || { echo "$progname: $db_file: no write permission. Skipping..." >&2; continue; } - - db_dir_tmp="$db_dir/lsR$$.tmp" - (umask 077 && mkdir "$db_dir_tmp" ) \ - || { echo "$progname: could not create directory '$db_dir_tmp'. Skipping..." >&2; continue; } - db_file_tmp="$db_dir_tmp/lsR$$.tmp" - rm -f "$db_file_tmp" - - $verbose && echo "$progname: Updating $db_file... " >&2 - echo "$ls_R_magic" >"$db_file_tmp" - - # The main task. We put ./: in the output, so top-level files can be - # found via ls-R. Probably irrelevant in practice. - # The sed command inserts the leading ./ for directory names, and - # removes ., .., and .svn entries from the list. Also omit contents - # of any .svn directories; sed apparently requires that we do that - # operation in a separate invocation. - # We do not try to support colons in directory names. - # - echo "./:" >>"$db_file_tmp" - (cd "$TEXMFLS_R" && \ls -LRa 2>/dev/null) \ - | sed -e '/^$/{n;s%^\./%%;s%^%./%;}; /^\.$/d; /^\.\.$/d; /^\.svn$/d;' \ - -e '/^[\.\/]*lsR[0-9]*\.tmp:*$/d' \ - | sed -e '/\.svn.*:$/,/^$/d' \ - >>"$db_file_tmp" - - # To be really safe, a loop. - until PERMS=`kpsestat = "$db_file"`; do sleep 1; done - chmod $PERMS "$db_file_tmp" - rm -f "$db_file" - mv "$db_file_tmp" "$db_file" - rm -rf "$db_dir_tmp" -done -$verbose && echo "$progname: Done." >&2 -exit 0 |