summaryrefslogtreecommitdiff
path: root/Master/install-tl.pl
diff options
context:
space:
mode:
Diffstat (limited to 'Master/install-tl.pl')
-rwxr-xr-xMaster/install-tl.pl35
1 files changed, 20 insertions, 15 deletions
diff --git a/Master/install-tl.pl b/Master/install-tl.pl
index 56023f9d240..c326702a6ef 100755
--- a/Master/install-tl.pl
+++ b/Master/install-tl.pl
@@ -19,7 +19,8 @@ BEGIN {
use TeXLive::TLUtils qw(initialize_installer media platform platform_desc
debug which getenv win32 unix program_exists architectures_available
- additional_architectures_available_from_net get_system_tmpdir member);
+ additional_architectures_available_from_net get_system_tmpdir member
+ mkdirhier make_var_skeleton make_local_skeleton);
use TeXLive::TLPOBJ;
use TeXLive::TLPDB;
use TeXLive::TLConfig;
@@ -76,7 +77,6 @@ sub set_platforms_supported {
}
}
-
# Environment variables and default values on UNIX:
# TEXLIVE_INSTALL_PREFIX /usr/local/texlive => $tex_prefix
# TEXLIVE_INSTALL_TEXDIR $tex_prefix/2007 => $TEXDIR
@@ -250,7 +250,7 @@ sub calc_depends {
sub clear_screen {
-# return 0;
+# return 0;
(unix)? system 'clear':system 'cls';
}
@@ -1008,7 +1008,9 @@ sub create_profile {
foreach my $key (keys %vars) {
print PROFILE "$key $vars{$key}\n"
if $key=~/^collection/ and $vars{$key}==1;
+ print PROFILE "$key $vars{$key}\n" if $key=~/^option_letter/;
print PROFILE "$key $vars{$key}\n" if $key=~/^option_doc/;
+ print PROFILE "$key $vars{$key}\n" if $key=~/^option_fmt/;
print PROFILE "$key $vars{$key}\n" if $key=~/^option_src/;
print PROFILE "$key $vars{$key}\n" if $key=~/^option_symlinks/;
}
@@ -1018,16 +1020,18 @@ sub create_profile {
#
# prepare_installation
sub prepare_installation {
- my $destdir = $vars{"TEXDIR"};
- my $texmfvar = $vars{"TEXMFSYSVAR"};
- `mkdir -p "$destdir"`;
- `mkdir -p "$destdir/$TeXLive::TLConfig::InfraLocation"`;
- `mkdir -p "$texmfvar"`;
- my $localtlpdbpath = "$destdir/$TeXLive::TLConfig::InfraLocation/texlive.tlpdb";
- $::localtlpdb = new TeXLive::TLPDB;
- $::localtlpdb->location("$localtlpdbpath");
+ my $infralocation="$TeXLive::TLConfig::InfraLocation";
+ my $localtlpdbfile="$vars{'TEXDIR'}/$infralocation/texlive.tlpdb";
+
+ mkdirhier "$vars{'TEXDIR'}/$infralocation";
+ make_var_skeleton "$vars{'TEXMFSYSVAR'}";
+ make_local_skeleton "$vars{'TEXMFLOCAL'}";
+
+ $::localtlpdb=new TeXLive::TLPDB;
+ $::localtlpdb->location("$localtlpdbfile");
}
+
sub add_tlpcontainer {
my ($package, $ziplocation, $dest) = @_;
my $unpackprog;
@@ -1054,6 +1058,7 @@ sub add_tlpcontainer {
}
# warn "Huuu, this needs testing and error checking!\n";
# warn "Should we use -a -- adapt line endings etc?\n";
+# No! Always use binmode.
`$unpackprog`;
my $tlpobj=$::tlpdb->get_package($package);
$::localtlpdb->add_tlpobj($tlpobj);
@@ -1077,10 +1082,10 @@ sub install_files {
my @archs;
foreach (keys %vars) {
if (m/^diskbin_(.*)$/ ) {
- if ($vars{$_}) { push @archs, $1; }
+ if ($vars{$_}) {push @archs, $1;}
}
if (m/^netbin_(.*)$/ ) {
- if ($vars{$_}) { push @archs, $1; }
+ if ($vars{$_}) {push @archs, $1;}
}
}
my $destination="$vars{TEXDIR}";
@@ -1109,13 +1114,12 @@ sub parse_executes_and_create_files {
} elsif ($e =~ m/BuildLanguageDat (.*)$/) {
$hypcnffiles{$1} = 1;
} else {
- die "Unknown execute for package $p: $e\n";
+# die "Unknown execute for package $p: $e\n";
}
}
}
#
# updmap.cfg -> TEXMFSYSVAR/web2c
- `mkdir -p $vars{'TEXMFSYSVAR'}/web2c`;
my $updmapcfgpath = "$vars{'TEXMFSYSVAR'}/web2c/updmap.cfg";
open(UPDMAPCFG,">$updmapcfgpath") or die("Cannot open $updmapcfgpath for writing!\n");
foreach (sort keys %maps) {
@@ -1176,6 +1180,7 @@ run_menu;
calc_depends;
prepare_installation;
install_files;
+
parse_executes_and_create_files;
#
# what more has to be done: