summaryrefslogtreecommitdiff
path: root/Master/install-tl
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2008-07-24 17:02:05 +0000
committerNorbert Preining <preining@logic.at>2008-07-24 17:02:05 +0000
commit5771bdd88aa5a9f37ba11edb0d6b4e8a6a6768c9 (patch)
tree6fd4b02e8758f32ee880925441f2dc27cba28cca /Master/install-tl
parent5bed1c55ff78931d80377943da83697c7b9c03a9 (diff)
slightly changed profile behaviour for install-tl, see the pod docu
git-svn-id: svn://tug.org/texlive/trunk@9753 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/install-tl')
-rwxr-xr-xMaster/install-tl39
1 files changed, 39 insertions, 0 deletions
diff --git a/Master/install-tl b/Master/install-tl
index 59ec68e9bf4..813fff0821e 100755
--- a/Master/install-tl
+++ b/Master/install-tl
@@ -799,6 +799,27 @@ sub read_profile {
if (m/^collection-/) { $vars{$_} = 0; }
if (defined($pro{$_})) { $vars{$_} = $pro{$_}; }
}
+ # if a profile contains *only* the selected_scheme setting without
+ # any collection, we assume that exactely that scheme should be installed
+ my $coldefined = 0;
+ foreach my $k (keys %pro) {
+ if ($k =~ m/^collection-/) {
+ $coldefined = 1;
+ last;
+ }
+ }
+ # if at least one collection has been defined return here
+ return if $coldefined;
+ # since no collections have been defined in the profile, we
+ # set those to be installed on which the scheme depends
+ my $scheme=$tlpdb->get_package($vars{'selected_scheme'});
+ if (!defined($scheme)) {
+ dump_vars(\*STDOUT);
+ die ("Scheme $vars{'selected_scheme'} not defined!\n");
+ }
+ for my $scheme_content ($scheme->depends) {
+ $vars{"$scheme_content"}=1 if ($scheme_content=~/^collection-/);
+ }
}
sub prepare_installation {
@@ -1351,6 +1372,24 @@ Print the detected arch-os combination and exit.
=item B<-profile> I<profile>
Load the I<profile> file for repeated installations on different systems.
+A I<profile> contains the values of all necessary variable for the
+installation. After normal installation has finished a profile for that
+exact installation is written into DEST/tlpkg/texlive.profile. That file
+can be used to do the exact same installation on a different computer.
+
+You can also hand-craft such a profile starting from a generated one
+by changing some values. Normally a profile has to contain the value 1 for
+each collection that should be installed, even if the scheme is specified.
+That follows from the logic of the installer that you first select a scheme
+and then can change the actual collections being installed.
+
+There is one exception to this: If the profile contains a variable for
+B<selected_scheme> and I<NO> collection variable is defined in the profile,
+then the collections which the specified scheme requires are installed.
+Thus, a simple line C<selected_scheme scheme-medium> together with the
+definitions of the paths (TEXDIR, TEXDIRW, TEXMFHOME, TEXMFLOCAL,
+TEXMFSYSCONFIG, TEXMFSYSVAR) suffice to install the medium scheme with all
+default options.
=item B<-q>