diff options
Diffstat (limited to 'Master/bin/x86_64-linux/mktexlsr')
-rwxr-xr-x | Master/bin/x86_64-linux/mktexlsr | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/Master/bin/x86_64-linux/mktexlsr b/Master/bin/x86_64-linux/mktexlsr index 3d2523d875b..663c36c1598 100755 --- a/Master/bin/x86_64-linux/mktexlsr +++ b/Master/bin/x86_64-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 |