diff options
author | Norbert Preining <preining@logic.at> | 2008-06-28 23:05:44 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2008-06-28 23:05:44 +0000 |
commit | 916b4893ed39a39d316a32c96e5c6110b8e84e41 (patch) | |
tree | c2e94740939774092347db0b52aeb32471276757 /Master/tlpkg/TeXLive/TLPOBJ.pm | |
parent | 7555dd14aa0972fe77a9613d8f9dbd8f552dd5fd (diff) |
restart feature of installer
git-svn-id: svn://tug.org/texlive/trunk@9078 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/TeXLive/TLPOBJ.pm')
-rw-r--r-- | Master/tlpkg/TeXLive/TLPOBJ.pm | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/Master/tlpkg/TeXLive/TLPOBJ.pm b/Master/tlpkg/TeXLive/TLPOBJ.pm index 1395279ca66..f911f2a6cff 100644 --- a/Master/tlpkg/TeXLive/TLPOBJ.pm +++ b/Master/tlpkg/TeXLive/TLPOBJ.pm @@ -167,6 +167,18 @@ sub from_fh { $self->{'revision'} = "$1"; $lastcmd = "revision"; next; + } elsif ($line =~ /^containersize\s+([0-9]+)\s*/o) { + $self->containersize("$1"); + $lastcmd = "containersize"; + next; + } elsif ($line =~ /^srccontainersize\s+([0-9]+)\s*/o) { + $self->srccontainersize("$1"); + $lastcmd = "srccontainersize"; + next; + } elsif ($line =~ /^doccontainersize\s+([0-9]+)\s*/o) { + $self->doccontainersize("$1"); + $lastcmd = "doccontainersize"; + next; } elsif ($line =~ /^catalogue\s+(.*)\s*/o) { $self->catalogue("$1"); $lastcmd = "catalogue"; @@ -290,6 +302,12 @@ sub writeout { print $fd "execute $_\n"; } } + if (defined($self->{'containersize'})) { + print $fd "containersize $self->{'containersize'}\n"; + } + if (defined($self->{'doccontainersize'})) { + print $fd "doccontainersize $self->{'doccontainersize'}\n"; + } if (defined($self->{'docfiles'}) && (@{$self->{'docfiles'}})) { print $fd "docfiles size=$self->{'docsize'}\n"; foreach my $f (sort @{$self->{'docfiles'}}) { @@ -303,6 +321,9 @@ sub writeout { print $fd "\n"; } } + if (defined($self->{'srccontainersize'})) { + print $fd "srccontainersize $self->{'srccontainersize'}\n"; + } if (defined($self->{'srcfiles'}) && (@{$self->{'srcfiles'}})) { print $fd "srcfiles size=$self->{'srcsize'}\n"; foreach (sort @{$self->{'srcfiles'}}) { @@ -564,11 +585,14 @@ sub make_container { } else { tlwarn("Couldn't find $destdir/$tarname"); } + # compute the size + my $size = (stat "$destdir/$tarname.lzma") [7]; # cleaning up unlink("$tlpobjdir/$self->{'name'}.tlpobj"); rmdir("$tlpobjdir") if $removetlpobjdir; chdir($cwd); ddebug("Done $containername\n"); + return($size); } @@ -868,6 +892,21 @@ sub srcfiles { if (@_) { $self->{'srcfiles'} = [ @_ ] } return @{ $self->{'srcfiles'} }; } +sub containersize { + my $self = shift; + if (@_) { $self->{'containersize'} = shift } + return ( defined($self->{'containersize'}) ? $self->{'containersize'} : -1 ); +} +sub srccontainersize { + my $self = shift; + if (@_) { $self->{'srccontainersize'} = shift } + return ( defined($self->{'srccontainersize'}) ? $self->{'srccontainersize'} : -1 ); +} +sub doccontainersize { + my $self = shift; + if (@_) { $self->{'doccontainersize'} = shift } + return ( defined($self->{'doccontainersize'}) ? $self->{'doccontainersize'} : -1 ); +} sub srcsize { my $self = shift; if (@_) { $self->{'srcsize'} = shift } @@ -1124,6 +1163,17 @@ which set or get the current value of the respective sizes. Note that also the C<binsize> function returns (and takes as argument) a hash with the architectures as keys, similar to the C<runfiles> functions (see above). +Futhermore, if the tlpobj is contained ina tlpdb which describes a media +where the files are distributed in packed format (usually as .tar.lzma), +there are 3 more possible keys: + + $tlpobj->containersize + $tlpobj->doccontainersize + $tlpobj->srccontainersize + +describing the respective sizes in bytes. The latter two are only present +if src/doc file container splitting is activated for that install medium. + =head1 OTHER FUNCTIONS The following functions can be called for an C<TLPOBJ> object: |