summaryrefslogtreecommitdiff
path: root/Build/source/doc/tlbuild-incl/install-tl.texi
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/doc/tlbuild-incl/install-tl.texi')
-rw-r--r--Build/source/doc/tlbuild-incl/install-tl.texi577
1 files changed, 577 insertions, 0 deletions
diff --git a/Build/source/doc/tlbuild-incl/install-tl.texi b/Build/source/doc/tlbuild-incl/install-tl.texi
new file mode 100644
index 00000000000..6e0e4d00997
--- /dev/null
+++ b/Build/source/doc/tlbuild-incl/install-tl.texi
@@ -0,0 +1,577 @@
+@node install-tl
+@appendix install-tl
+
+@menu
+* install-tl NAME::
+* install-tl SYNOPSIS::
+* install-tl DESCRIPTION::
+* install-tl REFERENCES::
+* install-tl OPTIONS::
+* install-tl PROFILES::
+* install-tl ENVIRONMENT VARIABLES::
+* install-tl AUTHORS AND COPYRIGHT::
+@end menu
+
+@node install-tl NAME
+@appendixsec NAME
+
+install-tl - TeX Live cross-platform installer
+
+@node install-tl SYNOPSIS
+@appendixsec SYNOPSIS
+
+install-tl [@emph{option}]...
+
+install-tl-windows.bat [@emph{option}]...
+
+install-tl-advanced.bat [@emph{option}]...
+
+@node install-tl DESCRIPTION
+@appendixsec DESCRIPTION
+
+This installer creates a runnable TeX Live installation from various
+media, including over the network, from local hard disk, a DVD, etc. The
+installer works on all platforms supported by TeX Live. For information
+on initially downloading TeX Live, see
+@url{https://tug.org/texlive/acquire.html}.
+
+The basic idea of TeX Live installation is for you to choose one of the
+top-level @emph{schemes}, each of which is defined as a different set of
+@emph{collections} and @emph{packages}, where a collection is a set of packages,
+and a package is what contains actual files.
+
+Within the installer, you can choose a scheme, and further customize the
+set of collections to install, but not the set of the packages. To work
+at the package level, use @code{tlmgr} (reference just below) after the
+initial installation is complete.
+
+The default is @code{scheme-full}, which installs everything, and this is
+highly recommended.
+
+@node install-tl REFERENCES
+@appendixsec REFERENCES
+
+Post-installation configuration, package updates, and more, are
+handled through @strong{tlmgr}(1), the TeX Live Manager
+(@url{https://tug.org/texlive/tlmgr.html}).
+
+The most up-to-date version of this installer documentation is on the
+Internet at @url{https://tug.org/texlive/doc/install-tl.html}.
+
+For the full documentation of TeX Live, see
+@url{https://tug.org/texlive/doc}.
+
+@node install-tl OPTIONS
+@appendixsec OPTIONS
+
+As usual, all options can be specified in any order, and with either a
+leading @code{-} or @code{--}. An argument value can be separated from its
+option by either a space or @code{=}.
+
+@table @asis
+@item @strong{-gui} [[=]@emph{module}]
+@anchor{install-tl @strong{-gui} [[=]@emph{module}]}
+
+If no @emph{module} is given, starts the Tcl/Tk (see below) GUI installer.
+
+If @emph{module} is given loads the given installer module. Currently the
+following modules are supported:
+
+@table @asis
+@item @code{text}
+@anchor{install-tl @code{text}}
+
+The text mode user interface (default on Unix systems). Same as the
+@code{-no-gui} option.
+
+@item @code{tcl}
+@anchor{install-tl @code{tcl}}
+
+The Tcl/Tk user interface (default on Macs and Windows). It starts
+with a small number of configuration options, roughly equivalent
+to what the wizard option below offers, but a button @code{Advanced}
+takes you to a screen with roughly the same options as the @code{perltk}
+interface.
+
+@item @code{wizard}
+@anchor{install-tl @code{wizard}}
+
+The wizard mode user interface, asking only minimal questions before
+installing all of TeX Live.
+
+@item @code{expert}
+@anchor{install-tl @code{expert}}
+
+A generic name for, currently, @code{perltk}; it may select a different GUI
+in the future.
+
+@item @code{perltk}
+@anchor{install-tl @code{perltk}}
+
+The expert GUI installer, providing access to more options.
+
+@end table
+
+The @code{perltk} and @code{wizard} modules require the Perl/Tk module
+(@url{https://tug.org/texlive/distro.html#perltk}). if Perl/Tk is not
+available, installation continues in text mode, except on Windows,
+where all gui options except @code{text} are diverted to the default
+@code{tcl} GUI.
+
+The @code{tcl} GUI requires Tcl/Tk. This is standard on Macs and is often
+already installed on GNU/Linux. For Windows, TeX Live provides a Tcl/Tk
+runtime.
+
+@item @strong{-no-gui}
+@anchor{install-tl @strong{-no-gui}}
+
+Use the text mode installer (default except on Windows and Macs).
+
+@item @strong{-lang} @emph{llcode}
+@anchor{install-tl @strong{-lang} @emph{llcode}}
+
+By default, the GUI tries to deduce your language from the
+environment. The Tcl GUI uses the language detection built into
+Tcl/Tk; the Perl/Tk GUIs use the @code{LC_MESSAGES} environment
+variable. If that fails you can select a different language by
+giving this option with a language code (based on ISO 639-1).
+Currently supported (but not necessarily completely translated) are:
+English (en, default), Czech (cs), German (de), French (fr), Italian
+(it), Japanese (ja), Dutch (nl), Polish (pl), Brazilian Portuguese
+(pt_BR), Russian (ru), Slovak (sk), Slovenian (sl), Serbian (sr),
+Ukrainian (uk), Vietnamese (vi), simplified Chinese (zh_CN), and
+traditional Chinese (zh_TW).
+
+@item @strong{-repository} @emph{url|path}
+@anchor{install-tl @strong{-repository} @emph{url|path}}
+
+Specify the package repository to be used as the source of the
+installation. In short, this can be a directory name or a url using
+http(s), ftp, or scp. The documentation for @code{tlmgr} has the details
+(@url{https://tug.org/texlive/doc/tlmgr.html#OPTIONS}).
+
+For installation, the default is to pick a mirror automatically, using
+@url{http://mirror.ctan.org/systems/texlive/tlnet}; the chosen mirror is
+used for the entire download. You can use the special argument @code{ctan}
+as an abbreviation for this. (See @url{https://ctan.org} for more about CTAN
+and its mirrors.)
+
+After installation is complete, you can use that installation as the
+repository for another installation. If you chose to install less than
+the full scheme containing all packages, the list of available schemes
+will be adjusted accordingly.
+
+@item @strong{-select-repository}
+@anchor{install-tl @strong{-select-repository}}
+
+This option allows you to choose a particular mirror from the current
+list of active CTAN mirrors. This option is supported in the @code{text},
+@code{wizard} and @code{perltk} installer modes, and will also offer to install
+from local media if available, or from a repository specified on the
+command line. It's useful when the (default) automatic redirection does
+not choose a good host for you.
+
+@item @strong{-all-options}
+@anchor{install-tl @strong{-all-options}}
+
+Normally options not relevant to the current platform are not shown
+(e.g., when running on Unix, Windows-specific options are omitted).
+Giving this command line option allows configuring such "foreign"
+settings.
+
+@item @strong{-custom-bin} @emph{path}
+@anchor{install-tl @strong{-custom-bin} @emph{path}}
+
+If you have built your own set of TeX Live binaries (perhaps because
+your platform was not supported by TeX Live out of the box), this option
+allows you to specify the @emph{path} to a directory where the binaries for
+the current system are present. The installation will continue as
+usual, but at the end all files from @emph{path} are copied over to
+@code{bin/custom/} under your installation directory and this @code{bin/custom/}
+directory is what will be added to the path for the post-install
+actions. To install multiple custom binary sets, manually rename
+@code{custom} before doing each.
+
+For more information on custom binaries, see
+@url{https://tug.org/texlive/custom-bin.html}. For general information on
+building TeX Live, see @url{https://tug.org/texlive/build.html}.
+
+@item @strong{-debug-translation}
+@anchor{install-tl @strong{-debug-translation}}
+
+In the Perl/Tk GUI modes, this option reports any missing, or more
+likely untranslated, messages to standard error. Helpful for
+translators to see what remains to be done.
+
+@item @strong{-force-platform} @emph{platform}
+@anchor{install-tl @strong{-force-platform} @emph{platform}}
+
+Instead of auto-detecting the current platform, use @emph{platform}.
+Binaries for this platform must be present and they must actually be
+runnable, or installation will fail. @code{-force-arch} is a synonym.
+
+@item @strong{-help}, @strong{--help}, @strong{-?}
+@anchor{install-tl @strong{-help}@comma{} @strong{--help}@comma{} @strong{-?}}
+
+Display this help and exit. (This help is also on the web at
+@url{https://tug.org/texlive/doc/install-tl.html}). Sometimes the @code{perldoc}
+and/or @code{PAGER} programs on the system have problems, possibly resulting
+in control characters being literally output. This can't always be
+detected, but you can set the @code{NOPERLDOC} environment variable and
+@code{perldoc} will not be used.
+
+@item @strong{-in-place}
+@anchor{install-tl @strong{-in-place}}
+
+This is a quick-and-dirty installation option in case you already have
+an rsync or svn checkout of TeX Live. It will use the checkout as-is
+and will just do the necessary post-install. Be warned that the file
+@code{tlpkg/texlive.tlpdb} may be rewritten, that removal has to be done
+manually, and that the only realistic way to maintain this installation
+is to redo it from time to time. This option is not available via the
+installer interfaces. USE AT YOUR OWN RISK.
+
+@item @strong{-init-from-profile} @emph{profile_file}
+@anchor{install-tl @strong{-init-from-profile} @emph{profile_file}}
+
+Similar to @strong{-profile} (see @ref{install-tl PROFILES,, PROFILES} below), but only initializes
+the installation configuration from @emph{profile_file} and then starts a
+normal interactive session. Environment variables are not ignored.
+
+@item @strong{-logfile} @emph{file}
+@anchor{install-tl @strong{-logfile} @emph{file}}
+
+Write both all messages (informational, debugging, warnings) to @emph{file},
+in addition to standard output or standard error.
+
+If this option is not given, the installer will create a log file
+in the root of the writable installation tree,
+for example, @code{/usr/local/texlive/YYYY/install-tl.log} for the @emph{YYYY}
+release.
+
+@item @strong{-no-cls}
+@anchor{install-tl @strong{-no-cls}}
+
+For the text mode installer only: do not clear the screen when entering
+a new menu (for debugging purposes).
+
+@item @strong{-no-persistent-downloads}
+@anchor{install-tl @strong{-no-persistent-downloads}}
+
+@item @strong{-persistent-downloads}
+@anchor{install-tl @strong{-persistent-downloads}}
+
+For network installs, activating this option makes the installer try to
+set up a persistent connection using the @code{Net::LWP} Perl module. This
+opens only one connection between your computer and the server per
+session and reuses it, instead of initiating a new download for each
+package, which typically yields a significant speed-up.
+
+This option is turned on by default, and the installation program will
+fall back to using @code{wget} if this is not possible. To disable usage of
+LWP and persistent connections, use @code{-no-persistent-downloads}.
+
+@item @strong{-no-verify-downloads}
+@anchor{install-tl @strong{-no-verify-downloads}}
+
+By default, if a GnuPG @code{gpg} binary is found in PATH, downloads are
+verified against a cryptographic signature. This option disables such
+verification. The full description is in the Crytographic Verification
+section of the @code{tlmgr} documentation, e.g.,
+@url{https://tug.org/texlive/doc/tlmgr.html#CRYPTOGRAPHIC-VERIFICATION}
+
+@item @strong{-non-admin}
+@anchor{install-tl @strong{-non-admin}}
+
+For Windows only: configure for the current user, not for all users.
+
+@item @strong{-portable}
+@anchor{install-tl @strong{-portable}}
+
+Install for portable use, e.g., on a USB stick. Also selectable from
+within the perltk and text installers.
+
+@item @strong{-print-platform}
+@anchor{install-tl @strong{-print-platform}}
+
+Print the TeX Live identifier for the detected platform
+(hardware/operating system) combination to standard output, and exit.
+@code{-print-arch} is a synonym.
+
+@item @strong{-profile} @emph{profile_file}
+@anchor{install-tl @strong{-profile} @emph{profile_file}}
+
+Load @emph{profile_file} and do the installation with no user interaction,
+that is, a batch (unattended) install. Environment variables are
+ignored. See @ref{install-tl PROFILES,, PROFILES} below.
+
+@item @strong{-q}
+@anchor{install-tl @strong{-q}}
+
+Omit normal informational messages.
+
+@item @strong{-scheme} @emph{scheme}
+@anchor{install-tl @strong{-scheme} @emph{scheme}}
+
+Schemes are the highest level of package grouping in TeX Live; the
+default is to use the @code{full} scheme, which includes everything. This
+option overrides that default. You can change the scheme again before
+the actual installation with the usual menu. The @emph{scheme} argument may
+optionally have a prefix @code{scheme-}. The list of supported scheme names
+depends on what your package repository provides; see the interactive
+menu list.
+
+@item @strong{-v}
+@anchor{install-tl @strong{-v}}
+
+Include verbose debugging messages; repeat for maximum debugging: @code{-v
+-v}. (Further repeats are accepted but ignored.)
+
+@item @strong{-version}, @strong{--version}
+@anchor{install-tl @strong{-version}@comma{} @strong{--version}}
+
+Output version information and exit. If @code{-v} is also given, the
+versions of the TeX Live modules used are also reported.
+
+@end table
+
+@node install-tl PROFILES
+@appendixsec PROFILES
+
+A @emph{profile} file contains all the values needed to perform an
+installation. After a normal installation has finished, a profile for
+that exact installation is written to the file @code{tlpkg/texlive.profile}.
+In addition, from the text menu one can select @code{P} to save the current
+setup as a profile at any time.
+
+Such a profile file can be given as the argument to @code{-profile}, for
+example to redo the exact same installation on a different system.
+Alternatively, you can use a custom profile, most easily created by
+starting from a generated one and changing values, or an empty file,
+which will take all the defaults.
+
+As mentioned above, the installer only supports selection by scheme and
+collections, not individual packages, so packages cannot be specified in
+profile files either. Use @code{tlmgr} to work at the package level.
+
+Within a profile file, each line consists of
+
+@emph{variable} [@emph{value}]
+
+except for comment lines starting with @code{#}. The possible variable
+names are listed below. Values, when present, are either @code{0} or @code{1}
+for booleans, or strings (which must be specified without any quote
+characters). Leading whitespace is ignored.
+
+If the variable @code{selected_scheme} is defined and @emph{no} collection
+variables at all are defined, then the collections required by the
+specified scheme (which might change over time) are installed, without
+explicitly listing them. This eases maintenance of profile files. If
+any collections are specified in a profile, though, then all desired
+collections must be given explicitly.
+
+For example, a line
+
+@verbatim
+ selected_scheme scheme-small
+@end verbatim
+
+along with definitions for the installation directories (given below
+under "path options") suffices to install the "small" scheme with all
+default options. The schemes are described in the @code{S} menu in the
+text installer, or equivalent.
+
+Besides @code{selected_scheme}, here is the list of variable names supported
+in a profile:
+
+@strong{collection options} (prefix @code{collection-})
+
+Collections are specified with a variable name with the prefix
+@code{collection-} followed by a collection name; there is no value. For
+instance, @code{collection-basic}. The collections are described in the
+@code{C} menu.
+
+Schemes and collections (and packages) are ultimately defined by the
+files in the @code{tlpkg/tlpsrc/} source directory.
+
+@strong{path options}
+
+It is best to define all of these, even though they may not be used in
+the installation, so as to avoid unintentionally getting a default value
+that could cause problems later.
+
+@verbatim
+ TEXDIR
+ TEXMFCONFIG
+ TEXMFVAR
+ TEXMFHOME
+ TEXMFLOCAL
+ TEXMFSYSCONFIG
+ TEXMFSYSVAR
+@end verbatim
+
+@strong{installer options} (prefix @code{instopt_})
+
+@table @asis
+@item @code{instopt_adjustpath} (default 0 on Unix, 1 on Windows)
+@anchor{install-tl @code{instopt_adjustpath} (default 0 on Unix@comma{} 1 on Windows)}
+
+Adjust @code{PATH} environment variable.
+
+@item @code{instopt_adjustrepo} (default 1)
+@anchor{install-tl @code{instopt_adjustrepo} (default 1)}
+
+Set remote repository to a multiplexed CTAN mirror after installation;
+see @code{-repository} above.
+
+@item @code{instopt_letter} (default 0)
+@anchor{install-tl @code{instopt_letter} (default 0)}
+
+Set letter size paper as the default, instead of a4.
+
+@item @code{instopt_portable} (default 0)
+@anchor{install-tl @code{instopt_portable} (default 0)}
+
+Install for portable use, e.g., on a USB stick.
+
+@item @code{instopt_write18_restricted} (default 1)
+@anchor{install-tl @code{instopt_write18_restricted} (default 1)}
+
+Enable @code{\write18} for a restricted set of programs.
+
+@end table
+
+@strong{tlpdb options} (prefix @code{tlpdbopt_})
+
+The definitive list is given in @code{tlpkg/TeXLive/TLConfig.pm}, in the hash
+@code{%TeXLive::TLConfig::TLPDBOptions}, together with explanations. All
+items given there @emph{except} for @code{tlpdbopt_location} can be specified.
+Here is the current list:
+
+@verbatim
+ tlpdbopt_autobackup
+ tlpdbopt_backupdir
+ tlpdbopt_create_formats
+ tlpdbopt_desktop_integration
+ tlpdbopt_file_assocs
+ tlpdbopt_generate_updmap
+ tlpdbopt_install_docfiles
+ tlpdbopt_install_srcfiles
+ tlpdbopt_post_code
+ tlpdbopt_sys_bin
+ tlpdbopt_sys_info
+ tlpdbopt_sys_man
+ tlpdbopt_w32_multi_user
+@end verbatim
+
+@strong{platform options} (prefix @code{binary_})
+
+For each supported platform in TeX Live (directories under @code{bin/}), the
+variable @code{binary_}@emph{PLATFORM} can be set with value 1. For example:
+
+@verbatim
+ binary_x86_64-linux 1
+@end verbatim
+
+If no @code{binary_} settings are made, the default is whatever the
+current machine is running.
+
+In releases before 2017, many profile variables had different
+names (not documented here; see the @code{install-tl} source). They are
+accepted and transformed to the names given above. When a profile is
+written, the names above are always used.
+
+For more details on all of the above options, consult the TeX Live
+installation manual, linked from @url{https://tug.org/texlive/doc}.
+
+@node install-tl ENVIRONMENT VARIABLES
+@appendixsec ENVIRONMENT VARIABLES
+
+For ease in scripting and debugging, @code{install-tl} looks for the
+following environment variables. They are not of interest for normal
+user installations.
+
+@table @asis
+@item @code{TEXLIVE_DOWNLOADER}
+@anchor{install-tl @code{TEXLIVE_DOWNLOADER}}
+
+@item @code{TL_DOWNLOAD_PROGRAM}
+@anchor{install-tl @code{TL_DOWNLOAD_PROGRAM}}
+
+@item @code{TL_DOWNLOAD_ARGS}
+@anchor{install-tl @code{TL_DOWNLOAD_ARGS}}
+
+These override the normal choice of a download program; see the @code{tlmgr}
+documentation, e.g.,
+@url{https://tug.org/texlive/doc/tlmgr.html#ENVIRONMENT-VARIABLES}.
+
+@item @code{TEXLIVE_INSTALL_ENV_NOCHECK}
+@anchor{install-tl @code{TEXLIVE_INSTALL_ENV_NOCHECK}}
+
+Omit the check for environment variables containing the string @code{tex}.
+People developing TeX-related software are likely to have many such
+variables.
+
+@item @code{TEXLIVE_INSTALL_NO_CONTEXT_CACHE}
+@anchor{install-tl @code{TEXLIVE_INSTALL_NO_CONTEXT_CACHE}}
+
+Omit creating the ConTeXt cache. This is useful for redistributors.
+
+@item @code{TEXLIVE_INSTALL_NO_IMPORT}
+@anchor{install-tl @code{TEXLIVE_INSTALL_NO_IMPORT}}
+
+Omit check for installing on top of a previous installation and then
+asking about importing previous settings.
+
+@item @code{TEXLIVE_INSTALL_NO_WELCOME}
+@anchor{install-tl @code{TEXLIVE_INSTALL_NO_WELCOME}}
+
+Omit printing the welcome message after successful installation, e.g.,
+when testing.
+
+@item @code{TEXLIVE_INSTALL_PREFIX}
+@anchor{install-tl @code{TEXLIVE_INSTALL_PREFIX}}
+
+@item @code{TEXLIVE_INSTALL_TEXDIR}
+@anchor{install-tl @code{TEXLIVE_INSTALL_TEXDIR}}
+
+@item @code{TEXLIVE_INSTALL_TEXMFCONFIG}
+@anchor{install-tl @code{TEXLIVE_INSTALL_TEXMFCONFIG}}
+
+@item @code{TEXLIVE_INSTALL_TEXMFVAR}
+@anchor{install-tl @code{TEXLIVE_INSTALL_TEXMFVAR}}
+
+@item @code{TEXLIVE_INSTALL_TEXMFHOME}
+@anchor{install-tl @code{TEXLIVE_INSTALL_TEXMFHOME}}
+
+@item @code{TEXLIVE_INSTALL_TEXMFLOCAL}
+@anchor{install-tl @code{TEXLIVE_INSTALL_TEXMFLOCAL}}
+
+@item @code{TEXLIVE_INSTALL_TEXMFSYSCONFIG}
+@anchor{install-tl @code{TEXLIVE_INSTALL_TEXMFSYSCONFIG}}
+
+@item @code{TEXLIVE_INSTALL_TEXMFSYSVAR}
+@anchor{install-tl @code{TEXLIVE_INSTALL_TEXMFSYSVAR}}
+
+Specify the respective directories. @code{TEXLIVE_INSTALL_PREFIX} defaults
+to @code{/usr/local/texlive}, while @code{TEXLIVE_INSTALL_TEXDIR} defaults to
+the release directory within that prefix, e.g.,
+@code{/usr/local/texlive/2016}. All the defaults can be seen by running the
+installer interactively and then typing @code{D} for the directory menu.
+
+@item @code{NOPERLDOC}
+@anchor{install-tl @code{NOPERLDOC}}
+
+Don't try to run the @code{--help} message through @code{perldoc}.
+
+@end table
+
+@node install-tl AUTHORS AND COPYRIGHT
+@appendixsec AUTHORS AND COPYRIGHT
+
+This script and its documentation were written for the TeX Live
+distribution (@url{https://tug.org/texlive}) and both are licensed under the
+GNU General Public License Version 2 or later.
+
+$Id: install-tl 54143 2020-03-06 23:51:18Z karl $
+