55283f8e77
OBS-URL: https://build.opensuse.org/package/show/Publishing:TeXLive/texlive?expand=0&rev=324
1327 lines
48 KiB
Plaintext
1327 lines
48 KiB
Plaintext
---
|
||
libs/icu/icu-src/source/common/Makefile.in | 2
|
||
reautoconf | 2
|
||
texk/dviljk/dvi2xx.c | 11
|
||
texk/kpathsea/c-fopen.h | 6
|
||
texk/kpathsea/c-memstr.h | 3
|
||
texk/kpathsea/cnf-to-paths.awk | 2
|
||
texk/kpathsea/db.c | 13 -
|
||
texk/kpathsea/mktex.opt | 39 ++-
|
||
texk/kpathsea/mktexlsr | 52 +++-
|
||
texk/kpathsea/progname.c | 4
|
||
texk/kpathsea/texmf.cnf | 140 +++++++-----
|
||
texk/lcdf-typetools/lcdf-typetools-src/otftotfm/otftotfm.cc | 3
|
||
texk/ps2pk/pk2bm.c | 2
|
||
texk/texlive/linked_scripts/musixtex/musixtex.lua | 17 +
|
||
texk/texlive/linked_scripts/texlive/fmtutil-sys.sh | 1
|
||
texk/texlive/linked_scripts/texlive/fmtutil.pl | 24 +-
|
||
texk/texlive/linked_scripts/texlive/updmap-sys.sh | 1
|
||
texk/texlive/tl_scripts/fmtutil.cnf | 17 -
|
||
texk/texlive/tl_scripts/texconfig-dialog.sh | 14 -
|
||
texk/texlive/tl_scripts/texconfig-sys.sh | 1
|
||
texk/texlive/tl_scripts/texconfig.sh | 35 ---
|
||
texk/texlive/tl_scripts/texlinks.sh | 53 +++-
|
||
texk/web2c/Makefile.in | 7
|
||
texk/web2c/luatexdir/luapplib/ppheap.c | 61 ++---
|
||
texk/web2c/luatexdir/luapplib/ppload.c | 4
|
||
texk/web2c/uptexdir/tests/gkhugeng.err | 8
|
||
texk/web2c/window/regis.c | 8
|
||
texk/web2c/window/x11-Xlib.c | 8
|
||
texk/web2c/window/x11-Xt.c | 4
|
||
texk/xdvik/psgs.c | 22 +
|
||
texk/xdvik/xdvi-sh.in | 19 +
|
||
31 files changed, 393 insertions(+), 190 deletions(-)
|
||
|
||
--- libs/icu/icu-src/source/common/Makefile.in
|
||
+++ libs/icu/icu-src/source/common/Makefile.in 2018-04-10 09:02:17.774983801 +0000
|
||
@@ -69,7 +69,7 @@ DEFS += -DU_COMMON_IMPLEMENTATION
|
||
LDFLAGS += $(LDFLAGSICUUC)
|
||
|
||
# for plugin configuration
|
||
-CPPFLAGS += "-DDEFAULT_ICU_PLUGINS=\"$(libdir)/icu\" "
|
||
+CPPFLAGS += "-DDEFAULT_ICU_PLUGINS=\"/usr/lib/icu\" "
|
||
|
||
# for icu data location
|
||
ifeq ($(PKGDATA_MODE),common)
|
||
--- reautoconf
|
||
+++ reautoconf 2018-04-10 09:02:17.774983801 +0000
|
||
@@ -83,7 +83,7 @@ echo "$0: TL_AUTOHEADER, T
|
||
|
||
# Give users a chance to quit here
|
||
# and set TL_AUTOCONF, TL_AUTOHEADER, TL_AUTOMAKE, and/or TL_ACLOCAL
|
||
-$do_cmd sleep 5
|
||
+# $do_cmd sleep 5
|
||
|
||
AUTOCONF=$TL_AUTOCONF
|
||
AUTOHEADER=$TL_AUTOHEADER
|
||
--- texk/dviljk/dvi2xx.c
|
||
+++ texk/dviljk/dvi2xx.c 2018-04-10 09:02:17.858982223 +0000
|
||
@@ -168,7 +168,18 @@ main(int argc, char *argv[])
|
||
|
||
setbuf(ERR_STREAM, NULL);
|
||
#ifdef KPATHSEA
|
||
+# if defined(LJ)
|
||
kpse_set_program_name(argv[0], "dvilj");
|
||
+# endif
|
||
+# if defined(LJ2P)
|
||
+ kpse_set_program_name(argv[0], "dvilj2p");
|
||
+# endif
|
||
+# if defined(LJ4) && !defined(LJ4L)
|
||
+ kpse_set_program_name(argv[0], "dvilj4");
|
||
+# endif
|
||
+# if defined(LJ4) && defined(LJ4L)
|
||
+ kpse_set_program_name(argv[0], "dvilj4l");
|
||
+# endif
|
||
kpse_set_program_enabled (kpse_pk_format, MAKE_TEX_PK_BY_DEFAULT, kpse_src_compile);
|
||
G_progname = kpse_program_name;
|
||
#else
|
||
--- texk/kpathsea/c-fopen.h
|
||
+++ texk/kpathsea/c-fopen.h 2018-04-10 09:02:17.858982223 +0000
|
||
@@ -38,17 +38,17 @@
|
||
|
||
/* How to open a binary file for reading: */
|
||
#ifndef FOPEN_RBIN_MODE
|
||
-#define FOPEN_RBIN_MODE "rb"
|
||
+#define FOPEN_RBIN_MODE "r"
|
||
#endif /* not FOPEN_RBIN_MODE */
|
||
|
||
/* How to open a binary file for writing: */
|
||
#ifndef FOPEN_WBIN_MODE
|
||
-#define FOPEN_WBIN_MODE "wb"
|
||
+#define FOPEN_WBIN_MODE "w"
|
||
#endif /* not FOPEN_WBIN_MODE */
|
||
|
||
/* How to open a binary file for appending: */
|
||
#ifndef FOPEN_ABIN_MODE
|
||
-#define FOPEN_ABIN_MODE "ab"
|
||
+#define FOPEN_ABIN_MODE "a"
|
||
#endif /* not FOPEN_ABIN_MODE */
|
||
|
||
/* How to switch an already open file handle to binary mode.
|
||
--- texk/kpathsea/c-memstr.h
|
||
+++ texk/kpathsea/c-memstr.h 2018-04-10 09:02:17.858982223 +0000
|
||
@@ -37,6 +37,7 @@
|
||
|
||
/* For ancient systems that lack the system V/ANSI version of the
|
||
string functions we express them in terms of the BSD versions. */
|
||
+#ifndef __GNUC__
|
||
#if !defined(HAVE_STRCHR) && !defined(strchr)
|
||
#define strchr index
|
||
#endif
|
||
@@ -60,4 +61,6 @@ extern char *strstr ();
|
||
#endif
|
||
#endif
|
||
|
||
+#endif /* not __GNUC__ */
|
||
+
|
||
#endif /* not KPATHSEA_C_MEMSTR_H */
|
||
--- texk/kpathsea/cnf-to-paths.awk
|
||
+++ texk/kpathsea/cnf-to-paths.awk 2018-04-10 09:02:17.858982223 +0000
|
||
@@ -40,7 +40,7 @@
|
||
val = $0;
|
||
sub(/^.*=[ \t]*/, "", val);
|
||
sub(/[ \t]*$/, "", val);
|
||
- #print "got ident", ident, "and val", val >"/dev/stderr";
|
||
+print "got ident", ident, "and val", val >"/dev/stderr";
|
||
|
||
if (val ~ /\$SELFAUTO/) {
|
||
# Replace all semicolons with colons in the SELFAUTO paths we're keeping.
|
||
--- texk/kpathsea/db.c
|
||
+++ texk/kpathsea/db.c 2018-04-10 09:08:03.084494047 +0000
|
||
@@ -93,7 +93,8 @@ db_build (kpathsea kpse, hash_table_type
|
||
unsigned len = strlen (db_filename) - sizeof (DB_NAME) + 1; /* Keep the /. */
|
||
string top_dir = (string)xmalloc (len + 1);
|
||
string cur_dir = NULL; /* First thing in ls-R might be a filename. */
|
||
- FILE *db_file = fopen (db_filename, FOPEN_R_MODE);
|
||
+ struct stat statdb;
|
||
+ FILE *db_file;
|
||
#if defined(MONOCASE_FILENAMES)
|
||
string pp;
|
||
#endif /* MONOCASE_FILENAMES */
|
||
@@ -101,7 +102,15 @@ db_build (kpathsea kpse, hash_table_type
|
||
strncpy (top_dir, db_filename, len);
|
||
top_dir[len] = 0;
|
||
|
||
- if (db_file) {
|
||
+ if ((getenv("MKTEXLSR") == NULL) &&
|
||
+ (stat(db_filename, &statdb) < 0 || statdb.st_size == 0)) {
|
||
+ char buf[PATH_MAX+1];
|
||
+ snprintf(buf, PATH_MAX, "mktexlsr %s", top_dir);
|
||
+ xputenv("MKTEXLSR", "true"); /* fork loop detection */
|
||
+ system (buf);
|
||
+ }
|
||
+
|
||
+ if ((db_file = fopen (db_filename, FOPEN_R_MODE))) {
|
||
while ((line = read_line (db_file)) != NULL) {
|
||
len = strlen (line);
|
||
|
||
--- texk/kpathsea/mktex.opt
|
||
+++ texk/kpathsea/mktex.opt 2018-04-10 09:02:17.858982223 +0000
|
||
@@ -38,10 +38,11 @@ if test "$DOSISH" = "no"; then SEP=':';
|
||
# TEMPDIR needs to be unique to each process because of the possibility of two
|
||
# people running dvips (or whatever) simultaneously.
|
||
if test -n "$TMPDIR"; then
|
||
- TEMPDIR="${TMPDIR}/mt$$.tmp"
|
||
+ TEMPDIR="${TMPDIR}/.mtXXXXXXXXXX"
|
||
else
|
||
- TEMPDIR="/tmp/mt$$.tmp"
|
||
+ TEMPDIR="/tmp/.mtXXXXXXXXXX"
|
||
fi
|
||
+TEMPDIR=$(mktemp -d "$TEMPDIR") || exit 1
|
||
|
||
# We want to output only filenames to standard output, but it's too
|
||
# error-prone to write the scripts that way, so we direct stdout here.
|
||
@@ -49,17 +50,23 @@ STDOUT="$TEMPDIR/mt$$.out"
|
||
|
||
# We will change search paths to include $KPSE_DOT. This is necessary
|
||
# since we cd to $TEMPDIR.
|
||
-: ${KPSE_DOT=`pwd`}; export KPSE_DOT
|
||
+: ${KPSE_DOT=${PWD}}; export KPSE_DOT
|
||
|
||
# Clean up on normal or abnormal exit.
|
||
# The "cd /" is for MS-DOS and MS-Windows, where there is a separate
|
||
# current directory on each drive, and therefore "cd $KPSE_DOT" might
|
||
# still leave $TMPDIR current directory on its drive, in which case it
|
||
# cannot be removed.
|
||
-trap 'rc=$?; cd /; cd "$KPSE_DOT"; test -f "$STDOUT" && cat "$STDOUT"; rm -rf "$TEMPDIR"; exit $rc' \
|
||
- 0 1 2 3 7 13 15
|
||
+atexit ()
|
||
+{
|
||
+ local rc=$?
|
||
+ cd "$KPSE_DOT"
|
||
+ test -n "$STDOUT" -a -f "$STDOUT" && cat "$STDOUT"
|
||
+ test -n "$TEMPDIR" -a -d "$TEMPDIR" && rm -rf "$TEMPDIR"
|
||
+ exit $rc
|
||
+}
|
||
+trap 'atexit' EXIT SIGHUP SIGINT SIGQUIT SIGBUS SIGPIPE SIGTERM
|
||
|
||
-(umask 077 && mkdir "$TEMPDIR") || exit 1
|
||
cd "$TEMPDIR" || exit 1
|
||
|
||
# The alternative location for fonts. The directory need not exist,
|
||
@@ -69,6 +76,11 @@ if test -z "$MT_VARTEXFONTS"; then
|
||
echo "$0: VARTEXFONTS is not defined. Defaulting to \`$KPSE_DOT'." >&2
|
||
MT_VARTEXFONTS='$KPSE_DOT'
|
||
fi
|
||
+: ${MT_TEXMFVAR=`kpsewhich --expand-var='$TEXMFVAR' | sed 's%^!!%%'`}
|
||
+if test -z "$MT_TEXMFVAR"; then
|
||
+ echo "$0: TEXMFVAR is not defined. Defaulting to \`$KPSE_DOT'." >&2
|
||
+ MT_TEXMFVAR='$KPSE_DOT'
|
||
+fi
|
||
|
||
# The supporting scripts:
|
||
: ${MT_MKTEXNAM=`kpsewhich --format='web2c files' mktexnam`}
|
||
@@ -109,9 +121,18 @@ fi
|
||
: ${MAG=1.0}
|
||
: ${ps_to_pk=gsftopk} # some prefer ps2pk
|
||
|
||
-# Allow fonts to be read and written (especially in case we make
|
||
-# directories) by everyone.
|
||
-umask 0
|
||
+case ":${MT_FEATURES}:" in
|
||
+*:varfonts:*)
|
||
+ if test -w "$MT_VARTEXFONTS" ; then
|
||
+ # Allow fonts to be read and written (especially in case we make
|
||
+ # directories) by everyone.
|
||
+ umask 0
|
||
+ else
|
||
+ umask 022
|
||
+ MT_VARTEXFONTS=$HOME/.cache/texmf/fonts
|
||
+ test -d $MT_VARTEXFONTS || mkdir -p $MT_VARTEXFONTS
|
||
+ fi
|
||
+esac
|
||
|
||
# Cache values that may be useful for recursive calls.
|
||
export MT_MKTEX_OPT MT_MKTEX_CNF
|
||
--- texk/kpathsea/mktexlsr
|
||
+++ texk/kpathsea/mktexlsr 2018-04-10 09:02:17.858982223 +0000
|
||
@@ -58,6 +58,9 @@ if test "$DOSISH" = "no"; then SEP=':';
|
||
# be done before kpsewhich can be called, and thus cannot be put into
|
||
# mktex.opt.
|
||
dirname=`echo $0 | sed 's%/*[^/][^/]*$%%'`
|
||
+case "$SEP$PATH$SEP" in
|
||
+ *$SEP$dirname$SEP*) dirname="" ;;
|
||
+esac
|
||
case $dirname in
|
||
"") # Do nothing
|
||
;;
|
||
@@ -152,6 +155,16 @@ old_ls_R_magic='% ls-R -- maintained by
|
||
shift
|
||
}
|
||
|
||
+cache="`kpsewhich --expand-var='$VARTEXFONTS'`"
|
||
+{
|
||
+ saveIFS=$IFS
|
||
+ IFS=:
|
||
+ for c in ${cache}; do
|
||
+ test -w "$c" || continue
|
||
+ cache=$c
|
||
+ done
|
||
+ IFS=$saveIFS
|
||
+}
|
||
for TEXMFLS_R in "$@"; do
|
||
# Prepend cwd if the directory was relative.
|
||
case "$TEXMFLS_R" in
|
||
@@ -181,12 +194,23 @@ for TEXMFLS_R in "$@"; do
|
||
# want to be silent if the directory doesn't exist, since the ls-R
|
||
# path ordinarily contains many nonexistent directories.
|
||
test -d "$db_dir" || continue
|
||
- test -w "$db_dir" || { echo "$progname: $db_dir: directory not writable. Skipping..." >&2; continue; }
|
||
+ if test -w "$db_dir" ; then
|
||
+ # default
|
||
+ db_dir_tmp="$db_dir/.lsR.XXXXXX"
|
||
+ else
|
||
+ # Escape to writable cache directory
|
||
+ test -w "$cache" || { echo "$progname: $db_dir: directory not writable. Skipping..." >&2; continue; }
|
||
+ db_dir_tmp="$cache/.lsR.XXXXXX"
|
||
+ fi
|
||
|
||
if test ! -f "$db_file"; then
|
||
- cp /dev/null "$db_file"
|
||
+ # Note: this script has set the noclobber option at line 40
|
||
+ > "$db_file" \
|
||
+ || { echo "$progname: could not create file '$db_file'. Skipping..." >&2; continue; }
|
||
# Use same permissions as parent directory, minus x,s, or t bits.
|
||
chmod `kpsestat -xst "$db_dir"` "$db_file"
|
||
+ elif test -w $db_file -a ! -s $db_file ; then
|
||
+ : Is writable but empty
|
||
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
|
||
@@ -197,8 +221,13 @@ for TEXMFLS_R in "$@"; do
|
||
# 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" ) \
|
||
+ until PERMS=`kpsestat = "$db_file"`; do sleep 1; done
|
||
+ if test "$PERMS" = "666" -a ! -k "$db_dir" ; then
|
||
+ echo "$progname: $db_file: world writable but '$db_dir' not sticky, skipping..." >&2
|
||
+ continue
|
||
+ fi
|
||
+
|
||
+ db_dir_tmp=$(mktemp -d "$db_dir_tmp") \
|
||
|| { echo "$progname: $db_dir_tmp: could not create directory, skipping..." >&2; continue; }
|
||
db_file_tmp="$db_dir_tmp/lsR$$.tmp"
|
||
rm -f "$db_file_tmp"
|
||
@@ -206,7 +235,9 @@ for TEXMFLS_R in "$@"; do
|
||
$verbose && echo "$progname: Updating $db_file... "
|
||
$dry_run && continue
|
||
|
||
- echo "$ls_R_magic" >"$db_file_tmp"
|
||
+ # Note: this script has set the noclobber option at line 40
|
||
+ echo "$ls_R_magic" >"$db_file_tmp" \
|
||
+ || { echo "$progname: $db_file_tmp: could not create file, skipping..." >&2; continue; }
|
||
|
||
# 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
|
||
@@ -220,15 +251,20 @@ for TEXMFLS_R in "$@"; do
|
||
vc_dirs='\.\(bzr\|git\|hg\|svn\)\|_darcs'
|
||
(cd "$TEXMFLS_R" && \ls -LRa 2>/dev/null) \
|
||
| sed -e '/^$/{n;s%^\./%%;s%^%./%;}; /^\.$/d; /^\.\.$/d; /^'$vc_dirs'$/d;' \
|
||
- -e '/^[\.\/]*lsR[0-9]*\.tmp:*$/d' \
|
||
+ -e '/^[\.\/]*lsR[0-9]*\.tmp:*$/d;/^[\.\/]*'${db_dir_tmp##*/}':*$/d' \
|
||
| sed -e /$vc_dirs'.*:$/,/^$/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"
|
||
+ if test -w "$db_file" ; then
|
||
+ # Sticky bit is set see line 200
|
||
+ # Temporary unset the noclobber option at line 40
|
||
+ set +o noclobber
|
||
+ cat "$db_file_tmp" > "$db_file"
|
||
+ set -o noclobber
|
||
+ fi
|
||
rm -rf "$db_dir_tmp"
|
||
done
|
||
|
||
--- texk/kpathsea/progname.c
|
||
+++ texk/kpathsea/progname.c 2018-04-10 09:02:17.862982147 +0000
|
||
@@ -662,9 +662,9 @@ kpathsea_set_program_name (kpathsea kpse
|
||
/* SELFAUTODIR is actually the parent of the invocation directory,
|
||
and SELFAUTOPARENT the grandparent. This is how teTeX did it. */
|
||
kpathsea_xputenv (kpse, "SELFAUTOLOC", fix_selfdir (sdir));
|
||
- sdir_parent = xdirname (sdir);
|
||
+ sdir_parent = xdirname ("/usr/share");
|
||
kpathsea_xputenv (kpse, "SELFAUTODIR", fix_selfdir (sdir_parent));
|
||
- sdir_grandparent = xdirname (sdir_parent);
|
||
+ sdir_grandparent = xdirname ("/usr/share/texmf");
|
||
kpathsea_xputenv (kpse, "SELFAUTOPARENT", fix_selfdir (sdir_grandparent));
|
||
sdir_greatgrandparent = xdirname (sdir_grandparent);
|
||
kpathsea_xputenv (kpse, "SELFAUTOGRANDPARENT", fix_selfdir (sdir_greatgrandparent));
|
||
--- texk/kpathsea/texmf.cnf
|
||
+++ texk/kpathsea/texmf.cnf 2019-05-29 06:12:28.489081219 +0000
|
||
@@ -61,20 +61,20 @@
|
||
TEXMFROOT = $SELFAUTOPARENT
|
||
|
||
% The main tree of distributed packages and programs:
|
||
-TEXMFDIST = $TEXMFROOT/texmf-dist
|
||
+TEXMFDIST = /usr/share/texmf
|
||
|
||
% We used to have a separate /texmf tree with some core programs and files.
|
||
% Keep the variable name.
|
||
TEXMFMAIN = $TEXMFDIST
|
||
|
||
% Local additions to the distribution trees.
|
||
-TEXMFLOCAL = $SELFAUTOGRANDPARENT/texmf-local
|
||
+TEXMFLOCAL = /usr/local/share/texmf
|
||
|
||
% TEXMFSYSVAR, where *-sys store cached runtime data.
|
||
-TEXMFSYSVAR = $TEXMFROOT/texmf-var
|
||
+TEXMFSYSVAR = /var/lib/texmf
|
||
|
||
% TEXMFSYSCONFIG, where *-sys store configuration data.
|
||
-TEXMFSYSCONFIG = $TEXMFROOT/texmf-config
|
||
+TEXMFSYSCONFIG = /etc/texmf
|
||
|
||
% Per-user texmf tree(s) -- organized per the TDS, as usual. To define
|
||
% more than one per-user tree, set this to a list of directories in
|
||
@@ -83,10 +83,10 @@ TEXMFSYSCONFIG = $TEXMFROOT/texmf-config
|
||
TEXMFHOME = ~/texmf
|
||
|
||
% TEXMFVAR, where texconfig/updmap/fmtutil store cached runtime data.
|
||
-TEXMFVAR = ~/.texlive2019/texmf-var
|
||
+TEXMFVAR = ${TEXMFSYSVAR}
|
||
|
||
% TEXMFCONFIG, where texconfig/updmap/fmtutil store configuration data.
|
||
-TEXMFCONFIG = ~/.texlive2019/texmf-config
|
||
+TEXMFCONFIG = ${TEXMFSYSCONFIG}
|
||
|
||
% This is the value manipulated by tlmgr's auxtrees subcommand in the
|
||
% root texmf.cnf. Kpathsea warns about a literally empty string for a
|
||
@@ -107,7 +107,7 @@ TEXMFAUXTREES = {}
|
||
% The odd-looking $TEXMFAUXTREES$TEXMF... construct is so that if no auxtree is
|
||
% ever defined (the 99% common case), no extra elements will be added to
|
||
% the search paths. tlmgr takes care to end any value with a trailing comma.
|
||
-TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST}
|
||
+TEXMF = {$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFLOCAL,!!$TEXMFDIST}
|
||
|
||
% Where to look for, and where mktexlsr creates, ls-R files. By default,
|
||
% this is all and only the !! elements of TEXMF, so that mktexlsr does not
|
||
@@ -115,24 +115,23 @@ TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEX
|
||
% present, it will be used, and the disk will not (usually) be searched,
|
||
% regardless of !!. Although in principle a directory listed here need
|
||
% not contain an ls-R file, in practice they all should.
|
||
-TEXMFDBS = {!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST}
|
||
+TEXMFDBS = $TEXMF;$VARTEXFONTS;$HOMECACHE
|
||
|
||
% The system trees. These are the trees that are shared by all users.
|
||
% If a tree appears in this list, the mktex* scripts will use
|
||
% VARTEXFONTS for generated files, if the original tree isn't writable;
|
||
% otherwise the current working directory is used.
|
||
-SYSTEXMF = $TEXMFSYSVAR;$TEXMFLOCAL;$TEXMFDIST
|
||
+SYSTEXMF = $TEXMFSYSCONFIG;$TEXMFSYSVAR;$TEXMFLOCAL;$TEXMFDIST
|
||
|
||
% First writable tree here is used by Lua(La)TeX for the font cache.
|
||
% LuaLaTeX uses the value here, while ConTeXt uses the same variable but
|
||
% from texmfcnf.lua; therefore the two values should be kept in sync.
|
||
% (As should everything else in texmf.cnf <-> texmfcnf.lua.)
|
||
-TEXMFCACHE = $TEXMFSYSVAR;$TEXMFVAR
|
||
+TEXMFCACHE = $TEXMFSYSVAR;$TEXMFVAR;$HOMECACHE
|
||
|
||
% Where generated fonts may be written. This tree is used when the sources
|
||
% were found in a system tree and either that tree wasn't writable, or the
|
||
% varfonts feature was enabled in MT_FEATURES in mktex.cnf.
|
||
-VARTEXFONTS = $TEXMFVAR/fonts
|
||
|
||
% On some systems, there will be a system tree which contains all the font
|
||
% files that may be created as well as the formats. For example
|
||
@@ -143,7 +142,8 @@ VARTEXFONTS = $TEXMFVAR/fonts
|
||
%
|
||
% Remove $VARTEXFONTS from TEXMFDBS if the VARTEXFONTS directory is below
|
||
% one of the TEXMF directories (avoids overlapping ls-R files).
|
||
-
|
||
+VARTEXFONTS = /var/cache/texmf/fonts
|
||
+HOMECACHE = ${HOME}/.cache/texmf/fonts
|
||
|
||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
% Usually you will not need to edit any of the following variables.
|
||
@@ -151,7 +151,7 @@ VARTEXFONTS = $TEXMFVAR/fonts
|
||
|
||
% WEB2C is for Web2C specific files. The current directory may not be
|
||
% a good place to look for them.
|
||
-WEB2C = $TEXMF/web2c
|
||
+WEB2C = ${TEXMFHOME}/web2c;${TEXMFSYSCONFIG}/web2c;${TEXMFSYSVAR}/web2c;$TEXMF/web2c
|
||
|
||
% This variable exists only to be redefined; it is used in nearly all
|
||
% search paths. If a document has source files not only in the current
|
||
@@ -285,7 +285,7 @@ TEXINPUTS = $TEXMFDOTDIR;$
|
||
TTF2TFMINPUTS = $TEXMFDOTDIR;$TEXMF/ttf2pk//
|
||
|
||
% Metafont, MetaPost inputs.
|
||
-MFINPUTS = $TEXMFDOTDIR;$TEXMF/metafont//;{$TEXMF/fonts,$VARTEXFONTS}/source//
|
||
+MFINPUTS = $TEXMFDOTDIR;$TEXMF/metafont//;{$TEXMF/fonts,$HOMECACHE,$VARTEXFONTS}/source//
|
||
MPINPUTS = $TEXMFDOTDIR;$TEXMF/metapost//
|
||
|
||
% Dump files (fmt/base/mem) for vir{tex,mf,mp} to read.
|
||
@@ -295,31 +295,31 @@ MPINPUTS = $TEXMFDOTDIR;$TEXMF/metapost/
|
||
% We repeat the same definition three times because of the way fmtutil
|
||
% is implemented; if we use ${TEXFORMATS}, the mpost/mf/etc. formats
|
||
% will not be found.
|
||
-TEXFORMATS = $TEXMFDOTDIR;$TEXMF/web2c{/$engine,}
|
||
-MFBASES = $TEXMFDOTDIR;$TEXMF/web2c{/$engine,}
|
||
-MPMEMS = $TEXMFDOTDIR;$TEXMF/web2c{/$engine,}
|
||
+TEXFORMATS = $TEXMFDOTDIR;$TEXMF/web2c{/$engine,}//
|
||
+MFBASES = $TEXMFDOTDIR;$TEXMF/web2c{/$engine,}//
|
||
+MPMEMS = $TEXMFDOTDIR;$TEXMF/web2c{/$engine,}//
|
||
%
|
||
% As of 2008, pool files don't exist any more (the strings are compiled
|
||
% into the binaries), but just in case something expects to find these:
|
||
-TEXPOOL = $TEXMFDOTDIR;$TEXMF/web2c
|
||
+TEXPOOL = $TEXMFDOTDIR;$WEB2C
|
||
MFPOOL = ${TEXPOOL}
|
||
MPPOOL = ${TEXPOOL}
|
||
|
||
% support the original xdvi. Must come before the generic settings.
|
||
-PKFONTS.XDvi = $TEXMFDOTDIR;$TEXMF/%s;$VARTEXFONTS/pk/{%m,modeless}//
|
||
+PKFONTS.XDvi = $TEXMFDOTDIR;$TEXMF/%s;{$HOMECACHE,$VARTEXFONTS}/pk/{%m,modeless}//
|
||
VFFONTS.XDvi = $TEXMFDOTDIR;$TEXMF/%s
|
||
PSHEADERS.XDvi = $TEXMFDOTDIR;$TEXMF/%q{dvips,fonts/type1}//
|
||
TEXPICTS.XDvi = $TEXMFDOTDIR;$TEXMF/%q{dvips,tex}//
|
||
|
||
% Device-independent font metric files.
|
||
VFFONTS = $TEXMFDOTDIR;$TEXMF/fonts/vf//
|
||
-TFMFONTS = $TEXMFDOTDIR;{$TEXMF/fonts,$VARTEXFONTS}/tfm//
|
||
+TFMFONTS = $TEXMFDOTDIR;{$TEXMF/fonts,$HOMECACHE,$VARTEXFONTS}/tfm//
|
||
|
||
% The $MAKETEX_MODE below means the drivers will not use a cx font when
|
||
% the mode is ricoh. If no mode is explicitly specified, kpse_prog_init
|
||
% sets MAKETEX_MODE to /, so all subdirectories are searched. See the manual.
|
||
% The modeless part guarantees that bitmaps for PostScript fonts are found.
|
||
-PKFONTS = $TEXMFDOTDIR;{$TEXMF/fonts,$VARTEXFONTS}/pk/{$MAKETEX_MODE,modeless}//
|
||
+PKFONTS = $TEXMFDOTDIR;{$TEXMF/fonts,$HOMECACHE,$VARTEXFONTS}/pk/{$MAKETEX_MODE,modeless}//
|
||
|
||
% Similarly for the GF format, which only remains in existence because
|
||
% Metafont outputs it (and MF isn't going to change).
|
||
@@ -415,8 +415,8 @@ MPSUPPORT = $TEXMFDOTDIR;$TEXMF/metapost
|
||
% For xdvi to find mime.types and .mailcap, if they do not exist in
|
||
% ~. These are single directories, not paths.
|
||
% (But the default mime.types, at least, may well suffice.)
|
||
-MIMELIBDIR = $TEXMFROOT/etc
|
||
-MAILCAPLIBDIR = $TEXMFROOT/etc
|
||
+MIMELIBDIR = /etc
|
||
+MAILCAPLIBDIR = /etc
|
||
|
||
% Default settings for the fontconfig library as used by the Windows
|
||
% versions of xetex/xdvipdfmx. Not used by xetex on Unixish systems.
|
||
@@ -440,10 +440,10 @@ WEBINPUTS = $TEXMFDOTDIR;$TEXMF/web//
|
||
CWEBINPUTS = $TEXMFDOTDIR;$TEXMF/cweb//
|
||
|
||
% Omega-related fonts and other files.
|
||
-OFMFONTS = $TEXMFDOTDIR;{$TEXMF/fonts,$VARTEXFONTS}/{ofm,tfm}//
|
||
-OPLFONTS = $TEXMFDOTDIR;{$TEXMF/fonts,$VARTEXFONTS}/opl//
|
||
-OVFFONTS = $TEXMFDOTDIR;{$TEXMF/fonts,$VARTEXFONTS}/{ovf,vf}//
|
||
-OVPFONTS = $TEXMFDOTDIR;{$TEXMF/fonts,$VARTEXFONTS}/ovp//
|
||
+OFMFONTS = $TEXMFDOTDIR;{$TEXMF/fonts,$HOMECACHE,$VARTEXFONTS}/{ofm,tfm}//
|
||
+OPLFONTS = $TEXMFDOTDIR;{$TEXMF/fonts,$HOMECACHE,$VARTEXFONTS}/opl//
|
||
+OVFFONTS = $TEXMFDOTDIR;{$TEXMF/fonts,$HOMECACHE,$VARTEXFONTS}/{ovf,vf}//
|
||
+OVPFONTS = $TEXMFDOTDIR;{$TEXMF/fonts,$HOMECACHE,$VARTEXFONTS}/ovp//
|
||
OTPINPUTS = $TEXMFDOTDIR;$TEXMF/omega/otp//
|
||
OCPINPUTS = $TEXMFDOTDIR;$TEXMF/omega/ocp//
|
||
|
||
@@ -526,32 +526,38 @@ RUBYINPUTS = $TEXMFDOTDIR;$TEXMF/scrip
|
||
% explicitly list every directory. Arguably more understandable anyway.
|
||
%
|
||
TEXMFCNF = {\
|
||
-$SELFAUTOLOC,\
|
||
-$SELFAUTOLOC/share/texmf-local/web2c,\
|
||
-$SELFAUTOLOC/share/texmf-dist/web2c,\
|
||
-$SELFAUTOLOC/share/texmf/web2c,\
|
||
-$SELFAUTOLOC/texmf-local/web2c,\
|
||
-$SELFAUTOLOC/texmf-dist/web2c,\
|
||
-$SELFAUTOLOC/texmf/web2c,\
|
||
-\
|
||
-$SELFAUTODIR,\
|
||
-$SELFAUTODIR/share/texmf-local/web2c,\
|
||
-$SELFAUTODIR/share/texmf-dist/web2c,\
|
||
-$SELFAUTODIR/share/texmf/web2c,\
|
||
-$SELFAUTODIR/texmf-local/web2c,\
|
||
-$SELFAUTODIR/texmf-dist/web2c,\
|
||
-$SELFAUTODIR/texmf/web2c,\
|
||
-\
|
||
-$SELFAUTOGRANDPARENT/texmf-local/web2c,\
|
||
-$SELFAUTOPARENT,\
|
||
-\
|
||
-$SELFAUTOPARENT/share/texmf-local/web2c,\
|
||
-$SELFAUTOPARENT/share/texmf-dist/web2c,\
|
||
-$SELFAUTOPARENT/share/texmf/web2c,\
|
||
-$SELFAUTOPARENT/texmf-local/web2c,\
|
||
-$SELFAUTOPARENT/texmf-dist/web2c,\
|
||
-$SELFAUTOPARENT/texmf/web2c\
|
||
+/etc/texmf,\
|
||
+/etc/texmf/web2c,\
|
||
+/var/lib/texmf/web2c,\
|
||
+/usr/share/texmf/web2c\
|
||
}
|
||
+%TEXMFCNF = {\
|
||
+%$SELFAUTOLOC,\
|
||
+%$SELFAUTOLOC/share/texmf-local/web2c,\
|
||
+%$SELFAUTOLOC/share/texmf-dist/web2c,\
|
||
+%$SELFAUTOLOC/share/texmf/web2c,\
|
||
+%$SELFAUTOLOC/texmf-local/web2c,\
|
||
+%$SELFAUTOLOC/texmf-dist/web2c,\
|
||
+%$SELFAUTOLOC/texmf/web2c,\
|
||
+%\
|
||
+%$SELFAUTODIR,\
|
||
+%$SELFAUTODIR/share/texmf-local/web2c,\
|
||
+%$SELFAUTODIR/share/texmf-dist/web2c,\
|
||
+%$SELFAUTODIR/share/texmf/web2c,\
|
||
+%$SELFAUTODIR/texmf-local/web2c,\
|
||
+%$SELFAUTODIR/texmf-dist/web2c,\
|
||
+%$SELFAUTODIR/texmf/web2c,\
|
||
+%\
|
||
+%$SELFAUTOGRANDPARENT/texmf-local/web2c,\
|
||
+%$SELFAUTOPARENT,\
|
||
+%\
|
||
+%$SELFAUTOPARENT/share/texmf-local/web2c,\
|
||
+%$SELFAUTOPARENT/share/texmf-dist/web2c,\
|
||
+%$SELFAUTOPARENT/share/texmf/web2c,\
|
||
+%$SELFAUTOPARENT/texmf-local/web2c,\
|
||
+%$SELFAUTOPARENT/texmf-dist/web2c,\
|
||
+%$SELFAUTOPARENT/texmf/web2c\
|
||
+%}
|
||
%
|
||
% For reference, here is the old brace-using definition:
|
||
%TEXMFCNF = {$SELFAUTOLOC,$SELFAUTODIR,$SELFAUTOPARENT}{,{/share,}/texmf{-local,}/web2c}
|
||
@@ -836,3 +842,33 @@ max_cols.gftype = 8191
|
||
% Guess input encoding (SJIS vs. Unicode, etc.) in pTeX and friends?
|
||
% Default is 1, to guess. Used on Windows only.
|
||
guess_input_kanji_encoding = 1
|
||
+
|
||
+% These are xmltex specific
|
||
+main_memory.xmltex = 1500000
|
||
+param_size.xmltex = 1500
|
||
+stack_size.xmltex = 1500
|
||
+hash_extra.xmltex = 50000
|
||
+string_vacancies.xmltex = 45000
|
||
+pool_free.xmltex = 47500
|
||
+nest_size.xmltex = 500
|
||
+save_size.xmltex = 10000
|
||
+pool_size.xmltex = 500000
|
||
+max_strings.xmltex = 55000
|
||
+
|
||
+% These are pdfxmltex specific
|
||
+main_memory.pdfxmltex = 2500000
|
||
+param_size.pdfxmltex = 1500
|
||
+stack_size.pdfxmltex = 1500
|
||
+hash_extra.pdfxmltex = 50000
|
||
+string_vacancies.pdfxmltex = 45000
|
||
+pool_free.pdfxmltex = 47500
|
||
+nest_size.pdfxmltex = 500
|
||
+save_size.pdfxmltex = 10000
|
||
+pool_size.pdfxmltex = 500000
|
||
+max_strings.pdfxmltex = 55000
|
||
+
|
||
+% These are jadetex specific
|
||
+main_memory.jadetex = 499999
|
||
+hash_extra.jadetex = 25000
|
||
+pool_size.jadetex = 500000
|
||
+save_size.jadetex = 15000
|
||
--- texk/lcdf-typetools/lcdf-typetools-src/otftotfm/otftotfm.cc
|
||
+++ texk/lcdf-typetools/lcdf-typetools-src/otftotfm/otftotfm.cc 2018-04-10 09:08:59.687430373 +0000
|
||
@@ -67,6 +67,9 @@
|
||
# include <io.h>
|
||
#endif
|
||
|
||
+#undef SHAREDIR
|
||
+#define SHAREDIR "/usr/share/texmf/fonts/map/glyphlist"
|
||
+
|
||
using namespace Efont;
|
||
|
||
#define VERSION_OPT 301
|
||
--- texk/ps2pk/pk2bm.c
|
||
+++ texk/ps2pk/pk2bm.c 2018-04-10 09:02:17.862982147 +0000
|
||
@@ -103,7 +102,7 @@ int main(int argc, char *argv[])
|
||
}
|
||
}
|
||
|
||
- if (argc == 0) {
|
||
+ if (argc != 1) {
|
||
msg ("pk2bm (ps2pk) version " PACKAGE_VERSION "\n");
|
||
printf("Usage: %s [-bh] {-c char|-o octchar} [-W width -H height] pkfile\n", myname);
|
||
exit(1);
|
||
--- texk/texlive/linked_scripts/musixtex/musixtex.lua
|
||
+++ texk/texlive/linked_scripts/musixtex/musixtex.lua 2018-04-10 09:12:50.395048030 +0000
|
||
@@ -200,15 +200,26 @@ end
|
||
-- possible by exploiting the the fact that Lua has two false values.
|
||
-- dvi == nil "do not produce a DVI file" (but maybe PDF)
|
||
-- dvi == false "do not process the DVI file" (but stop after TeX)
|
||
+local base=string.explode(arg[0], "/+")
|
||
+base=string.explode(base[#base], ".+")
|
||
+base=base[1]
|
||
local dvips = "dvips -e0"
|
||
function defaults()
|
||
prepmx = "prepmx"
|
||
pmx = "pmxab"
|
||
autosp = "autosp"
|
||
- tex = "etex"
|
||
+ if base == "pdfmusixtex" then
|
||
+ tex = "pdfetex"
|
||
+ dvips = ""
|
||
+ dvi = ""
|
||
+ ps2pdf = ""
|
||
+ else
|
||
+ tex = "etex"
|
||
+ dvips = "dvips -e0"
|
||
+ dvi = dvips
|
||
+ ps2pdf = "ps2pdf"
|
||
+ end
|
||
musixflx = "musixflx"
|
||
- dvi = dvips
|
||
- ps2pdf = "ps2pdf"
|
||
cleanup = true -- clean up intermediate and log files
|
||
index = false
|
||
latex = false
|
||
--- texk/texlive/linked_scripts/texlive/fmtutil-sys.sh
|
||
+++ texk/texlive/linked_scripts/texlive/fmtutil-sys.sh 2018-04-10 09:02:17.862982147 +0000
|
||
@@ -22,4 +22,5 @@ PATH="$mydir:$PATH"; export PATH
|
||
# hack around a bug in zsh:
|
||
test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
|
||
|
||
+umask 022
|
||
exec fmtutil --sys ${1+"$@"}
|
||
--- texk/texlive/linked_scripts/texlive/fmtutil.pl
|
||
+++ texk/texlive/linked_scripts/texlive/fmtutil.pl 2018-04-10 09:02:17.862982147 +0000
|
||
@@ -10,16 +10,16 @@
|
||
# History:
|
||
# Original shell script (C) 2001 Thomas Esser, public domain
|
||
|
||
-my $TEXMFROOT;
|
||
+my $TEXMFDIST;
|
||
|
||
BEGIN {
|
||
$^W = 1;
|
||
- $TEXMFROOT = `kpsewhich -var-value=TEXMFROOT`;
|
||
+ $TEXMFDIST = `kpsewhich -var-value=TEXMFDIST`;
|
||
if ($?) {
|
||
- die "$0: kpsewhich -var-value=TEXMFROOT failed, aborting early.\n";
|
||
+ die "$0: kpsewhich -var-value=TEXMFDIST failed, aborting early.\n";
|
||
}
|
||
- chomp($TEXMFROOT);
|
||
- unshift(@INC, "$TEXMFROOT/tlpkg", "$TEXMFROOT/texmf-dist/scripts/texlive");
|
||
+ chomp($TEXMFDIST);
|
||
+ unshift(@INC, "$TEXMFDIST/tlpkg", "$TEXMFDIST/scripts/texlive");
|
||
require "mktexlsr.pl";
|
||
TeX::Update->import();
|
||
}
|
||
@@ -70,7 +70,7 @@ TeXLive::TLUtils::prepend_own_path();
|
||
# this function checks by itself whether it is running on windows or not
|
||
reset_root_home();
|
||
|
||
-chomp(our $TEXMFDIST = `kpsewhich --var-value=TEXMFDIST`);
|
||
+chomp(our $TEXMFROOT = `kpsewhich --var-value=TEXMFROOT`);
|
||
chomp(our $TEXMFVAR = `kpsewhich -var-value=TEXMFVAR`);
|
||
chomp(our $TEXMFSYSVAR = `kpsewhich -var-value=TEXMFSYSVAR`);
|
||
chomp(our $TEXMFCONFIG = `kpsewhich -var-value=TEXMFCONFIG`);
|
||
@@ -361,7 +361,14 @@ sub callback_build_formats {
|
||
TeXLive::TLWinGoo::maybe_make_ro ($tmpdir);
|
||
}
|
||
} else {
|
||
+ my ($uid, $gid);
|
||
$tmpdir = File::Temp::tempdir(CLEANUP => 1);
|
||
+ if ($> == 0 && ($uid=getpwnam("nobody")) && ($gid=getgrnam("mktex"))) {
|
||
+ my $cnt = chown $uid, $gid, $tmpdir;
|
||
+ die "could not create directory $tmpdir" if $cnt <= 0;
|
||
+ $cnt = chmod 0770, $tmpdir;
|
||
+ die "could not create directory $tmpdir" if $cnt <= 0;
|
||
+ }
|
||
}
|
||
# set up destination directory
|
||
$opts{'fmtdir'} ||= "$texmfvar/web2c";
|
||
@@ -597,6 +604,7 @@ sub rebuild_one_format {
|
||
# check for existence of ini file before doing anything else
|
||
if (system("kpsewhich -progname=$fmt -format=$kpsefmt $inifile >$nul 2>&1") != 0) {
|
||
# we didn't find the ini file, skip
|
||
+ return $FMT_NOTAVAIL if (!$opts{'no-error-if-no-engine'});
|
||
print_deferred_warning("inifile $inifile for $fmt/$eng not found.\n");
|
||
# The original script just skipped it but in TeX Live we expect that
|
||
# all activated formats are also buildable, thus return failure.
|
||
@@ -656,11 +664,15 @@ sub rebuild_one_format {
|
||
",$opts{'no-error-if-no-engine'}," =~ m/,$eng,/) {
|
||
return $FMT_NOTAVAIL;
|
||
} else {
|
||
+ return $FMT_NOTAVAIL if (!$opts{'no-error-if-no-engine'});
|
||
print_deferred_error("not building $fmt due to missing engine $eng.\n");
|
||
return $FMT_FAILURE;
|
||
}
|
||
}
|
||
|
||
+ if ($ENV{batchmode} and $ENV{batchmode} eq "yes") {
|
||
+ $texargs="\\batchmode \\input $texargs" if $eng eq "tex" || $eng eq "ptex";
|
||
+ }
|
||
my $cmdline = "$eng -ini $tcxflag $recorderswitch $jobswitch "
|
||
. "$prgswitch $texargs";
|
||
print_verbose("running \`$cmdline' ...\n");
|
||
--- texk/texlive/linked_scripts/texlive/updmap-sys.sh
|
||
+++ texk/texlive/linked_scripts/texlive/updmap-sys.sh 2018-04-10 09:02:17.862982147 +0000
|
||
@@ -22,4 +22,5 @@ PATH="$mydir:$PATH"; export PATH
|
||
# hack around a bug in zsh:
|
||
test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
|
||
|
||
+umask 022
|
||
exec updmap --sys ${1+"$@"}
|
||
--- texk/texlive/tl_scripts/fmtutil.cnf
|
||
+++ texk/texlive/tl_scripts/fmtutil.cnf 2018-04-10 09:02:17.862982147 +0000
|
||
@@ -46,10 +46,11 @@ amstex pdftex - -translate-file=cp227.tc
|
||
# from context:
|
||
cont-en pdftex cont-usr.tex -8bit *cont-en.mkii
|
||
cont-en xetex cont-usr.tex -8bit *cont-en.mkii
|
||
-#! cont-fr pdftex cont-usr.tex -8bit *cont-fr.mkii
|
||
-#! cont-it pdftex cont-usr.tex -8bit *cont-it.mkii
|
||
-#! cont-nl pdftex cont-usr.tex -8bit *cont-nl.mkii
|
||
-#! cont-ro pdftex cont-usr.tex -8bit *cont-ro.mkii
|
||
+cont-de pdftex cont-usr.tex -8bit *cont-fr.mkii
|
||
+cont-fr pdftex cont-usr.tex -8bit *cont-fr.mkii
|
||
+cont-it pdftex cont-usr.tex -8bit *cont-it.mkii
|
||
+cont-nl pdftex cont-usr.tex -8bit *cont-nl.mkii
|
||
+cont-ro pdftex cont-usr.tex -8bit *cont-ro.mkii
|
||
#
|
||
# from cslatex:
|
||
cslatex pdftex - -etex cslatex.ini
|
||
@@ -66,8 +67,8 @@ pdfcsplain luatex - -etex csplain.ini
|
||
eplain pdftex language.dat -translate-file=cp227.tcx *eplain.ini
|
||
#
|
||
# from jadetex:
|
||
-jadetex pdftex language.dat *jadetex.ini
|
||
-pdfjadetex pdftex language.dat *pdfjadetex.ini
|
||
+jadetex pdftex language.dat -translate-file=cp227.tcx *jadetex.ini
|
||
+pdfjadetex pdftex language.dat -translate-file=cp227.tcx *pdfjadetex.ini
|
||
#
|
||
# from latex-bin:
|
||
latex pdftex language.dat -translate-file=cp227.tcx *latex.ini
|
||
@@ -132,5 +133,5 @@ xetex xetex language.def -etex xetex.ini
|
||
xelatex xetex language.dat -etex xelatex.ini
|
||
#
|
||
# from xmltex:
|
||
-xmltex pdftex language.dat *xmltex.ini
|
||
-pdfxmltex pdftex language.dat *pdfxmltex.ini
|
||
+xmltex pdftex language.dat -translate-file=cp227.tcx *xmltex.ini
|
||
+pdfxmltex pdftex language.dat -translate-file=cp227.tcx *pdfxmltex.ini
|
||
--- texk/texlive/tl_scripts/texconfig-dialog.sh
|
||
+++ texk/texlive/tl_scripts/texconfig-dialog.sh 2018-04-10 09:02:17.862982147 +0000
|
||
@@ -157,7 +157,14 @@ termCtl()
|
||
###############################################################################
|
||
menuMain()
|
||
{
|
||
- cat <<-'eof'
|
||
+ rows="$(stty size)"
|
||
+ columns=${rows##* }
|
||
+ rows=${rows%% *}
|
||
+ test -n "$rows" || rows=0
|
||
+ test -n "$columns" || columns=0
|
||
+
|
||
+ if test $rows -lt 24 -a $columns -lt 80 ; then
|
||
+ cat <<-'eof'
|
||
The interactive texconfig utility will be started now. Make sure
|
||
your screen has at least 24 rows and 80 columns. If texconfig
|
||
crashes now, you can still set up your TeX system using the
|
||
@@ -169,8 +176,9 @@ menuMain()
|
||
|
||
More likely these days, you're better off using tlmgr.
|
||
See http://tug.org/texlive/tlmgr.html.
|
||
-eof
|
||
- termCtl readln
|
||
+ eof
|
||
+ termCtl readln
|
||
+ fi
|
||
|
||
while :; do
|
||
logMessage='view logfile'
|
||
--- texk/texlive/tl_scripts/texconfig-sys.sh
|
||
+++ texk/texlive/tl_scripts/texconfig-sys.sh 2018-04-10 09:02:17.862982147 +0000
|
||
@@ -30,4 +30,5 @@ TEXMFVAR="$v"
|
||
TEXMFCONFIG="$c"
|
||
export TEXMFVAR TEXMFCONFIG
|
||
|
||
+umask 022
|
||
exec texconfig ${1+"$@"}
|
||
--- texk/texlive/tl_scripts/texconfig.sh
|
||
+++ texk/texlive/tl_scripts/texconfig.sh 2018-04-10 09:02:17.862982147 +0000
|
||
@@ -40,7 +40,7 @@ envVars="
|
||
TEXMFDBS TEXMFINI TEXMFSCRIPTS TEXPICTS TEXPKS TEXPOOL TEXPSHEADERS
|
||
TEXSOURCES TFMFONTS TRFONTS TTFONTS VFFONTS WEB2C WEBINPUTS
|
||
"
|
||
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tctmp.$$
|
||
+tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tctmp.$$.$RANDOM
|
||
needsCleanup=false
|
||
lastUpdatedFile=
|
||
|
||
@@ -997,21 +997,6 @@ For more information about these \`featu
|
||
;;
|
||
|
||
formats)
|
||
- cat >&2 <<EOM
|
||
-texconfig formats is no longer supported, because manual edits of
|
||
-fmtutil.cnf will be overwritten by the new TeX Live package manager,
|
||
-tlmgr, which regenerates that file as needed upon package changes.
|
||
-Thus, to add or remove formats, the recommended method is to use tlmgr
|
||
-to add or remove the appropriate package.
|
||
-
|
||
-If you need to make manual additions, you can edit the file
|
||
-fmtutil-local.cnf under TEXMFLOCAL. Further information with
|
||
-tlmgr --help and at http://tug.org/texlive/tlmgr.html.
|
||
-
|
||
-Exiting.
|
||
-EOM
|
||
- exit 1 # but leave the real code for posterity
|
||
-
|
||
setupTmpDir
|
||
echo "$progname: analyzing old configuration..." >&2
|
||
fmtutil --catcfg > $tmpdir/pre
|
||
@@ -1037,22 +1022,6 @@ EOM
|
||
|
||
# "hyphen FORMAT"
|
||
hyphen)
|
||
- cat >&2 <<EOM
|
||
-texconfig hyphen is no longer supported, because manual edits of
|
||
-language.dat (or language.def) will be overwritten by the new TeX Live
|
||
-package manager, tlmgr, which regenerates those configuration files as
|
||
-needed upon package changes. Thus, to add or remove hyphenation
|
||
-patterns, the recommended method is to use tlmgr to add or remove the
|
||
-appropriate package.
|
||
-
|
||
-If you need to make manual additions, you can edit the files
|
||
-language-local.dat and language-local.def under TEXMFLOCAL. Further
|
||
-information with tlmgr --help and at http://tug.org/texlive/tlmgr.html.
|
||
-
|
||
-Exiting.
|
||
-EOM
|
||
- exit 1 # but leave the real code for posterity
|
||
-
|
||
tcBatchHyphenFormat=$2
|
||
formatsForHyphen=`getFormatsForHyphen`
|
||
formatsForHyphenFmt=`echo "$formatsForHyphen" | myFmt | sed 's@^@ @'`
|
||
@@ -1301,7 +1270,7 @@ Valid PAPER settings:
|
||
;;
|
||
|
||
rehash)
|
||
- mktexlsr
|
||
+ ( unset KPSE_DOT; mktexlsr )
|
||
;;
|
||
|
||
#
|
||
--- texk/texlive/tl_scripts/texlinks.sh
|
||
+++ texk/texlive/tl_scripts/texlinks.sh 2018-04-10 09:02:17.862982147 +0000
|
||
@@ -100,7 +100,7 @@ setupTmpDir()
|
||
|
||
trap 'cleanup 1' 1 2 3 7 13 15
|
||
needsCleanup=true
|
||
- (umask 077; mkdir "$tmpdir") \
|
||
+ (umask 077; mkdir -m 0700 "$tmpdir") \
|
||
|| abort "could not create directory \`$tmpdir'"
|
||
}
|
||
|
||
@@ -108,16 +108,18 @@ setupTmpDir()
|
||
# search a binary along $PATH:
|
||
check_for_binary()
|
||
{
|
||
- testbin=$1
|
||
- set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g; s/:/ /g'`; shift
|
||
- for i
|
||
- do
|
||
- if [ -x "$i/$testbin" ]; then
|
||
- echo "$i/$testbin"
|
||
- return 0
|
||
- fi
|
||
- done
|
||
- return 1
|
||
+# testbin=$1
|
||
+# set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g; s/:/ /g'`; shift
|
||
+# for i
|
||
+# do
|
||
+# if [ -x "$i/$testbin" ]; then
|
||
+# echo "$i/$testbin"
|
||
+# return 0
|
||
+# fi
|
||
+# done
|
||
+# return 1
|
||
+
|
||
+ type -p $1
|
||
}
|
||
|
||
|
||
@@ -208,8 +210,22 @@ search_symlinkdir()
|
||
upd_symlinkdir()
|
||
{
|
||
search_symlinkdir || return 0
|
||
- for i in `sed 's@ .*@@' cnf_file_ln.$$`; do
|
||
- install_link "$selfautoloc/$i" "$symlinkdir/$i"
|
||
+ set x `cat cnf_file_ln.$$` ; shift
|
||
+ while test $# != 0; do
|
||
+ fmt=$1; ini=$3; shift; shift; shift
|
||
+
|
||
+ # Some broken shells destroy the positional arguments when calling a
|
||
+ # shellfunction. Therefore, we save and restore them "by hand" in the
|
||
+ # main_args_while variable.
|
||
+ main_args_while="$@"
|
||
+
|
||
+ kpsewhich -progname=$fmt -format=tex $ini >/dev/null 2>&1
|
||
+ test $? -ne 0 && continue
|
||
+
|
||
+ install_link "$selfautoloc/$fmt" "$symlinkdir/$fmt"
|
||
+
|
||
+ # restore positional arguments:
|
||
+ set x $main_args_while; shift
|
||
done
|
||
}
|
||
|
||
@@ -274,12 +290,12 @@ main()
|
||
test -f "$cnf_file" || abort "config file \`$cnf' not found"
|
||
|
||
|
||
- tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/texlinks.$$
|
||
+ tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/texlinks.$$.$RANDOM
|
||
setupTmpDir
|
||
cd "$tmpdir" || cleanup 1
|
||
|
||
- sed '/^[ ]*#/d; /^[ ]*$/d' $cnf_file \
|
||
- | awk '{print $1, $2}' > cnf_file_ln.$$
|
||
+ sed '/^[ ]*#/d; /^[ ]*$/d; s%\*%%' $cnf_file \
|
||
+ | awk '{print $1, $2, $NF}' > cnf_file_ln.$$
|
||
|
||
if test -z "$dirs"; then
|
||
if test $multiplatform = true; then
|
||
@@ -300,13 +316,16 @@ main()
|
||
# cnf_file_ln.$$ has lines with "format engine" pairs
|
||
set x `cat cnf_file_ln.$$`; shift
|
||
while test $# != 0; do
|
||
- fmt=$1; engine=$2; shift; shift
|
||
+ fmt=$1; engine=$2; ini=$3; shift; shift; shift
|
||
|
||
# Some broken shells destroy the positional arguments when calling a
|
||
# shellfunction. Therefore, we save and restore them "by hand" in the
|
||
# main_args_while variable.
|
||
main_args_while="$@"
|
||
|
||
+ kpsewhich -progname=$fmt -format=tex $ini >/dev/null 2>&1
|
||
+ test $? -ne 0 && continue
|
||
+
|
||
test "x$fmt" = "x$engine" && continue
|
||
if test -f "$d/$engine$exeext"; then
|
||
case $unlink in
|
||
--- texk/web2c/Makefile.in
|
||
+++ texk/web2c/Makefile.in 2018-04-10 09:02:17.870981997 +0000
|
||
@@ -4947,7 +4947,7 @@ libmd5_a_SOURCES = libmd5/md5.c libmd5/m
|
||
md5main_CPPFLAGS = -I$(srcdir)/libmd5
|
||
md5main_SOURCES = libmd5/md5main.c
|
||
md5main_LDADD = libmd5.a
|
||
-all: ff-config.h
|
||
+all: ff-config.h w2c/config.h
|
||
$(MAKE) $(AM_MAKEFLAGS) all-recursive
|
||
|
||
.SUFFIXES:
|
||
@@ -4994,6 +4994,11 @@ w2c/c-auto.h: w2c/stamp-h1
|
||
w2c/stamp-h1: $(srcdir)/c-auto.in $(top_builddir)/config.status
|
||
@rm -f w2c/stamp-h1
|
||
cd $(top_builddir) && $(SHELL) ./config.status w2c/c-auto.h
|
||
+.PHONY: w2c/config.h
|
||
+w2c/config.h:
|
||
+ $(MKDIR_P) w2c
|
||
+ cp $(srcdir)/w2c/config.h $@
|
||
+
|
||
$(srcdir)/c-auto.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
||
($(am__cd) $(top_srcdir) && $(AUTOHEADER))
|
||
rm -f w2c/stamp-h1
|
||
--- texk/web2c/luatexdir/luapplib/ppheap.c
|
||
+++ texk/web2c/luatexdir/luapplib/ppheap.c 2019-05-20 12:04:35.067508800 +0000
|
||
@@ -101,21 +101,25 @@
|
||
#endif
|
||
|
||
typedef struct _simplereg {
|
||
- size_t bucket_pos;
|
||
+ int heap_instance;
|
||
+ int bucket_pos;
|
||
size_t bucket_size;
|
||
- size_t heap_instance;
|
||
- aligned_data **align_data_set ;
|
||
-} simplereg;
|
||
+ union {
|
||
+ void *_area;
|
||
+ aligned_data **_set;
|
||
+ } align_data __attribute__ ((aligned(__alignof__(void*))));
|
||
+} simplereg __attribute__ ((aligned(__alignof__(void*))));
|
||
|
||
/* By default static vars are initialized to NULL, but to be clear.. */
|
||
static simplereg *align_set = NULL ;
|
||
|
||
static void align_init_set(void){
|
||
size_t size ;
|
||
+ int p;
|
||
|
||
if (align_set) {
|
||
align_set->heap_instance++;
|
||
- return ;
|
||
+ return;
|
||
}
|
||
|
||
align_set = malloc(sizeof(simplereg));
|
||
@@ -125,8 +129,8 @@
|
||
}
|
||
|
||
size = SIZE_OF_POINTER*ALIGN_BUFF_BUCKET_SIZE;
|
||
- align_set->align_data_set = malloc(size);
|
||
- if (!align_set->align_data_set) {
|
||
+ align_set->align_data._area = malloc(size);
|
||
+ if (!align_set->align_data._area) {
|
||
fprintf(stderr,"! fatal error: unable to setup register for aligned pointers\n");
|
||
exit(EXIT_FAILURE);
|
||
}
|
||
@@ -134,37 +138,40 @@
|
||
align_set->bucket_pos = 0;
|
||
align_set->bucket_size = ALIGN_BUFF_BUCKET_SIZE;
|
||
align_set->heap_instance = 1;
|
||
- memset(align_set->align_data_set, 0UL,size);
|
||
+ memset(align_set->align_data._area, 0, size);
|
||
+ p = align_set->bucket_size;
|
||
+ while (p-- > 0){
|
||
+ align_set->align_data._set[p] = NULL;
|
||
+ }
|
||
}
|
||
|
||
static void align_save_into_set(aligned_data *p){
|
||
if (align_set->bucket_pos >= align_set->bucket_size) {
|
||
size_t new_size;
|
||
- aligned_data **align_data_set_new;
|
||
+ void *align_data_area_new;
|
||
|
||
- if(!align_set->align_data_set){
|
||
+ if(!align_set->align_data._area){
|
||
fprintf(stderr,"! fatal error: unable to save aligned pointer,corrupted set\n");
|
||
exit(EXIT_FAILURE);
|
||
}
|
||
new_size = (ALIGN_BUFF_BUCKET_SIZE+align_set->bucket_size)*SIZE_OF_POINTER;
|
||
- align_data_set_new = malloc(new_size);
|
||
- if (!align_data_set_new) {
|
||
+ align_data_area_new = malloc(new_size);
|
||
+ if (!align_data_area_new) {
|
||
fprintf(stderr,"! fatal error: unable to save aligned pointer\n");
|
||
exit(EXIT_FAILURE);
|
||
}
|
||
- memset(align_data_set_new,0,new_size);
|
||
- memcpy(align_data_set_new, align_set->align_data_set, align_set->bucket_size*SIZE_OF_POINTER);
|
||
- free(align_set->align_data_set);
|
||
- align_set->align_data_set = align_data_set_new ;
|
||
+ memset(align_data_area_new,0,new_size);
|
||
+ memcpy(align_data_area_new, align_set->align_data._area, align_set->bucket_size*SIZE_OF_POINTER);
|
||
+ free(align_set->align_data._area);
|
||
+ align_set->align_data._area = align_data_area_new ;
|
||
align_set->bucket_size += ALIGN_BUFF_BUCKET_SIZE;
|
||
}
|
||
if (align_set->bucket_pos>align_set->bucket_size){
|
||
fprintf(stderr,"! fatal error: unable to save aligned pointer, wrong position\n");
|
||
exit(EXIT_FAILURE);
|
||
}
|
||
- align_set->align_data_set[align_set->bucket_pos] = p ;
|
||
+ align_set->align_data._set[align_set->bucket_pos] = p ;
|
||
align_set->bucket_pos++;
|
||
-
|
||
}
|
||
|
||
static void align_free_set(void){
|
||
@@ -174,15 +181,16 @@
|
||
if (align_set->heap_instance>1) {
|
||
align_set->heap_instance--;
|
||
} else if (align_set->heap_instance ==1) {
|
||
- if (align_set->align_data_set){
|
||
- size_t p;
|
||
- for(p=1;p<align_set->bucket_pos;p++){
|
||
- if (align_set->align_data_set[p]) {
|
||
- free(align_set->align_data_set[p]);
|
||
+ if (align_set->align_data._area){
|
||
+ int p = align_set->bucket_pos;
|
||
+ while (p-- > 0){
|
||
+ if (align_set->align_data._set[p]) {
|
||
+ free(align_set->align_data._set[p]);
|
||
+ align_set->align_data._set[p] = NULL;
|
||
}
|
||
}
|
||
- free(align_set->align_data_set);
|
||
- align_set->align_data_set = NULL;
|
||
+ free(align_set->align_data._area);
|
||
+ align_set->align_data._area = NULL;
|
||
}
|
||
align_set->heap_instance=0;
|
||
free(align_set);
|
||
@@ -225,7 +233,6 @@
|
||
#ifdef PPHEAP_NEED_ALIGNMENT
|
||
align_free_set();
|
||
#endif
|
||
-
|
||
}
|
||
|
||
void ppheap_renew (ppheap *heap)
|
||
@@ -415,7 +422,7 @@
|
||
// iof_close(O);
|
||
#ifdef PPHEAP_NEED_ALIGNMENT
|
||
/* Todo: only if data%sizeof(aligned_data) != 0 */
|
||
- p_aligned_data = malloc(size);
|
||
+ p_aligned_data = (aligned_data*)malloc(size);
|
||
if (!p_aligned_data) {
|
||
fprintf(stderr,"! fatal error: unable to setup aligned pointer for ppheap_flush\n");
|
||
exit(EXIT_FAILURE);
|
||
--- texk/web2c/luatexdir/luapplib/ppload.c
|
||
+++ texk/web2c/luatexdir/luapplib/ppload.c 2019-05-20 11:59:47.417508800 +0000
|
||
@@ -60,7 +60,7 @@
|
||
ghost->size = siz - sizeof(_ppname) - 1, \
|
||
(ppname)(ghost + 1))
|
||
|
||
-#if ARM_COMPLAINT
|
||
+#if ARM_COMPLIANT
|
||
#define ppname_flush_with_ego(O, ghost, siz, flgs) \
|
||
(iof_put(O, '\0'), \
|
||
pad=(O->pos - pos_begin)%(sizeof(ppname*)), \
|
||
@@ -270,7 +270,7 @@
|
||
|
||
|
||
|
||
-#if ARM_COMPLIANT
|
||
+#if 0 // ARM_COMPLIANT /* Invalid write of size 8 */
|
||
#define ppstring_set_alter_ego(string, ghost, ego) do{ \
|
||
size_t t = ((ghost)->size + 1); \
|
||
t = (t%sizeof(ppstring *))==0?t: (t/sizeof(ppstring *)+1)*sizeof(ppstring *); \
|
||
--- texk/web2c/uptexdir/tests/gkhugeng.err
|
||
+++ texk/web2c/uptexdir/tests/gkhugeng.err 2019-05-13 11:22:35.158192154 +0000
|
||
@@ -1,3 +1,11 @@
|
||
+warning: kpathsea: /etc/texmf/ls-R: No usable entries in ls-R.
|
||
+warning: kpathsea: See the manual for how to generate ls-R.
|
||
+warning: kpathsea: /var/lib/texmf/ls-R: No usable entries in ls-R.
|
||
+warning: kpathsea: See the manual for how to generate ls-R.
|
||
+warning: kpathsea: /usr/share/texmf/ls-R: No usable entries in ls-R.
|
||
+warning: kpathsea: See the manual for how to generate ls-R.
|
||
+warning: kpathsea: /var/cache/texmf/fonts/ls-R: No usable entries in ls-R.
|
||
+warning: kpathsea: See the manual for how to generate ls-R.
|
||
Input file is in YOKO-kumi kanji tfm format.
|
||
The fifth byte of the input file exceeds 127!
|
||
Sorry, but I can't go on; are you sure this is a TFM?
|
||
--- texk/web2c/window/regis.c
|
||
+++ texk/web2c/window/regis.c 2018-04-10 09:02:17.870981997 +0000
|
||
@@ -64,12 +64,14 @@ void mf_regis_blankrectangle (screencol
|
||
screenrow top,
|
||
screenrow bottom)
|
||
{
|
||
- printf(
|
||
+ const char *format =
|
||
#ifdef WRITEWHITE
|
||
- "%cPpP[%d,%d]W(I0)W(S1)V[%d,%d]V[%d,%d]V[%d,%d]V[%d,%d]W(S0)W(I3)%c\\",
|
||
+ "%cPpP[%d,%d]W(I0)W(S1)V[%d,%d]V[%d,%d]V[%d,%d]V[%d,%d]W(S0)W(I3)%c\\"
|
||
#else
|
||
- "%cPpP[%d,%d]W(I3)W(S1)V[%d,%d]V[%d,%d]V[%d,%d]V[%d,%d]W(S0)W(I0)%c\\",
|
||
+ "%cPpP[%d,%d]W(I3)W(S1)V[%d,%d]V[%d,%d]V[%d,%d]V[%d,%d]W(S0)W(I0)%c\\"
|
||
#endif
|
||
+ ;
|
||
+ printf(format,
|
||
ESCAPE,left,bottom,right,bottom,right,top,left,top,
|
||
left,bottom,ESCAPE);
|
||
}
|
||
--- texk/web2c/window/x11-Xlib.c
|
||
+++ texk/web2c/window/x11-Xlib.c 2018-04-10 09:02:18.646967412 +0000
|
||
@@ -73,6 +73,8 @@ static XWMHints wm_hints = {
|
||
#define BORDER_WIDTH 1 /* Should get this from resource. */
|
||
#define DEFAULT_X_POSITION 0
|
||
#define DEFAULT_Y_POSITION 0
|
||
+#define DEFAULT_WIDTH 450
|
||
+#define DEFAULT_DEPTH 500
|
||
|
||
|
||
#include <mfdisplay.h>
|
||
@@ -101,12 +103,12 @@ mf_x11_initscreen(void)
|
||
|
||
sizehints.x = DEFAULT_X_POSITION;
|
||
sizehints.y = DEFAULT_Y_POSITION;
|
||
- sizehints.width = screenwidth;
|
||
- sizehints.height = screendepth;
|
||
+ sizehints.width = DEFAULT_WIDTH;
|
||
+ sizehints.height = DEFAULT_DEPTH;
|
||
sizehints.flags = PPosition|PSize;
|
||
|
||
sprintf (default_geometry, "%ux%u+%u+%u",
|
||
- (unsigned int) screenwidth, (unsigned int) screendepth,
|
||
+ (unsigned int) DEFAULT_WIDTH, (unsigned int) DEFAULT_DEPTH,
|
||
DEFAULT_X_POSITION, DEFAULT_Y_POSITION);
|
||
|
||
/* Look up the geometry for this window. (Section 10.2 Obtaining X
|
||
--- texk/web2c/window/x11-Xt.c
|
||
+++ texk/web2c/window/x11-Xt.c 2018-04-10 09:02:18.646967412 +0000
|
||
@@ -18,8 +18,8 @@
|
||
|
||
#define PLANE 0
|
||
|
||
-static unsigned int mf_defwidth = 0;
|
||
-static unsigned int mf_defheight = 0;
|
||
+static unsigned int mf_defwidth = 450;;
|
||
+static unsigned int mf_defheight = 500;
|
||
|
||
static Display *mf_display;
|
||
static Window mf_window;
|
||
--- texk/xdvik/psgs.c
|
||
+++ texk/xdvik/psgs.c 2018-04-10 09:02:18.646967412 +0000
|
||
@@ -34,6 +34,8 @@ OTHER DEALINGS IN THE SOFTWARE.
|
||
#include <sys/time.h> /* for timeval */
|
||
|
||
#include <signal.h>
|
||
+#include <sys/types.h>
|
||
+#include <sys/wait.h>
|
||
|
||
/* Condition for retrying a write */
|
||
#include <errno.h>
|
||
@@ -625,6 +627,26 @@ initGS(void)
|
||
perror("[xdvik] pipe");
|
||
return False;
|
||
}
|
||
+
|
||
+ if (GS_pid > 0) { /* Check if we've a running ghostscript */
|
||
+ int status, n = 0;
|
||
+ errno = 0;
|
||
+retry:
|
||
+ switch (waitpid(GS_pid, &status, WNOHANG)) {
|
||
+ case -1:
|
||
+ if (errno == EINTR)
|
||
+ goto retry;
|
||
+ return False;
|
||
+ case 0:
|
||
+ break;
|
||
+ default:
|
||
+ if (WIFEXITED(status) && WEXITSTATUS(status))
|
||
+ return False;
|
||
+ if (WIFSIGNALED(status))
|
||
+ return False;
|
||
+ break; /* Not reached */
|
||
+ }
|
||
+ }
|
||
fflush(stderr); /* to avoid double flushing */
|
||
GS_pid = vfork();
|
||
if (GS_pid == 0) { /* child */
|
||
--- texk/xdvik/xdvi-sh.in
|
||
+++ texk/xdvik/xdvi-sh.in 2018-04-10 09:02:18.646967412 +0000
|
||
@@ -1,4 +1,4 @@
|
||
-#!/bin/sh
|
||
+#!/bin/bash
|
||
|
||
# This is the xdvi wrapper script for teTeX, version 0.2.
|
||
# Copyright Thomas Esser, 1998. Permission to distribute under the terms
|
||
@@ -50,4 +50,19 @@ if test -n "$xdviappfile"; then
|
||
XFILESEARCHPATH="$xdviapppath:${XFILESEARCHPATH-%D}"; export XFILESEARCHPATH
|
||
fi
|
||
|
||
-exec @final_exec_name@ $NAMEOPT ${1+"$@"}
|
||
+uncompress=
|
||
+filename="${1+"$@"}"
|
||
+case "${filename}" in
|
||
+ *.gz) uncompress="gzip -d -c $filename" ;;
|
||
+ *.bz2) uncompress="bzip2 -d -c $filename" ;;
|
||
+esac
|
||
+if test -n "$uncompress" -a -r "$filename" ; then
|
||
+ filename="${filename##*/}"
|
||
+ tmpfile="`mktemp ${TMPDIR-/tmp}/${filename%.*}.XXXXXX`" || exit 1
|
||
+ trap 'rc=$?; rm -f $tmpfile; exit $rc' 0 1 2 3 6 13 15
|
||
+ $uncompress > $tmpfile
|
||
+ exec -a xdvi @final_exec_name@ $NAMEOPT $tmpfile
|
||
+else
|
||
+ exec -a xdvi @final_exec_name@ $NAMEOPT ${1+"$@"}
|
||
+fi
|
||
+
|