diff options
author | Norbert Preining <preining@logic.at> | 2009-06-11 19:55:26 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2009-06-11 19:55:26 +0000 |
commit | a1b7fde47b1bb5e8bb795bfa0774e7f8889dfcf4 (patch) | |
tree | 86ca271d17f763dcd1bc9ce3f351ae9d4a4f20c9 | |
parent | 6926aa31b7f53caf8b5e9b1e1c4ad5ccde9b8b02 (diff) |
support -custom-bin cmd line in install-tl
git-svn-id: svn://tug.org/texlive/trunk@13712 c570f23f-e606-0410-a88d-b1316a301751
-rwxr-xr-x | Master/install-tl | 39 |
1 files changed, 37 insertions, 2 deletions
diff --git a/Master/install-tl b/Master/install-tl index 5b85d828902..1c8d7ea8da6 100755 --- a/Master/install-tl +++ b/Master/install-tl @@ -157,6 +157,7 @@ my $opt_print_arch = 0; my $opt_profileseed = ""; my $opt_profile = ""; my $opt_scheme = ""; +my $opt_custom_bin; my $opt_version = 0; # default language for GUI installer @@ -182,6 +183,7 @@ if (-r "installation.profile") { process_logging_options(); # now the others GetOptions( + "custom-bin=s" => \$opt_custom_bin, "fancyselector" => \$::alternative_selector, "from_dvd" => \$opt_from_dvd, "gui:s" => \$opt_gui, @@ -316,7 +318,7 @@ if (($opt_gui ne "text") && !$opt_no_gui && ($opt_profile eq "")) { platform(); # we do not support cygwin < 1.7, so check for that -if (platform() eq "i386-cygwin") { +if (!$opt_custom_bin && (platform() eq "i386-cygwin")) { chomp( my $un = `uname -r`); if ($un =~ m/^(\d+)\.(\d+)\./) { if ($1 < 2 && $2 < 7) { @@ -368,6 +370,14 @@ if ($location =~ m!^(ctan$|(http|ftp)://)!i) { info("Installing from: $location\n"); info("Platform: ", platform, " => \'", platform_desc(platform), "\'\n"); +if ($opt_custom_bin) { + if (-d $opt_custom_bin) { + info("Platform overridden, binaries taken from $opt_custom_bin\nand put into bin/custom!\n"); + } else { + tlwarn("Argument for -custom-bin needs to be directory with TeX Live binaries!\n"); + exit(1); + } +} if ($media eq "DVD") { info("Distribution: live (uncompressed)\n"); } elsif ($media eq "CD") { @@ -540,6 +550,14 @@ sub do_installation { calc_depends(); save_options_into_tlpdb(); do_install_packages(); + if ($opt_custom_bin) { + $vars{'this_platform'} = "custom"; + my $TEXDIR="$vars{'TEXDIR'}"; + mkdirhier("$TEXDIR/bin/custom"); + for my $f (<$opt_custom_bin/*>) { + copy($f, "$TEXDIR/bin/custom"); + } + } } # now we save every scheme that is fully covered by the stuff we have # installed to the $localtlpdb @@ -1166,6 +1184,9 @@ sub initialize_collections { sub set_install_platform { my $detected_platform=platform; + if ($opt_custom_bin) { + $detected_platform = "custom"; + } my $warn_nobin; my $warn_nobin_x86_64_linux; my $nowarn=""; @@ -1185,7 +1206,11 @@ sub set_install_platform { $vars{'inst_platform'}='i386-linux'; $ret = $warn_nobin_x86_64_linux; } else { - $ret = $warn_nobin; + if ($opt_custom_bin) { + $ret = "$wp Using custom binaries from $opt_custom_bin.\n"; + } else { + $ret = $warn_nobin; + } } foreach my $key (keys %vars) { if ($key=~/^binary.*/) { @@ -1795,6 +1820,16 @@ optionally have a prefix C<scheme->. The list of supported scheme names depends on what your installation location provides; see the interactive menu list. +=item B<-custom-bin> I<path> + +In case your architecture is not supported by TeX Live out of the box +and you have built your own binaries for your system, this option allows +to give the I<path> to a directory where ready made binaries for your +system are present. The installation will continue as normally, but at +the end all files from I<path> are copied over to C<bin/custom> in your +installation folder and this directory will be added to the path for +the postinstall actions. + =item B<-q> Omit normal informational messages. |