--- libs/icu/icu-4.6/common/Makefile.in +++ libs/icu/icu-4.6/common/Makefile.in 2011-12-09 11:43:35.443147133 +0000 @@ -66,7 +66,7 @@ DEFS += -DU_COMMON_IMPLEMENTATION @DEFS@ 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 2009-09-03 10:53:28.000000000 +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 2009-09-02 12:47:26.000000000 +0000 @@ -169,7 +169,18 @@ main(int argc, char *argv[]) setbuf(ERR_STREAM, NULL); G_progname = argv[0]; #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); #endif DecodeArgs(argc, argv); --- texk/kpathsea/c-fopen.h +++ texk/kpathsea/c-fopen.h 2010-11-12 17:02:18.000000000 +0000 @@ -34,17 +34,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 2009-09-02 12:47:26.000000000 +0000 @@ -38,6 +38,7 @@ /* Just to be complete, we make both the system V/ANSI and the BSD versions of the string functions available. */ +#ifndef __GNUC__ #if !defined(HAVE_STRCHR) && !defined(strchr) #define strchr index #endif @@ -82,4 +83,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 2011-09-13 16:11:30.316427108 +0000 @@ -32,7 +32,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 2010-11-12 17:04:26.000000000 +0000 @@ -94,12 +94,21 @@ 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; 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 2009-09-02 12:47:26.000000000 +0000 @@ -37,10 +37,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. @@ -48,17 +49,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, @@ -68,6 +75,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`} --- texk/kpathsea/mktexlsr +++ texk/kpathsea/mktexlsr 2011-09-14 10:37:28.867925384 +0000 @@ -15,6 +15,9 @@ version='$Id: mktexlsr 23151 2011-06-27 progname=`echo $0 | sed 's%.*/%%'` usage="Usage: $progname [OPTION]... [DIR]... +MKTEXLSR=true; export MKTEXLSR +set -o noclobber + Rebuild ls-R filename databases used by TeX. If one or more arguments DIRS are given, these are used as the directories in which to build ls-R. Else all directories in the search path for ls-R files @@ -51,6 +54,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 ;; @@ -62,6 +68,28 @@ case $dirname in export PATH ;; esac +# Sometimes the scripts and binaries are located elsewhere check this +# by following the links and extend the path with appropiate dirnames. + link=`readlink -f $0` +dirname=`echo $link | sed 's%/*[^/][^/]*$%%'` + cpu=`uname -i|tr '[:upper:]' '[:lower:]' | sed 's/ppc64/ppc/;s/i386/i?86/'` + os=`uname -s|tr '[:upper:]' '[:lower:]'` + binary=`echo $dirname | sed "s%share%lib%;s%noarch%${cpu}-${os}%"` + binary=`echo $binary` +case "$SEP$PATH$SEP" in + *$SEP$dirname$SEP*) dirname="" ;; +esac +case $dirname in + "") # Do nothing + ;; + /* | [A-z]:/*) # Absolute name + PATH="$dirname$SEP$binary$SEP$PATH" + export PATH ;; + *) # Relative name + PATH="`pwd`/$dirname$SEP`pwd`/$binary$SEP$PATH" + export PATH ;; +esac + if tty -s; then verbose=true; else verbose=false; fi dry_run=false trees= @@ -134,6 +162,21 @@ old_ls_R_magic='% ls-R -- maintained by shift } +nobody="$(id -un nobody)" +if test "$(id -ur 2> /dev/null)" = "0" -a -n "$nobody" && type -p nobody > /dev/null 2>&1 ; then + grep -qE 'nobody:[^:]*:[0-9]+:0:0::::' /etc/shadow + if test $? -eq 0 ; then + echo "$progname: Warning the password of the user nobody has expired." >&2 + echo " Please use program \`chage' to set maxdays to 99999." >&2 + echo "" + exit 1 + fi + runls () { nobody ls -LRa 2>/dev/null; } +else + runls () { ls -LRa 2>/dev/null; } +fi + +cache="`kpsewhich --expand-var='$VARTEXFONTS'`" for TEXMFLS_R in "$@"; do # Prepend cwd if the directory was relative. case "$TEXMFLS_R" in @@ -163,12 +206,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 18 + > "$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 @@ -179,16 +233,23 @@ 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" $verbose && echo "$progname: Updating $db_file... " >&2 $dry_run && continue - - echo "$ls_R_magic" >"$db_file_tmp" + + # Note: this script has set the noclobber option at line 18 + echo "$ls_R_magic" >"$db_file_tmp" \ + || { echo "$progname: could not create file '$db_file_tmp'. 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 @@ -200,17 +261,25 @@ for TEXMFLS_R in "$@"; do # echo "./:" >>"$db_file_tmp" vc_dirs='\.\(bzr\|git\|hg\|svn\)\|_darcs' - (cd "$TEXMFLS_R" && \ls -LRa 2>/dev/null) \ + (cd "$TEXMFLS_R" && \runls) \ | 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 -O "$db_file" ; then + # We're the owner of the $db_file + mv "$db_file_tmp" "$db_file" + else + # Sticky bit is set see line 141 + # Temporary unset the noclobber option at line 20 + set +o noclobber + cat "$db_file_tmp" > "$db_file" + set -o noclobber + fi rm -rf "$db_dir_tmp" done $verbose && echo "$progname: Done." >&2 --- texk/kpathsea/progname.c +++ texk/kpathsea/progname.c 2011-12-07 11:56:54.567647087 +0000 @@ -612,9 +612,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", sdir); - sdir_parent = xdirname (sdir); + sdir_parent = xstrdup ("/usr/lib"); kpathsea_xputenv (kpse, "SELFAUTODIR", sdir_parent); - sdir_grandparent = xdirname (sdir_parent); + sdir_grandparent = xstrdup ("/usr/share"); kpathsea_xputenv (kpse, "SELFAUTOPARENT", sdir_grandparent); #if defined(WIN32) || defined(__MINGW32__) || defined(__CYGWIN__) --- texk/kpathsea/texmf.cnf +++ texk/kpathsea/texmf.cnf 2011-09-14 09:42:47.752427040 +0000 @@ -53,31 +53,34 @@ TEXMFROOT = $SELFAUTOPARENT % The tree containing runtime files related to the specific % distribution and version. -TEXMFMAIN = $TEXMFROOT/texmf +TEXMFMAIN = /usr/lib/texmf % The main tree of packages, distribution-agnostic: -TEXMFDIST = $TEXMFROOT/texmf-dist +TEXMFDIST = /usr/share/texmf + +% Our documentation-only tree, arranged by language: +TEXMFDOC = ${TEXMFDIST}/doc;${TEXMFMAIN}/doc % Local additions to the distribution trees. -TEXMFLOCAL = $TEXMFROOT/../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 % braces, as described above. (This used to be HOMETEXMF.) ~ expands % to %USERPROFILE% on Windows, $HOME otherwise. -TEXMFHOME = ~/texmf +TEXMFHOME = $HOME/texmf % TEXMFVAR, where texconfig/updmap/fmtutil store cached runtime data. -TEXMFVAR = ~/.texlive2011/texmf-var +TEXMFVAR = ${TEXMFSYSVAR} % TEXMFCONFIG, where texconfig/updmap/fmtutil store configuration data. -TEXMFCONFIG = ~/.texlive2011/texmf-config +TEXMFCONFIG = ${TEXMFSYSCONFIG} % List all the texmf trees. % @@ -92,7 +95,7 @@ TEXMFCONFIG = ~/.texlive2011/texmf-confi % versions should take precedence over those -- although it is generally % a source of confusion to have different versions of a package % installed, whatever the trees, so try to avoid it. -TEXMF = {$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFDIST} +TEXMF = {$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFDIST} % Where to look for ls-R files. There need not be an ls-R in the % directories in this path, but if there is one, Kpathsea will use it. @@ -100,18 +103,17 @@ TEXMF = {$TEXMFCONFIG,$TEXMFVAR,$TEXMFHO % does not create ls-R files in the non-!! elements -- because if an % ls-R is present, it will be used, and the disk will not be searched. % This is arguably a bug in kpathsea. -TEXMFDBS = {!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFDIST} +TEXMFDBS = $TEXMF;$VARTEXFONTS % 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;$TEXMFMAIN;$TEXMFLOCAL;$TEXMFDIST +SYSTEXMF = $TEXMFSYSCONFIG;$TEXMFSYSVAR;$TEXMFMAIN;$TEXMFLOCAL;$TEXMFDIST % 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 @@ -122,7 +124,7 @@ 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 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Usually you will not need to edit any of the following variables. @@ -130,7 +132,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 % TEXINPUTS is for TeX input files -- i.e., anything to be found by \input % or \openin, including .sty, .eps, etc. We specify paths for all known @@ -171,23 +173,23 @@ TEXINPUTS.elatex = .;$TEXMF/tex/{ TEXINPUTS.etex = .;$TEXMF/tex/{plain,generic,}// % pdfTeX. -TEXINPUTS.pdfcslatex = .;$TEXMF/tex/{cslatex,csplain,latex,generic,}// -TEXINPUTS.pdfcsplain = .;$TEXMF/tex/{csplain,plain,generic,}// -TEXINPUTS.pdflatex = .;$TEXMF/tex/{latex,generic,}// -TEXINPUTS.pdfmex = .;$TEXMF/tex/{mex,plain,generic,}// -TEXINPUTS.utf8mex = .;$TEXMF/tex/{mex,plain,generic,}// -TEXINPUTS.pdftex = .;$TEXMF/tex/{plain,generic,}// -TEXINPUTS.pdftexinfo = .;$TEXMF/tex/{texinfo,plain,generic,}// -TEXINPUTS.pdfamstex = .;$TEXMF/tex/{amstex,plain,generic,}// +TEXINPUTS.pdfcslatex = .;$TEXMF/{pdftex,tex}/{cslatex,csplain,latex,generic,}// +TEXINPUTS.pdfcsplain = .;$TEXMF/{pdftex,tex}/{csplain,plain,generic,}// +TEXINPUTS.pdflatex = .;$TEXMF/{pdftex,tex}/{latex,generic,}// +TEXINPUTS.pdfmex = .;$TEXMF/{pdftex,tex}/{mex,plain,generic,}// +TEXINPUTS.utf8mex = .;$TEXMF/{pdftex,tex}/{mex,plain,generic,}// +TEXINPUTS.pdftex = .;$TEXMF/{pdftex,tex}/{plain,generic,}// +TEXINPUTS.pdftexinfo = .;$TEXMF/{pdftex,tex}/{texinfo,plain,generic,}// +TEXINPUTS.pdfamstex = .;$TEXMF/{pdftex,tex}/{amstex,plain,generic,}// % pdfeTeX. -TEXINPUTS.pdfelatex = .;$TEXMF/tex/{latex,generic,}// -TEXINPUTS.pdfetex = .;$TEXMF/tex/{plain,generic,}// +TEXINPUTS.pdfelatex = .;$TEXMF/{pdftex,tex}/{latex,generic,}// +TEXINPUTS.pdfetex = .;$TEXMF/{pdftex,tex}/{plain,generic,}// % pdfxTeX. -TEXINPUTS.pdfxlatex = .;$TEXMF/tex/{latex,generic,}// -TEXINPUTS.pdfxmex = .;$TEXMF/tex/{mex,plain,generic,}// -TEXINPUTS.pdfxtex = .;$TEXMF/tex/{plain,generic,}// +TEXINPUTS.pdfxlatex = .;$TEXMF/{pdftex,tex}/{latex,generic,}// +TEXINPUTS.pdfxmex = .;$TEXMF/{pdftex,tex}/{mex,plain,generic,}// +TEXINPUTS.pdfxtex = .;$TEXMF/{pdftex,tex}/{plain,generic,}// % LuaTeX. TEXINPUTS.lualatex = .;$TEXMF/tex/{lualatex,latex,luatex,generic,}// @@ -223,18 +225,18 @@ BSTINPUTS.pbibtex = .;$TEXMF/{pbib TEXINPUTS.context = .;$TEXMF/tex/{context,plain,generic}// % jadetex. -TEXINPUTS.jadetex = .;$TEXMF/tex/{jadetex,latex,generic,}// -TEXINPUTS.pdfjadetex = .;$TEXMF/tex/{jadetex,latex,generic,}// +TEXINPUTS.jadetex = .;$TEXMF/tex/{jadetex,xmltex,latex,plain,generic,}// +TEXINPUTS.pdfjadetex = .;$TEXMF/{pdftex,tex}/{jadetex,xmltex,latex,plain,generic,}// % XMLTeX. -TEXINPUTS.xmltex = .;$TEXMF/tex/{xmltex,latex,generic,}// -TEXINPUTS.pdfxmltex = .;$TEXMF/tex/{xmltex,latex,generic,}// +TEXINPUTS.xmltex = .;$TEXMF/tex/{xmltex,latex,plain,generic,}// +TEXINPUTS.pdfxmltex = .;$TEXMF/{pdftex,tex}/{xmltex,latex,plain,generic,}// % Miscellany, no longer built. TEXINPUTS.lamstex = .;$TEXMF/tex/{lamstex,plain,generic,}// TEXINPUTS.lollipop = .;$TEXMF/tex/{lollipop,plain,generic,}// -TEXINPUTS.frpdflatex = .;$TEXMF/tex/{french,latex,generic,}// -TEXINPUTS.frpdftex = .;$TEXMF/tex/{french,plain,generic,}// +TEXINPUTS.frpdflatex = .;$TEXMF/{pdftex,tex}/{french,latex,generic,}// +TEXINPUTS.frpdftex = .;$TEXMF/{pdftex,tex}/{french,plain,generic,}// % Earlier entries override later ones, so put this generic one last. TEXINPUTS = .;$TEXMF/tex/{$progname,generic,}// @@ -253,13 +255,13 @@ MPINPUTS = .;$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 = .;$TEXMF/web2c{/$engine,} -MFBASES = .;$TEXMF/web2c{/$engine,} -MPMEMS = .;$TEXMF/web2c{/$engine,} +TEXFORMATS = .;$WEB2C/{$engine,}// +MFBASES = .;$WEB2C/{$engine,}// +MPMEMS = .;$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 = .;$TEXMF/web2c +TEXPOOL = .;$WEB2C MFPOOL = ${TEXPOOL} MPPOOL = ${TEXPOOL} @@ -287,7 +289,7 @@ GFFONTS = .;$TEXMF/fonts/gf/$MAKETEX_MOD GLYPHFONTS = .;$TEXMF/fonts % A place to puth everything that doesn't fit the other font categories. -MISCFONTS = .;$TEXMF/fonts/misc// +MISCFONTS = .;$TEXMF/fonts/misc//;$TEXMF/fonts/hbf// % font name map files. This isn't just fonts/map// because ConTeXt % wants support for having files with the same name in the different @@ -365,8 +367,8 @@ MPSUPPORT = .;$TEXMF/metapost/support % 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 fontconfig library, used by Windows versions of % xetex/xdvipdfmx. On Unixish systems, fontconfig ignores this. @@ -442,7 +444,8 @@ RUBYINPUTS = .;$TEXMF/scripts/{$progna % % For security reasons, it is better not to include . in this path. % -TEXMFCNF = {$SELFAUTOLOC,$SELFAUTODIR,$SELFAUTOPARENT}{,{/share,}/texmf{-local,}/web2c} +TEXMFCNF = /etc/texmf;/etc/texmf/web2c;/var/lib/texmf/web2c;$TEXMF/web2c + % kpathsea 3.5.3 and later sets these at runtime. To avoid empty % expansions from binaries linked against an earlier version of the @@ -621,9 +624,9 @@ BIBTEX_CSFILE = 88591lat.csf % For some xy-pic samples, you may need as much as 700000 words of memory. % For the vast majority of documents, 60000 or less will do. % -main_memory = 3000000 % words of inimemory available; also applies to inimf&mp -extra_mem_top = 0 % extra high memory for chars, tokens, etc. -extra_mem_bot = 0 % extra low memory for boxes, glue, breakpoints, etc. +main_memory = 3500000 % words of inimemory available; also applies to inimf&mp +extra_mem_top = 0 % extra high memory for chars, tokens, etc. (has to be 0 for omega) +extra_mem_bot = 0 % extra low memory for boxes, glue, breakpoints, etc. (has to be 0 for omega) % ConTeXt needs lots of memory. extra_mem_top.context = 2000000 @@ -707,3 +710,33 @@ max_strings.pbibtex = 35307 line_length.gftype = 500 max_rows.gftype = 8191 max_cols.gftype = 8191 + +% 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/otftotfm/otftotfm.cc +++ texk/lcdf-typetools/otftotfm/otftotfm.cc 2011-12-19 12:58:13.735646589 +0100 @@ -60,6 +60,9 @@ # include #endif +#undef SHAREDIR +#define SHAREDIR "/usr/share/texmf/fonts/map/glyphlist" + using namespace Efont; #define VERSION_OPT 301 --- texk/ps2pkm/pk2bm.c +++ texk/ps2pkm/pk2bm.c 2009-09-02 12:47:26.000000000 +0000 @@ -41,8 +41,7 @@ int main(int argc, char *argv[]) quarterword lsbf(); void dots(); chardesc cd; - char *myname = "pk2bm", *pkname; - int atoo(char *); + char *myname = "pk2bm", *pkname, *endptr; while (--argc > 0 && (*++argv)[0] == '-') { done=0; @@ -50,26 +49,36 @@ int main(int argc, char *argv[]) switch (c) { case 'c': if (*++argv[0] == '\0') { - argc--; argv++; + if (--argc == 0) { +err: + printf("%s: illegal value for option %c\n", myname, c); + exit(1); + } + argv++; } C = *argv[0]; done = 1; break; case 'o': if (*++argv[0] == '\0') { - argc--; ++argv; + if (--argc == 0) goto err; + ++argv; } - C = atoo(argv[0]); + C = strtol(argv[0], &endptr, 8); + if (endptr==argv[0] || *endptr) goto err; done = 1; break; case 'H': if (*++argv[0] == '\0') { - argc--; argv++; + if (--argc == 0) goto err; + argv++; } - h = atoi(argv[0]); + h = strtol(argv[0], &endptr, 10); + if (endptr==argv[0] || *endptr) goto err; done=1; break; case 'W': if (*++argv[0] == '\0') { - argc--; argv++; + if (--argc == 0) goto err; + argv++; } w = atoi(argv[0]); done=1; @@ -86,7 +95,7 @@ int main(int argc, char *argv[]) } } - if (argc == 0) { + if (argc != 1) { printf("Usage: %s [-bh] {-c char|-o octchar} [-W width -H height] pkfile\n", myname); exit(1); } @@ -199,8 +208,3 @@ quarterword u; int n; } } -int atoo(char *oct) -{ int octal = 0; - while (*oct != '\0') octal = 8*octal + (*oct++) - '0'; - return octal & 0xff; -} --- texk/tetex/fmtutil +++ texk/tetex/fmtutil 2010-11-12 17:22:52.000000000 +0000 @@ -160,7 +160,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'" } @@ -419,7 +419,7 @@ main() need_find_hyphenfile=false cfgparam= cfgmaint= - tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$ + tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$RANDOM verboseFlag=true noAbortFlag=false @@ -743,6 +743,7 @@ run_initex() *) prgswitch=-progname=$format;; esac + type -p "$engine" &> /dev/null || return rm -f $fmtfile # Check for infinite recursion before running the iniTeX: @@ -756,6 +757,12 @@ run_initex() mktexfmt_loop=$mktexfmt_loop:$format/$engine export mktexfmt_loop + test "$batchmode" = "yes" && { + case "$engine" in + tex|ptex) + texargs="\\batchmode \\input $texargs" + esac + } verboseMsg "$progname: running \`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' ..." # run in a subshell to get a local effect of TEXPOOL manipulation: --- texk/tetex/fmtutil.cnf +++ texk/tetex/fmtutil.cnf 2011-09-14 10:45:24.500873881 +0000 @@ -45,11 +45,11 @@ amstex pdftex - -translate-file=cp227.tc # from context: cont-en pdftex cont-usr.tex -8bit *cont-en.ini cont-en xetex cont-usr.tex -8bit *cont-en.ini -#! cont-de pdftex cont-usr.tex -8bit *cont-de.ini -#! cont-fr pdftex cont-usr.tex -8bit *cont-fr.ini -#! cont-it pdftex cont-usr.tex -8bit *cont-it.ini -#! cont-nl pdftex cont-usr.tex -8bit *cont-nl.ini -#! cont-ro pdftex cont-usr.tex -8bit *cont-ro.ini +cont-de pdftex cont-usr.tex -8bit *cont-de.ini +cont-fr pdftex cont-usr.tex -8bit *cont-fr.ini +cont-it pdftex cont-usr.tex -8bit *cont-it.ini +cont-nl pdftex cont-usr.tex -8bit *cont-nl.ini +cont-ro pdftex cont-usr.tex -8bit *cont-ro.ini # # from cslatex: cslatex pdftex - -etex -translate-file=cp227.tcx cslatex.ini @@ -63,8 +63,8 @@ pdfcsplain pdftex - -etex -translate-fil 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 @@ -117,5 +117,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/linked_scripts/musixtex/musixtex.lua +++ texk/texlive/linked_scripts/musixtex/musixtex.lua 2011-12-14 11:04:34.139646956 +0000 @@ -67,6 +67,11 @@ tex = "etex" musixflx = "musixflx" dvi = "dvips" ps2pdf = "ps2pdf" +if string.match(arg[0], "pdfmusixtex$") then + tex = "pdfetex" + dvi = "" + ps2pdf = "" +end exit_code = 0 narg = 1 --- texk/tetex/texconfig +++ texk/tetex/texconfig 2009-09-02 12:47:26.000000000 +0000 @@ -37,7 +37,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= @@ -1007,21 +1007,6 @@ For more information about these \`featu ;; formats) - cat >&2 <&2 fmtutil --catcfg > $tmpdir/pre @@ -1047,22 +1032,6 @@ EOM # "hyphen FORMAT" hyphen) - cat >&2 </dev/null 2>&1 + test $? -ne 0 && continue + + install_link "$selfautoloc/$fmt" "$symlinkdir/$fmt" + + # restore positional arguments: + set x $main_args_while; shift done } @@ -276,12 +292,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 @@ -302,13 +318,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 2011-12-09 14:00:22.711147221 +0000 @@ -2445,7 +2445,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: @@ -2493,6 +2493,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/window/regis.c +++ texk/web2c/window/regis.c 2009-09-02 12:47:27.000000000 +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 2009-09-02 12:47:27.000000000 +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 @@ -101,11 +103,11 @@ 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", screenwidth, screendepth, + sprintf (default_geometry, "%ux%u+%u+%u", DEFAULT_WIDTH, 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 2009-09-02 12:47:27.000000000 +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 2009-09-02 12:47:27.000000000 +0000 @@ -30,6 +30,8 @@ OTHER DEALINGS IN THE SOFTWARE. #include /* for timeval */ #include +#include +#include /* Condition for retrying a write */ #include @@ -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 2009-09-02 12:47:27.000000000 +0000 @@ -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 + --- utils/asymptote/Makefile.in +++ utils/asymptote/Makefile.in 2011-12-13 10:26:35.111646882 +0000 @@ -55,8 +55,8 @@ CFLAGS = @CPPFLAGS@ @CFLAGS@ OPTS = $(DEFS) $(CFLAGS) INCL = -I . @INCL@ -CXX = @CXX@ -Wall -ansi -CC = @CC@ -Wall -ansi +CXX = @CXX@ -Wall +CC = @CC@ -Wall MAKEDEPEND = $(OPTS) -O0 -M -DDEPEND BISON = bison LEX = @LEX@