From c408149f82d93f0eeebf3d84377c5f1924ac38fb Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 9 May 2013 18:45:54 +0000 Subject: tlpsizes: new utility script to examine collection/scheme/package sizes; doc tweaks in TLPDB.pm git-svn-id: svn://tug.org/texlive/trunk@30347 c570f23f-e606-0410-a88d-b1316a301751 --- Master/tlpkg/TeXLive/TLPDB.pm | 42 ++++++++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 18 deletions(-) (limited to 'Master/tlpkg/TeXLive') diff --git a/Master/tlpkg/TeXLive/TLPDB.pm b/Master/tlpkg/TeXLive/TLPDB.pm index 29a4f8bf9ed..0eeee548afc 100644 --- a/Master/tlpkg/TeXLive/TLPDB.pm +++ b/Master/tlpkg/TeXLive/TLPDB.pm @@ -697,22 +697,25 @@ sub _list_packages { =item C<< $tlpdb->expand_dependencies(["control",] $tlpdb, ($pkgs)) >> If the first argument is the string C<"-only-arch">, expands only -dependencies of the form .ARCH. +dependencies of the form C<.>I. If the first argument is C<"-no-collections">, then dependencies between "same-level" packages (scheme onto scheme, collection onto collection, package onto package) are ignored. +C<-only-arch> and C<-no-collections> cannot be specified together; has +to be one or the other. + The next (or first) argument is the target TLPDB, then a list of packages. -In the virtual case, -if a package name is tagged with C<@repository-tag> then all the -dependencies will still be expanded between all included databases. -Only in case of .ARCH dependencies the repository-tag is sticky. +In the virtual case, if a package name is tagged with C<@repository-tag> +then all the dependencies will still be expanded between all included +databases. Only in case of C<.>I dependencies the repository-tag +is sticky. -We return the closure of the package list with respect to the depends -operator. (Sorry, that was for mathematicians.) +We return a list of package names, the closure of the package list with +respect to the depends operator. (Sorry, that was for mathematicians.) =cut @@ -825,7 +828,7 @@ sub find_file { =item C<< $tlpdb->collections >> -The C function returns the list of all collections. +The C function returns a list of all collection names. =cut @@ -844,7 +847,7 @@ sub collections { =item C<< $tlpdb->schemes >> -The C function returns the list of all schemes. +The C function returns a list of all scheme names. =cut @@ -1009,8 +1012,8 @@ sub _generate_listfile { # dependencies and inclusion of packages foreach my $t (@lot) { # strange, schemes mark included collections via -, while collections - # themself mark deps on other collections with +. collection are - # never referenced in Packages + # themselves mark deps on other collections with +. collections are + # never referenced in Packages. if ($listname =~ m/^scheme/) { print TMP "-"; } else { @@ -1273,15 +1276,17 @@ sub config_revision { =item C<< $tlpdb->sizes_of_packages ( $opt_src, $opt_doc, $ref_arch_list, [ @packs ] ) >> This function returns a reference to a hash with package names as keys -and the sizes in bytes as values. The sizes are computed for the arguments, -or all packages if nothing was given. +and the sizes in bytes as values. The sizes are computed for the list of +package names given as the fourth argument, or all packages if not +specified. -In case something has been computed one addition key is added C<__TOTAL__> -which contains the total size of all packages under discussion. +If anything has been computed one additional key is synthesized, +C<__TOTAL__>, which contains the total size of all packages under +consideration. If the third argument is a reference to a list of architectures, then only the sizes for the binary packages for these architectures are used, -otherwise all sizes for all architectures are summed up. +otherwise all sizes for all architectures are summed. =cut @@ -1304,7 +1309,8 @@ sub sizes_of_packages { warn "STRANGE: $p not to be found in ", $self->root; next; } - $tlpsizes{$p} = $self->size_of_one_package($media, $tlpobjs{$p}, $opt_src, $opt_doc, @archs); + $tlpsizes{$p} = $self->size_of_one_package($media, $tlpobjs{$p}, + $opt_src, $opt_doc, @archs); $totalsize += $tlpsizes{$p}; } if ($totalsize) { @@ -1334,7 +1340,7 @@ sub size_of_one_package { $size += $foo{$k}; } } - # all the packages sizes are in blocks, so transfer that to bytes + # packages sizes are stored in blocks; transform that to bytes. $size *= $TeXLive::TLConfig::BlockSize; } return $size; -- cgit v1.2.3