diff options
author | Norbert Preining <preining@logic.at> | 2008-03-29 19:38:26 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2008-03-29 19:38:26 +0000 |
commit | d3528d245bb8205140e8efe76a15c64111a7e640 (patch) | |
tree | 708147e73587641960f0b2375fc0f66cde508c1f /Master/tlpkg/TeXLive/TLMedia.pm | |
parent | 4d66e5d1bdfb3882f09301e84da4fd2be9600ec9 (diff) |
fixes to TLMedia (installation from dvd), TLUtils (need to write tlpobj
files), and tlpsrc2tlpdb (func call in string)
git-svn-id: svn://tug.org/texlive/trunk@7231 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/TeXLive/TLMedia.pm')
-rw-r--r-- | Master/tlpkg/TeXLive/TLMedia.pm | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/Master/tlpkg/TeXLive/TLMedia.pm b/Master/tlpkg/TeXLive/TLMedia.pm index 8d38ff3c184..061e369b6a8 100644 --- a/Master/tlpkg/TeXLive/TLMedia.pm +++ b/Master/tlpkg/TeXLive/TLMedia.pm @@ -164,22 +164,22 @@ sub install_package { my @installfiles; my $location = $self->location; foreach ($tlpobj->runfiles) { - s!^!$location/!; + # s!^!$location/!; push @installfiles, $_; } foreach ($tlpobj->allbinfiles) { - s!^!$location/!; + # s!^!$location/!; push @installfiles, $_; } if ($opt_src) { foreach ($tlpobj->srcfiles) { - s!^!$location/!; + # s!^!$location/!; push @installfiles, $_; } } if ($opt_doc) { foreach ($tlpobj->docfiles) { - s!^!$location/!; + # s!^!$location/!; push @installfiles, $_; } } @@ -229,6 +229,14 @@ sub install_package { if (!$opt_doc) { $tlpobj->clear_docfiles; } + # we have to write out the tlpobj file since it is contained in the + # archives (.tar.lzma) but at DVD install time we don't have them + my $tlpod = $totlpdb->root . "/tlpkg/tlpobj"; + mkdirhier( $tlpod ); + open(TMP,">$tlpod/".$tlpobj->name.".tlpobj") or + die("Cannot open tlpobj file for ".$tlpobj->name); + $tlpobj->writeout(\*TMP); + close(TMP); $totlpdb->add_tlpobj($tlpobj); $totlpdb->save; # compute the return value @@ -304,12 +312,13 @@ sub _install_package { } if (ref $what) { # we are getting a ref to a list of files, so install from DVD + my $location = $self->location; foreach my $file (@$what) { # @what is taken, not @filelist! # is this still needed? my $dn=dirname($file); mkdirhier("$target/$dn"); - copy "$file", "$target/$dn"; + copy "$location/$file", "$target/$dn"; } } elsif ($what =~ m,http://|ftp://,) { # we are installing from the NET |