summaryrefslogtreecommitdiff
path: root/Master/bin/i386-linux
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-02-03 01:35:43 +0000
committerKarl Berry <karl@freefriends.org>2006-02-03 01:35:43 +0000
commitc1c1f15fc3df09d33ea317decd380a9d59705375 (patch)
treea4f81094ea1bc4414fa9013623558ec9e64c1567 /Master/bin/i386-linux
parent1bf05261869aaafe0ffae32532e9fb64bf03c8ff (diff)
update ls-R
git-svn-id: svn://tug.org/texlive/trunk@1492 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/bin/i386-linux')
-rwxr-xr-xMaster/bin/i386-linux/mktexlsr14
1 files changed, 10 insertions, 4 deletions
diff --git a/Master/bin/i386-linux/mktexlsr b/Master/bin/i386-linux/mktexlsr
index 3d2523d875b..663c36c1598 100755
--- a/Master/bin/i386-linux/mktexlsr
+++ b/Master/bin/i386-linux/mktexlsr
@@ -133,11 +133,17 @@ for TEXMFLS_R in "$@"; do
# 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 .. from the list. Note that using colons in directory
- # names results in nothing but grief.
+ # 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 '/^$/{n;s%^\./%%;s%^%./%;}; /^\.$/d; /^\.\.$/d; /^[\.\/]*lsR[0-9]*\.tmp:*$/d' >>"$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