diff options
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/tetex/TETEXDOC.pdf | bin | 337756 -> 0 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/tetex/teTeX-FAQ | 440 | ||||
-rwxr-xr-x | Master/texmf-dist/scripts/texlive-extra/dvi2fax.sh (renamed from Master/texmf-dist/scripts/texlive/dvi2fax.sh) | 0 | ||||
-rwxr-xr-x | Master/texmf-dist/scripts/texlive-extra/dvired.sh (renamed from Master/texmf-dist/scripts/texlive/dvired.sh) | 0 | ||||
-rwxr-xr-x | Master/texmf-dist/scripts/texlive-extra/e2pall.pl (renamed from Master/texmf-dist/scripts/texlive/e2pall.pl) | 0 | ||||
-rwxr-xr-x | Master/texmf-dist/scripts/texlive-extra/fontinst.sh (renamed from Master/texmf-dist/scripts/texlive/fontinst.sh) | 0 | ||||
-rwxr-xr-x | Master/texmf-dist/scripts/texlive-extra/kpsetool.sh (renamed from Master/texmf-dist/scripts/texlive/kpsetool.sh) | 0 | ||||
-rwxr-xr-x | Master/texmf-dist/scripts/texlive-extra/kpsewhere.sh (renamed from Master/texmf-dist/scripts/texlive/kpsewhere.sh) | 0 | ||||
-rwxr-xr-x | Master/texmf-dist/scripts/texlive-extra/ps2frag.sh (renamed from Master/texmf-dist/scripts/texlive/ps2frag.sh) | 0 | ||||
-rwxr-xr-x | Master/texmf-dist/scripts/texlive-extra/pslatex.sh (renamed from Master/texmf-dist/scripts/texlive/pslatex.sh) | 0 | ||||
-rwxr-xr-x | Master/texmf-dist/scripts/texlive-extra/rubibtex.sh (renamed from Master/texmf-dist/scripts/texlive/rubibtex.sh) | 0 | ||||
-rwxr-xr-x | Master/texmf-dist/scripts/texlive-extra/rumakeindex.sh (renamed from Master/texmf-dist/scripts/texlive/rumakeindex.sh) | 0 | ||||
-rwxr-xr-x | Master/texmf-dist/scripts/texlive-extra/texconfig-dialog.sh (renamed from Master/texmf-dist/scripts/texlive/texconfig-dialog.sh) | 4 | ||||
-rwxr-xr-x | Master/texmf-dist/scripts/texlive-extra/texconfig-sys.sh (renamed from Master/texmf-dist/scripts/texlive/texconfig-sys.sh) | 2 | ||||
-rwxr-xr-x | Master/texmf-dist/scripts/texlive-extra/texconfig.sh (renamed from Master/texmf-dist/scripts/texlive/texconfig.sh) | 4 | ||||
-rwxr-xr-x | Master/texmf-dist/scripts/texlive-extra/texlinks.sh | 333 |
16 files changed, 338 insertions, 445 deletions
diff --git a/Master/texmf-dist/doc/tetex/TETEXDOC.pdf b/Master/texmf-dist/doc/tetex/TETEXDOC.pdf Binary files differdeleted file mode 100644 index 69649b88a8c..00000000000 --- a/Master/texmf-dist/doc/tetex/TETEXDOC.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/tetex/teTeX-FAQ b/Master/texmf-dist/doc/tetex/teTeX-FAQ deleted file mode 100644 index 025a668de92..00000000000 --- a/Master/texmf-dist/doc/tetex/teTeX-FAQ +++ /dev/null @@ -1,440 +0,0 @@ -This is the FAQ for teTeX -- a TeX distribution for UNIX compatible -systems. If you have questions about some points that remain unclear, -or if you think that things could be described better, just drop me -a line. My Email address: - - Thomas Esser <te@dbs.uni-hannover.de> - - -This article includes answers to: - 0) Where can I get the teTeX distribution? - 1) Is there a mailing list for teTeX? - 2) Now that I know that there is a mailing list: is there an archive - 6) I added some files in the texmf tree. But they are not found. - 7) When running some old dvi files through a dvi driver, I get warnings - 8) What is the best method to get pk fonts in a batch job? - 9) What to do if I need the fonts for several modes? - 10) Can I share the teTeX directory tree between different platforms? - 11) After mktexpk and mktextfm successfully generate fonts, kpathsea - 12) mktextfm runs Metafont with a mode that I do not like. - 14) How about adding program XYY or a macro package ABC to teTeX? - 15) I want to keep my files separate from the system's files. What do - I need to do to make sure that tex+friends will find my files? - 16) How do I deinstall an old version of teTeX? - 17) How do I manage to execute the right binaries on each platform? - 20) Using the Shrink* Buttons in xdvi, I cannot get back to see the full - 21) Which is the right way of using the AMS fonts/macros with LaTeX? - 23) Some things do not work properly. What should I do now? - 24) I get a error message about "TeX capacity exceeded". What can I do? - 25) The scrollbars of xdvi do not make sense to me. How do I move backwards? - 26) Is teTeX freely redistributable? - 27) dvips, pdftex, dvipdfm and xdvi use the European A4 size as default - 28) Why does ghostview display of my texts look so much worse than - 29) Metafont does not support the X display. - 32) How can I get the Euro currency symbol? - 33) Font map files and enc files from my local texmf tree are not - found by dvips / pdftex etc. - 34) texconfig, updmap and fmtutil just change my personal settings. How - can I change global defaults in a multi-user setup? - -Answers: - -0) Where can I get the teTeX distribution? - - teTeX can be downloaded from CTAN and CTAN mirrors, e.g.: - ftp://ftp.dante.de/tex-archive/systems/unix/teTeX/ - ftp://ftp.tex.ac.uk/tex-archive/systems/unix/teTeX/ - ftp://ftp.duke.edu/tex-archive/systems/unix/teTeX/ - ftp://sunsite.auc.dk/pub/tex/ctan/systems/unix/teTeX/ - -1) Is there a mailing list for teTeX? - - Yes. There is one list for discussion and one (moderated) list for - announcements. The discussion list is - tetex@dbs.uni-hannover.de - and the announcement list is - tetex-announce@dbs.uni-hannover.de - To subscribe to one of these lists, send a message containing the line - subscribe tetex - or - subscribe tetex-announce - resp. to majordomo@dbs.uni-hannover.de . The majordomo server - understands a few more commands. To get more help about our - server, send a mail with the line 'help' in the body. - Note that announcements are posted into both lists, so if you are - interested in discussions and announcements, you only need to - subscribe to the tetex list. - -2) Now that I know that there is a mailing list: is there an archive - of the list? - - Yes. Just send a message with the line - get tetex archive - to majordomo@dbs.uni-hannover.de . - -6) I added some files in the texmf tree. But they are not found. - - You need to run texhash to update the ls-R file. See answer to 15) - as well... - -7) When running some old dvi files through a dvi driver, I get warnings - about checksum errors. - - The Postscript fonts are completely rearranged and the tfm files have - different checksums. If you have the (La)TeX source of your document, - you can get rid of the messages by running the sources through (La)TeX - again. - -8) What is the best method to get pk fonts in a batch job? - - If you do have lots of dvi files (e.g. the documentation of teTeX), - just run the allneeded script on them. It runs all those files - through dvips (but output is send to /dev/null and not to a printer), - and thus calculates all fonts that are needed to print these files - (or preview with the same mode). - - Example: - allneeded `kpsexpand '$TEXMFMAIN'`/doc >& /tmp/allneeded.log & - - The above command calculates the pk files for all the installed - documentation in a background job. - - If you do not have many dvi files, you can use the allcm and/or - allec scripts (allcm is for Computer Modern fonts, and allec for the - ec fonts). You need to have LaTeX installed and the scripts calculate - the fonts for all sizes and shapes that are used in typical LaTeX - documents. - -9) What to do if I need the fonts for several modes? - - You only need the modes together with a printer or for previewing. You - should add a dvips configuration file for each printer using texconfig - and use the most common printing mode for previewing. - Then, any of the above scripts in 8) (allneeded, allcm, allec) can be - given an argument of the form -P PRINTER (where PRINTER must be a known - printer for dvips). This will calculate the fonts with the mode of - the printer PRINTER. - - Example: - For dvips I have configured the printer lp to have the mode - ljfour. To get all ec fonts with ljfour mode, I would enter: - - allec -P lp - - If you do not have a dvips configuration file that corresponds to a - specific mode, you can still enter the mode on the command line. - Note however, that you should specify the corresponding resolution - as well. - - Example: - To get all fonts in cx mode (CanonCX mode is used by many 300dpi - printers), give the command: - - allcm -D 300 -mode cx - - The flags -D and -mode are directly passed down to dvips. - -10) Can I share the teTeX directory tree between different platforms? - - Yes. The only platform-specific directory is $TETEXDIR/bin. If you - want to use the same teTeX tree on different platforms, just put - the binaries for each platform into a different subdirectory of - $prefix/bin, e.g - /usr/local/teTeX/bin/i486-linux - /usr/local/teTeX/bin/sparc-solaris2.4 - You can then mount the whole /usr/local/teTeX tree on all machines - and share almost all the files between them. - -11) After mktexpk and mktextfm successfully generate fonts, kpathsea - complains and does not use the newly generated font. - - If you happen to see output like this: - ... - Transcript written on ecti1000.log. - /usr/local/teTeX/texmf/fonts/tfm/jknappen/ec/ecti1000.tfm - kpathsea: Appending font creation commands to missfont.log. - ... - then your shell is probably very broken. This problem is known with - the original bash 1.14.3 that has many problems with exit codes and - trap handling. Try the following line: - - sh -c 'exit 1'; echo $? - - The buggy bash gives 127 as result. Fixes for these problems have been - available e.g. from the internet newsgroup gnu.bash.bug, so not all - instances of bash 1.14.3 are broken. Later versions of bash should not - have that bug. - -12) mktextfm runs Metafont with a mode that I do not like. - - Use texconfig and select a different mode as default mode. - -14) How about adding program XYY or a macro package ABC to teTeX? - - Well, there are some things to take into account: - - I want to keep the size of the distribution small. - - I have only a limited amount of time. - - teTeX can be installed with a simple - ./configure && make && make install - on the most common UNIX platforms. Adding a new program could - break the whole thing. - Please, think about this before asking me to add something. But if a - really useful thing can be added without much effort and disk space - usage, I may decide to do that. - - Another possibility is, that things are added to the contrib directory - of teTeX. - -15) I want to keep my files separate from the system's files. What do - I need to do to make sure that tex+friends will find my files? - - If you are a local site administrator, please make use of the texmf - tree $TEXMFLOCAL; a single user installation of local additions - should go into the texmf tree $HOME/texmf. Mirror the structure - of the distributed texmf tree $TEXMFDIST. You can query the system - about these locations (TEXMFLOCAL / TEXMFDIST) by running e.g. - kpsewhich -var-value TEXMFLOCAL - - The structure of these trees follows the TeX Directory Structure - (TDS) standard (revision 1.1). You can view this document by running - the command - texdoc tds - - The following sections of the uktug faq deal with this topic: - $TEXMFDIST/doc/help/faq/uktug-faq/FAQ-instpackages.html - $TEXMFDIST/doc/help/faq/uktug-faq/FAQ-wherefiles.html - $TEXMFDIST/doc/help/faq/uktug-faq/FAQ-privinst.html - - If texdoc properly knows how to load some html code into your browser, - you can view these pages by running e.g. - texdoc FAQ-instpackages.html - - One thing mentioned in the uktug faq is so important that I want to - repeat here: you should always run the command - texhash - after you have added some file into a texmf tree. - -16) How do I deinstall an old version of teTeX? - - Well, the simple answer is: rm -rf. But there may be some more things - you want to do. You may keep a backup of your .pk fonts or of some - local files you added to $TEXMF before you remove the old directory - tree. Note, however that from teTeX 0.2 to 0.3, there has been an - update of the CM fonts (Knuth has updated the Metafont sources). So - you may want to remove your old .pk files and have them recreated - with the new sources. - - Another problem is, that there may be some symbolic links in - /usr/local/{bin,man} (or a similar directory) after you remove the - old teTeX directory tree and you may want to remove those links, - too. A simple way to do this, is the following: - - cd /usr/local/bin - sh -c 'for i in *; do test -s $i || echo $i; done' - - This loop echo'es all files with zero length, especially all stale - symbolic links. If you want to remove all files that are shown by the - command above, you can do this with: - - sh -c 'for i in *; do test -s $i || rm -f $i; done' - - You can repeat the above steps for other directories, as well - (e.g. /usr/local/man/man1 and /usr/local/man/man5). - -17) How do I manage to execute the right binaries on each platform? - - Assuming that you have binaries for several platforms installed, your - binaries are in $TETEXDIR/bin/PLATFORM. The first thing you can try is - to set up your PATH with - SYSDIR=`uname -m`-`uname -s` - PATH=$TETEXDIR/bin/$SYSDIR:... - You may need to rename the PLATFORM directories for this method. - - Another thing that may help is to include a local directory in your - PATH (e.g. /usr/local/bin) and create symbolic links for the binaries: - linux# ln -sf /usr/local/teTeX/bin/i486-linux/* /usr/local/bin - sun# ln -sf /usr/local/teTeX/bin/sparc-solaris2.4/* /usr/local/bin - ... - - If you do not like the uname-method for your PATH and the symlink - method, you may consider installing a small wrapper program that - calls the programs for the right platform. Install the wrapper in - $TETEXDIR/bin and create a symbolic link for each binary. - - Here an example: - TETEXDIR=/usr/local/teTeX - cd $TETEXDIR/bin - vi platf_wrapper # see script below ... - chmod +x platf_wrapper - list=`ls i486-linux` # get a list of programs. - for i in $list; do - ln -s platf_wrapper $i - done - - Tell your users to include $TETEXDIR/bin in their PATH. Make sure - that TETEXDIR is either set to an absolute path (e.g. /usr/local/teTeX) - or to $SELFAUTODIR (but not $SELFAUTOPARENT), since the programs are - now found one directory level earlier. - - Now the sample wrapper. Customize, if you need: - - #!/bin/sh - - # the path to the directories with the subdirs for each platform - BINDIR=/usr/local/teTeX/bin - - # export the variable. If we are called again, - # we do not need to recalculate. - export THIS_PLATFORM - - case "$THIS_PLATFORM" in - "") - case "`uname -s`" in - Linux) - THIS_PLATFORM=i486-linux;; - SunOS) - THIS_PLATFORM=sparc-solaris2.4;; - IRIX) - THIS_PLATFORM=mips-irix5.3;; - *) - echo "$0: fatal error: system not detected." >&2 - exit 1 - esac;; - esac - - exec $BINDIR/$THIS_PLATFORM/`basename $0` "$@" - -20) Using the Shrink* Buttons in xdvi, I cannot get back to see the full - page on the screen. - - The four buttons can be configured via X resources. Just add - them either to your personal X resources (usually ~/.Xdefaults) - or to xdvi's global configuration file XDvi which resides in - $TEXMFMAIN/xdvi. Such a resource setting might look like this: - XDvi*shrinkButton3: 6 - (This example configures button 3 to do a shrinking by a factor of 6). - - -21) Which is the right way of using the AMS fonts/macros with LaTeX? - - Just \usepackage{amsmath} and/or \usepackage{amsfonts}. Read - the documentation in doc/latex/amsmath, doc/latex/amsfonts and - doc/latex/amscls included in the distributed texmf tree. - - Do *not* \usepackage{amstex} (amstex.sty is just for compatibility - with old documents and only for use in LaTeX's 2.09 compatibility mode). - - Add \usepackage{amssymb} to get full access to all AMS symbols. - -23) Some things do not work properly. What should I do now? - - First, make sure that your "environment" is ok and run - texconfig confall - This gives you an idea about which binaries are found along your - PATH and if you have set some environment variables that might - confuse teTeX's programs. If in doubt, unset all variables that - are set in the "environment variables" section of the output. - - If binaries other than teTeX's are found, then change the definition - of your PATH. Put the directory containing teTeX's binaries earlier - into your PATH, so that teTeX's binaries are found before any other - TeX related stuff. - - Then, your ls-R file might be out of date. Run - texhash - and see if your problem goes away. - - If your problem is due to old LaTeX209 files that do not work with - LaTeX2e, then read $TEXMF/doc/latex/base/clsguide.dvi. - - If you cannot solve your problem by yourself, then - a) if you think your problem is a general question about TeX/LaTeX: - ask in some Newsgroup, such as comp.text.tex for help, or try to - contact a local TeX user group. - b) if you think there is a bug in a package contained in teTeX: - contact the maintainer of the package with a good bug report. Add my - Email address in the Cc field of your bug report, if you want. - c) if your problem seems to be teTeX specific (e.g. a problem with - one of the binaries or shell-scripts), then report it to the - teTeX mailing list (tetex@dbs.uni-hannover.de). Please - provide the following information: - - * The version of teTeX you have. For example - teTeX version is 3.0 - (the version information is displayed by running "texconfig conf"). - - * The flavor of Unix you are running (Solaris, HP, Linux, etc), and - its version. For example - The system is Solaris 2.4 - - * The output of the command - texconfig conf - - * Possibly a *short* TeX file you have problem running, and - the whole output of `texcommand filename', say, until the - first error. - -24) I get a error message about "TeX capacity exceeded". What can I do? - - If there is a constant in the system's texmf.cnf file, just enlarge - this (by editing the texmf.cnf file) and run the command - texconfig init - -25) The scrollbars of xdvi do not make sense to me. How do I move backwards? - - The scrollbars are what one calls Athena scrollbars. To scroll - forward, click the left mouse button on the location you would want - to scroll to the beginning of the displayed area. To scroll backward, - click the right mouse button on where you want to scroll the beginning - of the displayed area to. Click the middle mouse button for "dragging" - the beginning of the displayed area around. - -26) Is teTeX freely redistributable? - - Yes. All parts of teTeX have been classified as being free software. - -27) dvips, pdftex, dvipdfm and xdvi use the European A4 size as default - papersize. How do I change this to make letterpaper the default? - - Simple answer: use texconfig. - texconfig paper letter - -28) Why does ghostview display of my texts look so much worse than - with xdvi? - - xdvi does antialiasing. If your version of ghostscript is - sufficiently new, it has the x11alpha device. Check for this with - gs -h - If it has, then putting - Ghostview*arguments: -sDEVICE=x11alpha - in your .Xdefault file (typically) will make ghostview use an - anti-aliasing display as well, at the cost of display speed. - -29) Metafont does not support the X display. - It may be that your Metafont binary is compiled without support for - the X windows system. If there exists a mfw binary, that one - has the missing X support you need. - -32) How can I get the Euro currency symbol? - - In LaTeX, use the marvosym package (documentation: texdoc marvodoc). - It provides several Euro symbol by the command \EUR. The variants - \EURtm, \EURhv and \EURcr match are designed to be used together - with the fonts Times, Helvetica and Courier respectively. - -33) Font map files and enc files from my local texmf tree are not found - by dvips / pdftex etc. - - With version 1.1 of the TeX Directory Structure, the location for - these files was changed. These files are font files and are now - stored in fonts/{map,enc}/<syntax>/<package>. So, the solution to - your problem is to rearrange these files in your tree and then call - the command texhash. More help is given in the release notes section - of the teTeX manual (run the command "texdoc TETEXDOC" to read it) - and on the web page http://www.tug.org/texlive/mapenc.html. - -34) texconfig, updmap and fmtutil just change my personal settings. How - can I change global defaults in a multi-user setup? - - Simple answer: use the -sys variant of the tool: texconfig-sys, - updmap-sys and fmtutil-sys. diff --git a/Master/texmf-dist/scripts/texlive/dvi2fax.sh b/Master/texmf-dist/scripts/texlive-extra/dvi2fax.sh index fdfa83211eb..fdfa83211eb 100755 --- a/Master/texmf-dist/scripts/texlive/dvi2fax.sh +++ b/Master/texmf-dist/scripts/texlive-extra/dvi2fax.sh diff --git a/Master/texmf-dist/scripts/texlive/dvired.sh b/Master/texmf-dist/scripts/texlive-extra/dvired.sh index 4eb3586119d..4eb3586119d 100755 --- a/Master/texmf-dist/scripts/texlive/dvired.sh +++ b/Master/texmf-dist/scripts/texlive-extra/dvired.sh diff --git a/Master/texmf-dist/scripts/texlive/e2pall.pl b/Master/texmf-dist/scripts/texlive-extra/e2pall.pl index 2997f8b1102..2997f8b1102 100755 --- a/Master/texmf-dist/scripts/texlive/e2pall.pl +++ b/Master/texmf-dist/scripts/texlive-extra/e2pall.pl diff --git a/Master/texmf-dist/scripts/texlive/fontinst.sh b/Master/texmf-dist/scripts/texlive-extra/fontinst.sh index 7d1271517ad..7d1271517ad 100755 --- a/Master/texmf-dist/scripts/texlive/fontinst.sh +++ b/Master/texmf-dist/scripts/texlive-extra/fontinst.sh diff --git a/Master/texmf-dist/scripts/texlive/kpsetool.sh b/Master/texmf-dist/scripts/texlive-extra/kpsetool.sh index 463097fd4a9..463097fd4a9 100755 --- a/Master/texmf-dist/scripts/texlive/kpsetool.sh +++ b/Master/texmf-dist/scripts/texlive-extra/kpsetool.sh diff --git a/Master/texmf-dist/scripts/texlive/kpsewhere.sh b/Master/texmf-dist/scripts/texlive-extra/kpsewhere.sh index 51088ee80d6..51088ee80d6 100755 --- a/Master/texmf-dist/scripts/texlive/kpsewhere.sh +++ b/Master/texmf-dist/scripts/texlive-extra/kpsewhere.sh diff --git a/Master/texmf-dist/scripts/texlive/ps2frag.sh b/Master/texmf-dist/scripts/texlive-extra/ps2frag.sh index b8e673be087..b8e673be087 100755 --- a/Master/texmf-dist/scripts/texlive/ps2frag.sh +++ b/Master/texmf-dist/scripts/texlive-extra/ps2frag.sh diff --git a/Master/texmf-dist/scripts/texlive/pslatex.sh b/Master/texmf-dist/scripts/texlive-extra/pslatex.sh index 4badef0ec12..4badef0ec12 100755 --- a/Master/texmf-dist/scripts/texlive/pslatex.sh +++ b/Master/texmf-dist/scripts/texlive-extra/pslatex.sh diff --git a/Master/texmf-dist/scripts/texlive/rubibtex.sh b/Master/texmf-dist/scripts/texlive-extra/rubibtex.sh index 373e6e1194d..373e6e1194d 100755 --- a/Master/texmf-dist/scripts/texlive/rubibtex.sh +++ b/Master/texmf-dist/scripts/texlive-extra/rubibtex.sh diff --git a/Master/texmf-dist/scripts/texlive/rumakeindex.sh b/Master/texmf-dist/scripts/texlive-extra/rumakeindex.sh index b7b0c072729..b7b0c072729 100755 --- a/Master/texmf-dist/scripts/texlive/rumakeindex.sh +++ b/Master/texmf-dist/scripts/texlive-extra/rumakeindex.sh diff --git a/Master/texmf-dist/scripts/texlive/texconfig-dialog.sh b/Master/texmf-dist/scripts/texlive-extra/texconfig-dialog.sh index baa46bbecb5..9cfe74c54c0 100755 --- a/Master/texmf-dist/scripts/texlive/texconfig-dialog.sh +++ b/Master/texmf-dist/scripts/texlive-extra/texconfig-dialog.sh @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: texconfig-dialog.sh 40066 2016-03-18 22:29:48Z karl $ +# $Id$ # texconfig-dialog # Originally written by Thomas Esser. Public domain. # Now maintained as part of TeX Live; correspondence to tex-live@tug.org. @@ -25,7 +25,7 @@ mydir=`cd "$mydir" && pwd` PATH="$mydir:$PATH"; export PATH # the version string -version='$Id: texconfig-dialog.sh 40066 2016-03-18 22:29:48Z karl $' +version='$Id$' : ${PAGER=more} progname=texconfig-dialog diff --git a/Master/texmf-dist/scripts/texlive/texconfig-sys.sh b/Master/texmf-dist/scripts/texlive-extra/texconfig-sys.sh index cf963fb9a52..06513209ff8 100755 --- a/Master/texmf-dist/scripts/texlive/texconfig-sys.sh +++ b/Master/texmf-dist/scripts/texlive-extra/texconfig-sys.sh @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: texconfig-sys.sh 34586 2014-07-13 00:06:11Z karl $ +# $Id$ # texconfig-sys: Thomas Esser, public domain. # wrapper script for texconfig with TEXMFVAR and TEXMFCONFIG set to diff --git a/Master/texmf-dist/scripts/texlive/texconfig.sh b/Master/texmf-dist/scripts/texlive-extra/texconfig.sh index 6448580dd36..94ec3fffced 100755 --- a/Master/texmf-dist/scripts/texlive/texconfig.sh +++ b/Master/texmf-dist/scripts/texlive-extra/texconfig.sh @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: texconfig.sh 46086 2017-12-17 23:19:22Z karl $ +# $Id$ # texconfig version 3.0 # Originally written by Thomas Esser. Public domain. # Now maintained as part of TeX Live; correspondence to tex-live@tug.org. @@ -28,7 +28,7 @@ PATH="$mydir:$PATH"; export PATH progname=texconfig # the version string -version='$Id: texconfig.sh 46086 2017-12-17 23:19:22Z karl $' +version='$Id$' envVars=" AFMFONTS BIBINPUTS BSTINPUTS CMAPFONTS CWEBINPUTS ENCFONTS GFFONTS diff --git a/Master/texmf-dist/scripts/texlive-extra/texlinks.sh b/Master/texmf-dist/scripts/texlive-extra/texlinks.sh new file mode 100755 index 00000000000..71877768720 --- /dev/null +++ b/Master/texmf-dist/scripts/texlive-extra/texlinks.sh @@ -0,0 +1,333 @@ +#!/bin/sh +# $Id$ + +# Thomas Esser, 1999, 2002, 2003. public domain. + +# texlinks: script to maintain symlinks from format to engine. Interprets +# the lines given in fmtutil.cnf. + +# History: +# (Further changes in ChangeLog.) +# Tue Oct 9 14:23:01 BST 2007 +# Added unlink option (-u) to aid OpenBSD package uninstall +# Edd Barrett <vext01@gmail.com> +# Sun Aug 28 21:41:06 CEST 2005 +# remove special cases for csplain,cslatex,pdfcslatex,pdfcsplain +# Fr Apr 8 19:15:05 CEST 2005 +# cleanup now has an argument for the return code +# So Mar 27 18:52:06 CEST 2005 +# honor $TMPDIR, $TEMP and $TMP, not just $TMP +# Mon May 10 20:52:48 CEST 2004 +# kpseaccess instead of access +# Thu Dec 25 22:11:53 CET 2003, te: +# add version string +# Tue Apr 9 22:46:34 CEST 2002, te: +# do not create symlinks for cont-??, metafun and mptopdf + +test -f /bin/sh5 && test -z "$RUNNING_SH5" \ + && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \ + && { RUNNING_SH5=true; export RUNNING_SH5; exec /bin/sh5 $0 ${1+"$@"}; } +unset RUNNING_SH5 + +test -f /bin/bsh && test -z "$RUNNING_BSH" \ + && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \ + && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; } +unset RUNNING_BSH + +export PATH + +# hack around a bug in zsh: +test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"' + +version='$Id$' +progname=texlinks +cnf=fmtutil.cnf # name of the config file + +usage='Usage: texlinks [OPTION]... [DIRECTORY]... + +Create symbolic links format -> engine according to fmtutil setup. + +Mandatory arguments to long options are mandatory for short options too. + -e, --exeext EXT append EXT to symlink targets (default: none) + -f, --cnffile FILE use FILE as config file (default: fmtutil.cnf) + -m, --multiplatform operate in all platform specific directories + (default: operate only in directory for this platform) + -q, --quiet silently skip existing scripts / binaries + (default: issue warning) + -s, --silent same as -q + -u, --unlink remove symlinks created by texlinks + -v, --verbose enable verbose messages (default: off) + -h, --help show this help text + --version show version string + +The DIRECTORY arguments are an optional list of directories in which to +operate. If no directories are specified and --multiplatform is +likewise not specified, the directory of this script itself is used. +With --multiplatform, all child dirs of an upper-level bin/ dir are used. + +Report bugs to: tex-k@tug.org +TeX Live home page: <http://tug.org/texlive/> +' + +# print `errmsg' to stderr and exit with error code 1: +abort() { errmsg "texlinks: $1."; cleanup 1; } + +# error message to stderr: +errmsg() { echo "$@" >&2; } + +# give message to stderr only if "verbose" mode is on: +verbose_echo() { $verbose && errmsg "$@"; } + +# in verbose mode: show command that is executed: +verbose_do() { verbose_echo "$@"; "$@"; } + +# clean up the temp area and exit with proper exit status: +cleanup() +{ + rc=$1 + $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \ + && { rm -f "$tmpdir"/*; cd /; rmdir "$tmpdir"; } + exit $rc +} + +############################################################################### +# setupTmpDir() +# set up a temp directory and a trap to remove it +############################################################################### +setupTmpDir() +{ + $needsCleanup && return + + trap 'cleanup 1' 1 2 3 7 13 15 + needsCleanup=true + (umask 077; mkdir "$tmpdir") \ + || abort "could not create directory \`$tmpdir'" +} + + +# 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 +} + + +############################################################################### +# install_link(dest src) +# create a symlink like ln -s dest src, but make sure that src is not +# an existing binary, possibly adding the executable extension if +# passed on the command. +############################################################################### +install_link() +{ + # make symlink src -> dest + dest=$1; src=$2 + + case $src in + */mf) + if test "$dest" = mf-nowin; then + if test -f $selfautoloc/mfw; then + dest=mfw # name for windows-enabled mf, once upon a time + verbose_echo "both mfw and mf-nowin exists, $src linked to $dest" + fi + if test -f $selfautoloc/mf && test -f $selfautoloc/mf-nowin; then + # have both mf and mf-nowin binaries. no link. + verbose_echo "skipped metafont symlink $src -> $dest (special case)" + return + fi + fi + ;; + esac + + # append .exe if supplied (for cygwin). + test -n "$exeext" && dest="$dest$exeext" + + case $src in + */cont-??|*/mptopdf) + # context includes wrapper scripts that create/run these. + verbose_echo "skipped ConTeXtish symlink $src -> $dest (special case)" + ;; + *) + test "x$src" != "x`(ls -ld $src | awk '{print $NF}') 2>/dev/null`" && + rm -f "$src" + + if test -f "$src"; then + if $silent; then :; else + # i.e., the rm failed. + errmsg "install_link $src -> $dest failed: file already exists." + fi + else + if echo "$src" | grep '/pdfcsplain$' >/dev/null; then + # at p.olsak insistence: we have three pdfcsplain entries in + # fmtutil.cnf with different engines, but the executable link + # must point to pdftex. + verbose_echo "forcing pdfcsplain destination to be pdftex" + dest=pdftex$exeext + fi + verbose_do ln -s "$dest" "$src" + fi + ;; + esac +} + +############################################################################### +# search_symlinkdir() +# look if $PATH has only symlinks to the real binaries and find that +# directory. Also check if this directory is writable. +############################################################################### +search_symlinkdir() +{ + kpsewhich=`check_for_binary kpsewhich` + test -z "$kpsewhich" && return 1 + symlinkdir=`echo $kpsewhich | sed 's@/*kpsewhich$@@'` + kpseaccess -w "$symlinkdir" || return 1 + touch "$symlinkdir/tl$$" + if test -f "$selfautoloc/tl$$"; then + rm -f "$symlinkdir/tl$$" + return 1 + else + rm -f "$symlinkdir/tl$$" + return 0 + fi +} + +############################################################################### +# upd_symlinkdir() +# if $PATH has only symlinks to the real binaries, update that directory +# that holds the symlinks +############################################################################### +upd_symlinkdir() +{ + search_symlinkdir || return 0 + for i in `sed 's@ .*@@' cnf_file_ln.$$`; do + install_link "$selfautoloc/$i" "$symlinkdir/$i" + done +} + +############################################################################### +# rm_link() +# Delete a previously installed link +############################################################################### +rm_link() +{ + link=$1; + if test -e $link; then + if test -h $link; then + verbose_do rm -Rf $link + else + verbose_echo "kept $link, since not a symlink" + fi + else + verbose_echo "skipped $link, non-existent" + fi +} + +############################################################################### +# main() +# parse commandline arguments, initialize variables, +# switch into temp. direcrory, execute desired command +############################################################################### +main() +{ + cnf_file= # global variable: full name of the config file + dirs= + needsCleanup=false + + exeext= + multiplatform=false + verbose=false + unlink=false + silent=false + thisdir=`pwd` + : ${KPSE_DOT=$thisdir}; export KPSE_DOT + selfautoloc=`kpsewhich --expand-var='$SELFAUTOLOC'` + while + case $1 in + --h*|-h) + echo "$usage"; exit 0;; + --version) + echo "$progname version $version"; exit 0;; + --cnffile|-f) + shift; cnf_file=$1;; + --e*|-e) shift; exeext=$1;; + --m*|-m) multiplatform=true;; + --s*|-s|--q*|-q) silent=true;; + --u*|-u) unlink=true;; + --v*|-v) verbose=true;; + -*) errmsg "fmtutil: unknown option \`$1' ignored.";; + *) break;; + esac + do test $# -gt 0 && shift; done + dirs="$*" + + # if no cnf_file from command-line, look it up with kpsewhich: + test -z "$cnf_file" && cnf_file=`kpsewhich --format='web2c files' $cnf` + test -f "$cnf_file" || abort "config file \`$cnf' not found" + + + tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/texlinks.$$ + setupTmpDir + cd "$tmpdir" || cleanup 1 + + sed '/^[ ]*#/d; /^[ ]*$/d' $cnf_file \ + | awk '{print $1, $2}' > cnf_file_ln.$$ + + if test -z "$dirs"; then + if test $multiplatform = true; then + case $selfautoloc in + */bin) dirs=$selfautoloc;; + *) parent=`kpsewhich --expand-var='$SELFAUTODIR'` + dirs=`find $parent -type f -name kpsewhich -print \ + | sed 's@/kpsewhich$@@'`;; + esac + else + dirs=$selfautoloc + fi + fi + + for d in $dirs; do + kpseaccess -w $d \ + || { errmsg "$d: no write permissions. Skipping..."; continue; } + # 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 + + # 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="$@" + + test "x$fmt" = "x$engine" && continue + if test -f "$d/$engine$exeext"; then + case $unlink in + true) + rm_link "$d/$fmt";; + *) + install_link "$engine" "$d/$fmt";; + esac + else + verbose_echo "skipped $d/$engine, engine does not exist" + fi + + # restore positional arguments: + set x $main_args_while; shift + + done + done + upd_symlinkdir +} + +main ${1+"$@"} + +# set successful return code +cleanup 0 |