summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2011-04-27 22:46:03 +0000
committerNorbert Preining <preining@logic.at>2011-04-27 22:46:03 +0000
commit3693d1d9a9e0ea4daa929884ca237b14a8749a20 (patch)
treef414c17742a9106f3e4445a0aad88e3c97c8eb54
parent65c27d338ee4c4e2a62ec75d486723cf33f3c7eb (diff)
remove committed patch
git-svn-id: svn://tug.org/texlive/trunk@22227 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/tlpkg/dev/dev.merge-tlmedia-into-tlpdb-and-get-rid-of-it.README20
-rw-r--r--Master/tlpkg/dev/dev.merge-tlmedia-into-tlpdb-and-get-rid-of-it.patch1516
2 files changed, 0 insertions, 1536 deletions
diff --git a/Master/tlpkg/dev/dev.merge-tlmedia-into-tlpdb-and-get-rid-of-it.README b/Master/tlpkg/dev/dev.merge-tlmedia-into-tlpdb-and-get-rid-of-it.README
deleted file mode 100644
index 5392fb9ce9d..00000000000
--- a/Master/tlpkg/dev/dev.merge-tlmedia-into-tlpdb-and-get-rid-of-it.README
+++ /dev/null
@@ -1,20 +0,0 @@
-merge-tlmedia-into-tlpdb-and-get-rid-of-it
-
-purpose of this patch is to get rid of TLMedia again, as it was an
-interesting idea but created only much pain due to duplications
-of variables, as we always had to use the tlpdb also directly.
-
-This patch moves the two genuine functions from TLMedia
- install_package
- remove_package
-and related/needed functions into TLPDB.
-
-In this course also the naming of the various variables has changed, now
-there is only
- remotetlpdb
- subsuming the former tlmediatlpdb, tlmediasrc
- localtlpdb
- subsuming the former localtlmedia, localtlpdb
-
-
-
diff --git a/Master/tlpkg/dev/dev.merge-tlmedia-into-tlpdb-and-get-rid-of-it.patch b/Master/tlpkg/dev/dev.merge-tlmedia-into-tlpdb-and-get-rid-of-it.patch
deleted file mode 100644
index ad89630bbed..00000000000
--- a/Master/tlpkg/dev/dev.merge-tlmedia-into-tlpdb-and-get-rid-of-it.patch
+++ /dev/null
@@ -1,1516 +0,0 @@
-Index: tlpkg/TeXLive/TLPDB.pm
-===================================================================
---- tlpkg/TeXLive/TLPDB.pm (revision 22215)
-+++ tlpkg/TeXLive/TLPDB.pm (working copy)
-@@ -36,11 +36,12 @@
- $tlpdb->writeout;
- $tlpdb->writeout(FILEHANDLE);
- $tlpdb->save;
-+ $tlpdb->media;
- $tlpdb->available_architectures();
- $tlpdb->add_tlpcontainer($pkg, $ziploc [, $archrefs [, $dest ]] );
- $tlpdb->add_tlpobj($tlpobj);
- $tlpdb->needed_by($pkg);
-- $tlpdb->remove_package($pkg);
-+ $tlpdb->remove_tlpobj($pkg);
- $tlpdb->get_package("packagename");
- $tlpdb->list_packages;
- $tlpdb->expand_dependencies(["-only-arch",] $totlpdb, @list);
-@@ -55,6 +56,7 @@
- $tlpdb->language_lua_lines;
- $tlpdb->package_revision("packagename");
- $tlpdb->location;
-+ $tlpdb->platform;
- $tlpdb->config_src_container;
- $tlpdb->config_doc_container;
- $tlpdb->config_container_format;
-@@ -68,7 +70,10 @@
- $tlpdb->settings;
- $tlpdb->setting($key, [$value]);
- $tlpdb->sizes_of_packages($opt_src, $opt_doc [, @packs ]);
-+ $tlpdb->install_package($pkg, $dest_tlpdb, $nopostinstall, $fallbacktlpdb);
-+ $tlpdb->remove_package($pkg, %options);
-
-+
- TeXLive::TLPDB->listdir([$dir]);
- $tlpdb->generate_listfiles([$destdir]);
-
-@@ -79,8 +84,8 @@
- use TeXLive::TLConfig qw($CategoriesRegexp $DefaultCategory $InfraLocation
- $DatabaseName $MetaCategoriesRegexp $Archive
- %TLPDBOptions %TLPDBSettings);
--use TeXLive::TLUtils qw(dirname mkdirhier member win32 info debug ddebug
-- tlwarn);
-+use TeXLive::TLUtils qw(dirname mkdirhier member win32 info log debug ddebug
-+ tlwarn basename download_file merge_into);
- use TeXLive::TLPOBJ;
-
- use Cwd 'abs_path';
-@@ -116,6 +121,15 @@
- };
- $_listdir = $params{'listdir'} if defined($params{'listdir'});
- bless $self, $class;
-+ if (defined($params{'tlpdbfile'})) {
-+ my $nr_packages_read
-+ = $self->from_file("$self->{'root'}/$InfraLocation/$DatabaseName");
-+ if ($nr_packages_read == 0) {
-+ # that is bad, we didn't read anything, so return undef.
-+ return undef;
-+ }
-+ return $self;
-+ }
- if (defined($self->{'root'})) {
- my $nr_packages_read
- = $self->from_file("$self->{'root'}/$InfraLocation/$DatabaseName");
-@@ -185,14 +199,14 @@
-
- =pod
-
--=item C<< $tlpdb->remove_package($pkg) >>
-+=item C<< $tlpdb->remove_tlpobj($pkg) >>
-
- Remove the package named C<$pkg> from the tlpdb. Gives a warning if the
- package is not present
-
- =cut
-
--sub remove_package {
-+sub remove_tlpobj {
- my ($self,$pkg) = @_;
- if (defined($self->{'tlps'}{$pkg})) {
- delete $self->{'tlps'}{$pkg};
-@@ -228,6 +242,27 @@
- }
- my $retfh;
- my $tlpdbfile;
-+ # do media detection
-+ my $rootpath = $self->root;
-+ if ($rootpath =~ m,http://|ftp://,) {
-+ $media = 'NET';
-+ } else {
-+ if ($rootpath =~ m,file://*(.*)$,) {
-+ $rootpath = "/$1";
-+ }
-+ if (-d "$rootpath/texmf/web2c") {
-+ $media = 'local_uncompressed';
-+ } elsif (-d "$rootpath/$Archive") {
-+ $media = 'local_compressed';
-+ } else {
-+ # we cannot find the right type, return undefined, that should
-+ # make people notice
-+ return 0;
-+ }
-+ }
-+ $self->{'media'} = $media;
-+ #
-+ # actually load the TLPDB
- if ($path =~ m;^((http|ftp)://|file:\/\/*);) {
- debug("TLPDB.pm: trying to initialize from $path\n");
- # if we have xzdec available we try the xz file
-@@ -349,6 +384,19 @@
-
- =pod
-
-+=item C<< $tlpdb->media >>
-+
-+Returns the media code the respective installation resides on.
-+
-+=cut
-+
-+sub media {
-+ my $self = shift ;
-+ return $self->{'media'};
-+}
-+
-+=pod
-+
- =item C<< $tlpdb->available_architectures >>
-
- The C<available_architectures> functions returns the list of available
-@@ -640,10 +688,11 @@
-
- sub package_revision {
- my ($self,$pkg) = @_;
-- if (defined($self->{'tlps'}{$pkg})) {
-- return($self->{'tlps'}{$pkg}->revision);
-+ my $tlp = $self->get_package($pkg);
-+ if (defined($tlp)) {
-+ return $tlp->revision;
- } else {
-- return(undef);
-+ return;
- }
- }
-
-@@ -661,9 +710,9 @@
- sub generate_packagelist {
- my $self = shift;
- my $fd = (@_ ? $_[0] : STDOUT);
-- foreach (sort keys %{$self->{'tlps'}}) {
-- print $fd $self->{'tlps'}{$_}->name, " ",
-- $self->{'tlps'}{$_}->revision, "\n";
-+ foreach (sort $self->list_packages) {
-+ print $fd $self->get_package($_)->name, " ",
-+ $self->get_package($_)->revision, "\n";
- }
- foreach ($self->available_architectures) {
- print $fd "$_ -1\n";
-@@ -686,8 +735,8 @@
- if (not(defined($destdir))) {
- $destdir = TeXLive::TLPDB->listdir;
- }
-- foreach (sort keys %{$self->{'tlps'}}) {
-- $tlp = $self->{'tlps'}{$_};
-+ foreach (sort $self->list_package) {
-+ $tlp = $self->get_package($_);
- $self->_generate_listfile($tlp, $destdir);
- }
- }
-@@ -833,6 +882,27 @@
-
- =pod
-
-+=item C<< $tlpdb->platform >>
-+
-+returns the platform of this installation.
-+
-+=cut
-+
-+# deduce the platform of the referenced media as follows:
-+# - if the $tlpdb->setting("platform") is there it overrides the detected
-+# setting
-+# - if it is not there call TLUtils::platform()
-+sub platform {
-+ # try to deduce the platform
-+ my $self = shift;
-+ my $ret = $self->setting("platform");
-+ return $ret if defined $ret;
-+ # the platform setting wasn't found in the tlpdb, try TLUtils::platform
-+ return TeXLive::TLUtils::platform();
-+}
-+
-+=pod
-+
- =item C<< $tlpdb->listdir >>
-
- The function C<listdir> allows to read and set the packages variable
-@@ -986,21 +1056,7 @@
- sub sizes_of_packages {
- my ($self, $opt_src, $opt_doc, @packs) = @_;
- @packs || ( @packs = $self->list_packages() );
-- my $root = $self->root;
-- my $media;
-- if ($root =~ m!^(ctan$|(http|ftp)://)!i) {
-- $media = 'NET';
-- } else {
-- $root =~ s!file://*!/!i;
-- $root = abs_path($root);
-- if (-d "$root/$Archive") {
-- $media = 'local_compressed';
-- } elsif (-d "$root/texmf/web2c") {
-- $media = 'local_uncompressed';
-- } else {
-- die "$0: that should not happen, no proper location found!";
-- }
-- }
-+ my $media = $self->media;
- my %tlpsizes;
- my %tlpobjs;
- my $totalsize;
-@@ -1010,23 +1066,7 @@
- warn "STRANGE: $p not to be found in ", $self->root;
- next;
- }
-- if ($media ne 'local_uncompressed') {
-- # we use the container size as the measuring unit since probably
-- # downloading will be the limiting factor
-- $tlpsizes{$p} = $tlpobjs{$p}->containersize;
-- $tlpsizes{$p} += $tlpobjs{$p}->srccontainersize if $opt_src;
-- $tlpsizes{$p} += $tlpobjs{$p}->doccontainersize if $opt_doc;
-- } else {
-- # we have to add the respective sizes, that is checking for
-- # installation of src and doc file
-- $tlpsizes{$p} = $tlpobjs{$p}->runsize;
-- $tlpsizes{$p} += $tlpobjs{$p}->srcsize if $opt_src;
-- $tlpsizes{$p} += $tlpobjs{$p}->docsize if $opt_doc;
-- my %foo = %{$tlpobjs{$p}->binsize};
-- for my $k (keys %foo) { $tlpsizes{$p} += $foo{$k}; }
-- # all the packages sizes are in blocks, so transfer that to bytes
-- $tlpsizes{$p} *= $TeXLive::TLConfig::BlockSize;
-- }
-+ $tlpsizes{$p} = $self->size_of_one_package($media, $tlpobjs{$p}, $opt_src, $opt_doc);
- $totalsize += $tlpsizes{$p};
- }
- if ($totalsize) {
-@@ -1035,11 +1075,461 @@
- return \%tlpsizes;
- }
-
-+sub size_of_one_package {
-+ my ($self, $media, $tlpobj, $opt_src, $opt_doc) = @_;
-+ my $size = 0;
-+ if ($media ne 'local_uncompressed') {
-+ # we use the container size as the measuring unit since probably
-+ # downloading will be the limiting factor
-+ $size = $tlpobj->containersize;
-+ $size += $tlpobj->srccontainersize if $opt_src;
-+ $size += $tlpobj->doccontainersize if $opt_doc;
-+ } else {
-+ # we have to add the respective sizes, that is checking for
-+ # installation of src and doc file
-+ $size = $tlpobj->runsize;
-+ $size += $tlpobj->srcsize if $opt_src;
-+ $size += $tlpobj->docsize if $opt_doc;
-+ my %foo = %{$tlpobj->binsize};
-+ for my $k (keys %foo) { $size += $foo{$k}; }
-+ # all the packages sizes are in blocks, so transfer that to bytes
-+ $size *= $TeXLive::TLConfig::BlockSize;
-+ }
-+ return $size;
-+}
-
-+=pod
-
-+=item C<< $tlpdb->install_package($pkg, $dest_tlpdb, $nopostinstall, $fallbacktlpdb) >>
-
-+Installs the package $pkg into $dest_tlpdb.
-+
-+=cut
-+
-+sub install_package {
-+ my ($self, $pkg, $totlpdb, $nopostinstall, $fallbackmedia) = @_;
-+ my $fromtlpdb = $self;
-+ my $ret;
-+ die("TLPDB not initialized, cannot find tlpdb!") unless (defined($fromtlpdb));
-+ my $tlpobj = $fromtlpdb->get_package($pkg);
-+ if (!defined($tlpobj)) {
-+ if (defined($fallbackmedia)) {
-+ if ($ret = $fallbackmedia->install_package($pkg,$totlpdb, $nopostinstall)) {
-+ debug("installed $pkg from fallback\n");
-+ return $ret;
-+ } else {
-+ tlwarn("$0: Cannot find package $pkg (in fallback, either)\n");
-+ return 0;
-+ }
-+ } else {
-+ tlwarn("$0: Cannot find package $pkg\n");
-+ return 0;
-+ }
-+ } else {
-+ my $container_src_split = $fromtlpdb->config_src_container;
-+ my $container_doc_split = $fromtlpdb->config_doc_container;
-+ # get options about src/doc splitting from $totlpdb
-+ my $opt_src = $totlpdb->option("install_srcfiles");
-+ my $opt_doc = $totlpdb->option("install_docfiles");
-+ my $real_opt_doc = $opt_doc;
-+ my $reloc = 1 if $tlpobj->relocated;
-+ my $container;
-+ my @installfiles;
-+ my $root = $self->root;
-+ print "LOCATION = $root\n";
-+ # make sure that there is no terminal / in $root, otherwise we
-+ # will get double // somewhere
-+ $root =~ s!/$!!;
-+ foreach ($tlpobj->runfiles) {
-+ # s!^!$root/!;
-+ push @installfiles, $_;
-+ }
-+ foreach ($tlpobj->allbinfiles) {
-+ # s!^!$root/!;
-+ push @installfiles, $_;
-+ }
-+ if ($opt_src) {
-+ foreach ($tlpobj->srcfiles) {
-+ # s!^!$root/!;
-+ push @installfiles, $_;
-+ }
-+ }
-+ if ($real_opt_doc) {
-+ foreach ($tlpobj->docfiles) {
-+ # s!^!$root/!;
-+ push @installfiles, $_;
-+ }
-+ }
-+ my $media = $self->media;
-+ if ($media eq 'local_uncompressed') {
-+ $container = \@installfiles;
-+ } elsif ($media eq 'local_compressed') {
-+ if (-r "$root/$Archive/$pkg.zip") {
-+ $container = "$root/$Archive/$pkg.zip";
-+ } elsif (-r "$root/$Archive/$pkg.tar.xz") {
-+ $container = "$root/$Archive/$pkg.tar.xz";
-+ } else {
-+ tlwarn("Cannot find a package $pkg (.zip or .xz) in $root/$Archive\n");
-+ next;
-+ }
-+ } elsif (&media eq 'NET') {
-+ $container = "$root/$Archive/$pkg.$DefaultContainerExtension";
-+ }
-+ $self->_install_package ($container, $reloc, \@installfiles, $totlpdb)
-+ || return(0);
-+ # if we are installing from local_compressed or NET we have to fetch the respective
-+ # source and doc packages $pkg.source and $pkg.doc and install them, too
-+ if (($media eq 'NET') || ($media eq 'local_compressed')) {
-+ # we install split containers under the following conditions:
-+ # - the container were split generated
-+ # - src/doc files should be installed
-+ # (- the package is not already a split one (like .i386-linux))
-+ # the above test has been removed because it would mean that
-+ # texlive.infra.doc.tar.xz
-+ # will never be installed, and we do already check that there
-+ # are at all src/doc files, which in split packages of the form
-+ # foo.ARCH are not present. And if they are present, than that is fine,
-+ # too (bin-foobar.win32.doc.tar.xz)
-+ # - there are actually src/doc files present
-+ if ($container_src_split && $opt_src && $tlpobj->srcfiles) {
-+ my $srccontainer = $container;
-+ $srccontainer =~ s/(\.tar\.xz|\.zip)$/.source$1/;
-+ $self->_install_package ($srccontainer, $reloc, \@installfiles, $totlpdb)
-+ || return(0);
-+ }
-+ if ($container_doc_split && $real_opt_doc && $tlpobj->docfiles) {
-+ my $doccontainer = $container;
-+ $doccontainer =~ s/(\.tar\.xz|\.zip)$/.doc$1/;
-+ $self->_install_package ($doccontainer, $reloc, \@installfiles, $totlpdb)
-+ || return(0);
-+ }
-+ #
-+ # if we installed from NET/local_compressed and we got a relocatable container
-+ # make sure that the stray texmf-dist/tlpkg directory is removed
-+ # in USER MODE that should NOT be done because we keep the information
-+ # there, but for now do it unconditionally
-+ if ($tlpobj->relocated) {
-+ my $reloctree = $totlpdb->root . "/" . $TeXLive::TLConfig::RelocTree;
-+ my $tlpkgdir = $reloctree . "/" . $TeXLive::TLConfig::InfraLocation;
-+ my $tlpod = $tlpkgdir . "/tlpobj";
-+ TeXLive::TLUtils::rmtree($tlpod) if (-d $tlpod);
-+ # we try to remove the tlpkg directory, that will succeed only
-+ # if it is empty. So in normal installations it won't be, but
-+ # if we are installing a relocated package it is texmf-dist/tlpkg
-+ # which will be (hopefully) empty
-+ rmdir($tlpkgdir) if (-d "$tlpkgdir");
-+ }
-+ }
-+ # we don't want to have wrong information in the tlpdb, so remove the
-+ # src/doc files if they are not installed ...
-+ if (!$opt_src) {
-+ $tlpobj->clear_srcfiles;
-+ }
-+ if (!$real_opt_doc) {
-+ $tlpobj->clear_docfiles;
-+ }
-+ # if a package is relocatable we have to cancel the reloc prefix
-+ # and unset the relocated setting
-+ # before we save it to the local tlpdb
-+ if ($tlpobj->relocated) {
-+ $tlpobj->cancel_reloc_prefix;
-+ $tlpobj->relocated(0);
-+ }
-+ # we have to write out the tlpobj file since it is contained in the
-+ # archives (.tar.xz) 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
-+ TeXLive::TLUtils::announce_execute_actions("enable", $tlpobj);
-+ if (!$nopostinstall) {
-+ # do the postinstallation actions
-+ #
-+ # Run the post installation code in the postaction tlpsrc entries
-+ # in case we are on w32 and the admin did install for himself only
-+ # we switch off admin mode
-+ if (win32() && admin() && !$totlpdb->option("w32_multi_user")) {
-+ non_admin();
-+ }
-+ # for now desktop_integration maps to both installation
-+ # of desktop shortcuts and menu items, but we can split them later
-+ &TeXLive::TLUtils::do_postaction("install", $tlpobj,
-+ $totlpdb->option("file_assocs"),
-+ $totlpdb->option("desktop_integration"),
-+ $totlpdb->option("desktop_integration"),
-+ $totlpdb->option("post_code"));
-+ }
-+ }
-+ return 1;
-+}
-+
-+#
-+# _install_package
-+# actually does the installation work
-+# returns 1 on success and 0 on error
-+#
-+sub _install_package {
-+ my ($self, $what, $reloc, $filelistref, $totlpdb) = @_;
-+
-+ my $media = $self->media;
-+ my $target = $totlpdb->root;
-+ my $tempdir = "$target/temp";
-+
-+ my @filelist = @$filelistref;
-+
-+ # we assume that $::progs has been set up!
-+ my $wget = $::progs{'wget'};
-+ my $xzdec = $::progs{'xzdec'};
-+ if (!defined($wget) || !defined($xzdec)) {
-+ tlwarn("_install_package: programs not set up properly, strange.\n");
-+ return(0);
-+ }
-+
-+ if (ref $what) {
-+ # we are getting a ref to a list of files, so install from DVD
-+ my $root = $self->root;
-+ foreach my $file (@$what) {
-+ # @what is taken, not @filelist!
-+ # is this still needed?
-+ my $dn=dirname($file);
-+ mkdirhier("$target/$dn");
-+ TeXLive::TLUtils::copy "$root/$file", "$target/$dn";
-+ }
-+ # we always assume that copy will work
-+ return(1);
-+ } elsif ($what =~ m,\.tar(\.xz)?$,) {
-+ my $type = defined($1) ? "xz" : "tar";
-+
-+ $target .= "/$TeXLive::TLConfig::RelocTree" if $reloc;
-+
-+ # this is the case when we install from local_compressed or the NET, or a backup
-+ #
-+ # in all other cases we create temp files .tar.xz (or use the present
-+ # one), xzdec them, and then call tar
-+
-+ my $fn = basename($what);
-+ my $pkg = $fn;
-+ $pkg =~ s/\.tar(\.xz)?$//;
-+ mkdirhier("$tempdir");
-+ my $tarfile;
-+ my $remove_tarfile = 1;
-+ if ($type eq "xz") {
-+ my $xzfile = "$tempdir/$fn";
-+ $tarfile = "$tempdir/$fn"; $tarfile =~ s/\.xz$//;
-+ my $xzfile_quote = $xzfile;
-+ my $tarfile_quote = $tarfile;
-+ my $target_quote = $target;
-+ if (win32()) {
-+ $xzfile =~ s!/!\\!g;
-+ $xzfile_quote = "\"$xzfile\"";
-+ $tarfile =~ s!/!\\!g;
-+ $tarfile_quote = "\"$tarfile\"";
-+ $target =~ s!/!\\!g;
-+ $target_quote = "\"$target\"";
-+ }
-+ if ($what =~ m,http://|ftp://,) {
-+ # we are installing from the NET
-+ # download the file and put it into temp
-+ if (!download_file($what, $xzfile) || (! -r $xzfile)) {
-+ tlwarn("Downloading \n");
-+ tlwarn(" $what\n");
-+ tlwarn("did not succeed, please retry.\n");
-+ unlink($tarfile, $xzfile);
-+ return(0);
-+ }
-+ } else {
-+ # we are installing from local compressed files
-+ # copy it to temp
-+ TeXLive::TLUtils::copy($what, $tempdir);
-+ }
-+ debug("un-xzing $xzfile to $tarfile\n");
-+ system("$xzdec < $xzfile_quote > $tarfile_quote");
-+ if (! -f $tarfile) {
-+ tlwarn("_install_package: Unpacking $xzfile failed, please retry.\n");
-+ unlink($tarfile, $xzfile);
-+ return(0);
-+ }
-+ unlink($xzfile);
-+ } else {
-+ $tarfile = "$tempdir/$fn";
-+ if ($what =~ m,http://|ftp://,) {
-+ if (!download_file($what, $tarfile) || (! -r $tarfile)) {
-+ tlwarn("Downloading \n");
-+ tlwarn(" $what\n");
-+ tlwarn("failed, please retry.\n");
-+ unlink($tarfile);
-+ return(0);
-+ }
-+ } else {
-+ $tarfile = $what;
-+ $remove_tarfile = 0;
-+ }
-+ }
-+ my $ret = TeXLive::TLUtils::untar($tarfile, $target, $remove_tarfile);
-+ # remove the $pkg.tlpobj, we recreate it anyway again
-+ unlink ("$target/tlpkg/tlpobj/$pkg.tlpobj")
-+ if (-r "$target/tlpkg/tlpobj/$pkg.tlpobj");
-+ return $ret;
-+ } else {
-+ tlwarn("_install_package: Don't know how to install $what\n");
-+ return(0);
-+ }
-+}
-+
- =pod
-
-+=item << $tlpdb->remove_package($pkg, %options) >>
-+
-+removes a single pacakge with all the files and the entry in the db.
-+
-+=cut
-+
-+#
-+# remove_package removes a single package with all files (including the
-+# # tlpobj files) and the entry from the tlpdb.
-+sub remove_package {
-+ my ($self, $pkg, %opts) = @_;
-+ my $localtlpdb = $self;
-+ my $tlp = $localtlpdb->get_package($pkg);
-+ if (!defined($tlp)) {
-+ tlwarn ("$pkg: package not present, cannot remove\n");
-+ } else {
-+ my $currentarch = $self->platform();
-+ if ($pkg eq "texlive.infra" || $pkg eq "texlive.infra.$currentarch") {
-+ log ("Not removing $pkg, it is essential!\n");
-+ return 0;
-+ }
-+ # we have to chdir to $localtlpdb->root
-+ my $Master = $localtlpdb->root;
-+ chdir ($Master) || die "chdir($Master) failed: $!";
-+ my @files = $tlp->all_files;
-+ # also remove the .tlpobj file
-+ push @files, "tlpkg/tlpobj/$pkg.tlpobj";
-+ # and the ones from src/doc splitting
-+ if (-r "tlpkg/tlpobj/$pkg.source.tlpobj") {
-+ push @files, "tlpkg/tlpobj/$pkg.source.tlpobj";
-+ }
-+ if (-r "tlpkg/tlpobj/$pkg.doc.tlpobj") {
-+ push @files, "tlpkg/tlpobj/$pkg.doc.tlpobj";
-+ }
-+ #
-+ # some packages might be relocated, thus having the RELOC prefix
-+ # in user mode we just remove the prefix, in normal mode we
-+ # replace it with texmf-dist
-+ # since we don't have user mode
-+ if ($tlp->relocated) {
-+ for (@files) {
-+ s:^$RelocPrefix/:$RelocTree/:;
-+ }
-+ }
-+ #
-+ # we want to check that a file is only listed in one package, so
-+ # in case that a file to be removed is listed in another package
-+ # we will warn and *not* remove it
-+ my %allfiles;
-+ for my $p ($localtlpdb->list_packages) {
-+ next if ($p eq $pkg); # we have to skip the to be removed package
-+ for my $f ($localtlpdb->get_package($p)->all_files) {
-+ $allfiles{$f} = $p;
-+ }
-+ }
-+ my @goodfiles = ();
-+ my @badfiles = ();
-+ my @debugfiles = ();
-+ for my $f (@files) {
-+ # in usermode we have to add texmf-dist again for comparison
-+ if (defined($allfiles{$f})) {
-+ # this file should be removed but is mentioned somewhere, too
-+ # take into account if we got a warn list
-+ if (defined($opts{'remove-warn-files'})) {
-+ my %a = %{$opts{'remove-warn-files'}};
-+ if (defined($a{$f})) {
-+ push @badfiles, $f;
-+ } else {
-+ # NO NOTHING HERE!!!
-+ # DON'T PUSH IT ON @goodfiles, it will be removed, which we do
-+ # NOT want. We only want to supress the warning!
-+ push @debugfiles, $f;
-+ }
-+ } else {
-+ push @badfiles, $f;
-+ }
-+ } else {
-+ push @goodfiles, $f;
-+ }
-+ }
-+ if ($#debugfiles >= 0) {
-+ debug("The following files will not be removed due to the removal of $pkg.\n");
-+ debug("But we do not warn on it because they are moved to other packages.\n");
-+ for my $f (@debugfiles) {
-+ debug(" $f - $allfiles{$f}\n");
-+ }
-+ }
-+ if ($#badfiles >= 0) {
-+ # warn the user
-+ tlwarn("The following files should be removed due to the removal of $pkg,\n");
-+ tlwarn("but are part of another package, too.\n");
-+ for my $f (@badfiles) {
-+ tlwarn(" $f - $allfiles{$f}\n");
-+ }
-+ }
-+ #
-+ # Run only the postaction code thing now since afterwards the
-+ # files will be gone ...
-+ if (defined($opts{'nopostinstall'}) && $opts{'nopostinstall'}) {
-+ &TeXLive::TLUtils::do_postaction("remove", $tlp,
-+ 0, # option_file_assocs,
-+ 0, # option_desktop_integration, menu part
-+ 0, # option_desktop_integration, desktop part
-+ $localtlpdb->option("post_code"));
-+ }
-+ #
-+ my @removals = &TeXLive::TLUtils::removed_dirs (@goodfiles);
-+ # now do the removal
-+ for my $entry (@goodfiles) {
-+ unlink $entry;
-+ }
-+ for my $d (@removals) {
-+ rmdir $d;
-+ }
-+ $localtlpdb->remove_tlpobj($pkg);
-+ TeXLive::TLUtils::announce_execute_actions("disable", $tlp);
-+ # should we save at each removal???
-+ # advantage: the tlpdb actually reflects what is installed
-+ # disadvantage: removing a collection calls the save routine several times
-+ # still I consider it better that the tlpdb is in a consistent state
-+ $localtlpdb->save;
-+ #
-+ # Run the post installation code in the postaction tlpsrc entries
-+ # in case we are on w32 and the admin did install for himself only
-+ # we switch off admin mode
-+ if (win32() && admin() && !$localtlpdb->option("w32_multi_user")) {
-+ non_admin();
-+ }
-+ #
-+ # Run the post installation code in the postaction tlpsrc entries
-+ # the postaction code part cannot be evaluated now since the
-+ # files are already removed.
-+ # Again, desktop integration maps to desktop and menu links
-+ if (!$nopostinstall) {
-+ &TeXLive::TLUtils::do_postaction("remove", $tlp,
-+ $localtlpdb->option("file_assocs"),
-+ $localtlpdb->option("desktop_integration"),
-+ $localtlpdb->option("desktop_integration"),
-+ 0);
-+ }
-+ }
-+ return 1;
-+}
-+
-+
-+=pod
-+
- =item C<< $tlpdb->option($key [, $val]) >>
- =item C<< $tlpdb->setting($key [, $val]) >>
-
-@@ -1080,7 +1570,7 @@
- }
- }
- $pkg->depends(@newdeps);
-- $self->{'tlps'}{$pkgname} = $pkg;
-+ $self->add_tlpobj($pkg);
- }
-
- sub _option_value {
-Index: texmf/scripts/texlive/tlmgr.pl
-===================================================================
---- texmf/scripts/texlive/tlmgr.pl (revision 22215)
-+++ texmf/scripts/texlive/tlmgr.pl (working copy)
-@@ -77,7 +77,6 @@
- use strict;
-
- use TeXLive::TLConfig;
--use TeXLive::TLMedia;
- use TeXLive::TLPDB;
- use TeXLive::TLPOBJ;
- use TeXLive::TLUtils;
-@@ -92,10 +91,8 @@
- binmode(STDERR, ":utf8");
-
- our %config; # hash of config settings from config file
--our $tlmediasrc; # media from which we install/update
--our $tlmediatlpdb;
-+our $remotetlpdb;
- our $location; # location from which the new packages come
--our $localtlmedia; # local installation which we are munging
- our $localtlpdb; # local installation which we are munging
-
- # flags for machine-readable form
-@@ -412,7 +409,6 @@
- $::version_string .= "\nTLUtils: " . TeXLive::TLUtils->module_revision();
- $::version_string .= "\nTLPOBJ: " . TeXLive::TLPOBJ->module_revision();
- $::version_string .= "\nTLPDB: " . TeXLive::TLPDB->module_revision();
-- $::version_string .= "\nTLMedia: " . TeXLive::TLMedia->module_revision();
- $::version_string .= "\nTLPaper: " . TeXLive::TLPaper->module_revision();
- $::version_string .= "\nTLWinGoo: " . TeXLive::TLWinGoo->module_revision();
- $::version_string .= "\n";
-@@ -830,7 +826,7 @@
- my $foo = 0;
- info ("remove $pkg\n");
- if (!$opts{"dry-run"}) {
-- $foo = $localtlmedia->remove_package($pkg);
-+ $foo = $localtlpdb->remove_package($pkg);
- logpackage("remove: $pkg");
- }
- if ($foo) {
-@@ -851,7 +847,7 @@
- if (!defined($already_removed{$pkg})) {
- info ("remove $pkg\n");
- if (!$opts{"dry-run"}) {
-- if ($localtlmedia->remove_package($pkg)) {
-+ if ($localtlpdb->remove_package($pkg)) {
- # removal was successful
- logpackage("remove: $pkg");
- $already_removed{$pkg} = 1;
-@@ -942,11 +938,11 @@
- my $tlp = $localtlpdb->get_package($pkg);
- my $installed = 0;
- if (!$tlp) {
-- if (!$tlmediatlpdb) {
-+ if (!$remotetlpdb) {
- init_tlmedia();
- }
-- $tlp = $tlmediatlpdb->get_package($pkg);
-- $tlpdb = $tlmediatlpdb;
-+ $tlp = $remotetlpdb->get_package($pkg);
-+ $tlpdb = $remotetlpdb;
- } else {
- $installed = 1;
- }
-@@ -956,10 +952,10 @@
- @colls = $localtlpdb->needed_by($pkg);
- if (!@colls) {
- # not referenced in the local tlpdb, so try the remote here, too
-- if (!$tlmediatlpdb) {
-+ if (!$remotetlpdb) {
- init_tlmedia();
- }
-- @colls = $tlmediatlpdb->needed_by($pkg);
-+ @colls = $remotetlpdb->needed_by($pkg);
- }
- }
- # some packages might depend on other packages, so do not
-@@ -1101,7 +1097,7 @@
- # - if non-admin
- # --> ignore opt_w32_multi_user and do user path adjustment
- if (!$opts{"w32mode"}) {
-- $winadminmode = $localtlmedia->tlpdb->option("w32_multi_user");
-+ $winadminmode = $localtlpdb->option("w32_multi_user");
- if (!TeXLive::TLWinGoo::admin()) {
- if ($winadminmode) {
- tlwarn("The TLPDB specifies system wide path adjustments\nbut you don't have admin privileges.\nFor user path adjustment please use\n\t--w32mode user\n");
-@@ -1139,29 +1135,29 @@
- if ($what =~ m/^add$/i) {
- if (win32()) {
- TeXLive::TLUtils::w32_add_to_path(
-- $localtlmedia->location . "/bin/win32",
-+ $localtlpdb->root . "/bin/win32",
- $winadminmode);
- TeXLive::TLWinGoo::broadcast_env();
- } else {
-- TeXLive::TLUtils::add_symlinks($localtlmedia->tlpdb->root,
-- $localtlmedia->platform(),
-- $localtlmedia->tlpdb->option("sys_bin"),
-- $localtlmedia->tlpdb->option("sys_man"),
-- $localtlmedia->tlpdb->option("sys_info"));
-+ TeXLive::TLUtils::add_symlinks($localtlpdb->root,
-+ $localtlpdb->platform(),
-+ $localtlpdb->option("sys_bin"),
-+ $localtlpdb->option("sys_man"),
-+ $localtlpdb->option("sys_info"));
- }
- } elsif ($what =~ m/^remove$/i) {
- if (win32()) {
- TeXLive::TLUtils::w32_remove_from_path(
-- $localtlmedia->location . "/bin/win32",
-+ $localtlpdb->root . "/bin/win32",
- $winadminmode);
- TeXLive::TLWinGoo::broadcast_env();
- } else {
- # remove symlinks
-- TeXLive::TLUtils::remove_symlinks($localtlmedia->tlpdb->root,
-- $localtlmedia->platform(),
-- $localtlmedia->tlpdb->option("sys_bin"),
-- $localtlmedia->tlpdb->option("sys_man"),
-- $localtlmedia->tlpdb->option("sys_info"));
-+ TeXLive::TLUtils::remove_symlinks($localtlpdb->root,
-+ $localtlpdb->platform(),
-+ $localtlpdb->option("sys_bin"),
-+ $localtlpdb->option("sys_man"),
-+ $localtlpdb->option("sys_info"));
- }
- } else {
- # that should not happen
-@@ -1251,7 +1247,7 @@
- init_local_db();
- if ($opts{"global"}) {
- init_tlmedia();
-- $tlpdb = $tlmediasrc->tlpdb;
-+ $tlpdb = $remotetlpdb;
- } else {
- $tlpdb = $localtlpdb;
- }
-@@ -1409,8 +1405,8 @@
- tlwarn("Cannot read $restore_file, no action taken\n");
- return;
- }
-- $localtlmedia->remove_package($pkg);
-- TeXLive::TLMedia->_install_package($restore_file , 0, [] ,$localtlpdb);
-+ $localtlpdb->remove_package($pkg);
-+ TeXLive::TLPDB->_install_package($restore_file , 0, [] ,$localtlpdb);
- logpackage("restore: $pkg ($rev)");
- # now we have to read the .tlpobj file and add it to the DB
- my $tlpobj = TeXLive::TLPOBJ->new;
-@@ -1713,18 +1709,17 @@
- my ($restart_tlmgr, $ref_files_to_be_removed, @w32_updated) = @_;
- my @infra_files_to_be_removed = @$ref_files_to_be_removed;
- # TODO do something with these files TODO
-- my $media = $tlmediasrc->media;
-- my $mediatlpdb = $tlmediasrc->tlpdb;
-+ my $media = $remotetlpdb->media;
- # we have to download/copy also the src/doc files if necessary!
-- my $container_src_split = $mediatlpdb->config_src_container;
-- my $container_doc_split = $mediatlpdb->config_doc_container;
-+ my $container_src_split = $remotetlpdb->config_src_container;
-+ my $container_doc_split = $remotetlpdb->config_doc_container;
- # get options about src/doc splitting from $totlpdb
- # TT: should we use local options to decide about install of doc & src?
- my $opt_src = $localtlpdb->option("install_srcfiles");
- my $opt_doc = $localtlpdb->option("install_docfiles");
- my $root = $localtlpdb->root;
- my $temp = "$root/temp";
-- my $repo = $mediatlpdb->root . "/$Archive";
-+ my $repo = $remotetlpdb->root . "/$Archive";
- TeXLive::TLUtils::mkdirhier($temp);
- tlwarn("Backup option not implemented for infrastructure update.\n") if ($opts{"backup"});
- if ($media eq 'local_uncompressed') {
-@@ -1734,7 +1729,7 @@
- }
- my (@upd_tar, @upd_tlpobj, @upd_info, @rst_tar, @rst_tlpobj, @rst_info);
- foreach my $pkg (@w32_updated) {
-- my $mediatlp = $mediatlpdb->get_package($pkg);
-+ my $mediatlp = $remotetlpdb->get_package($pkg);
- my $localtlp = $localtlpdb->get_package($pkg);
- my $oldrev = $localtlp->revision;
- my $newrev = $mediatlp->revision;
-@@ -1913,15 +1908,15 @@
- #
- my @all_schmscolls = ();
- for my $p ($localtlpdb->schemes) {
-- push (@all_schmscolls, $p) if defined($tlmediatlpdb->get_package($p));
-+ push (@all_schmscolls, $p) if defined($remotetlpdb->get_package($p));
- }
- for my $p ($localtlpdb->collections) {
-- push (@all_schmscolls, $p) if defined($tlmediatlpdb->get_package($p));
-+ push (@all_schmscolls, $p) if defined($remotetlpdb->get_package($p));
- }
- my @localexpansion_full =
- $localtlpdb->expand_dependencies($localtlpdb, @all_schmscolls);
- my @remoteexpansion_full =
-- $tlmediatlpdb->expand_dependencies($localtlpdb, @all_schmscolls);
-+ $remotetlpdb->expand_dependencies($localtlpdb, @all_schmscolls);
-
- # compute new/remove/forcerm based on the full expansions
- for my $p (@remoteexpansion_full) {
-@@ -1942,7 +1937,7 @@
- # intersection, don't check A\B and B\A
- next if $newpkgs_full{$p};
- next if $removals_full{$p};
-- next if ($tlmediatlpdb->get_package($p)->category ne "Collection");
-+ next if ($remotetlpdb->get_package($p)->category ne "Collection");
- my $tlp = $localtlpdb->get_package($p);
- if (!defined($tlp)) {
- if ($opts{"reinstall-forcibly-removed"}) {
-@@ -1956,7 +1951,7 @@
- # forcibly removed. Again, expand those against the remote tlpdb
- # and remove the expanded packages from the list of localexpansion.
- my @pkgs_from_forcerm_colls =
-- $tlmediatlpdb->expand_dependencies($localtlpdb, keys %forcermpkgs_full);
-+ $remotetlpdb->expand_dependencies($localtlpdb, keys %forcermpkgs_full);
- #
- # the package in @pkgs_from_forcerm_colls would be auto-installed, so
- # check for that:
-@@ -2033,7 +2028,7 @@
- # tlmgr update --no-depends-at-all foo
- # will absolutely only update foo not even taking .ARCH into account
- #
--# TLMedia->install_package INSTALLS ONLY ONE PACKAGE, no deps whatsoever
-+# TLPDB->install_package INSTALLS ONLY ONE PACKAGE, no deps whatsoever
- # anymore. That has all to be done by hand.
- #
- sub machine_line {
-@@ -2083,7 +2078,7 @@
-
- # check for updates to tlmgr and die unless either --force or --list or --self
- # is given
-- my @critical = check_for_critical_updates($localtlpdb, $tlmediatlpdb);
-+ my @critical = check_for_critical_updates($localtlpdb, $remotetlpdb);
- my $dry_run_cont = $opts{"dry-run"} && ($opts{"dry-run"} < 0);
- if ( !$dry_run_cont && !$opts{"self"} && @critical) {
- critical_updates_warning();
-@@ -2185,11 +2180,11 @@
-
- if (!($opts{"self"} && @critical) || ($opts{"self"} && $opts{"list"})) {
- # update all .ARCH dependencies, too, unless $opts{"no-depends-at-all"}:
-- @todo = $tlmediatlpdb->expand_dependencies("-only-arch", $localtlpdb, @todo)
-+ @todo = $remotetlpdb->expand_dependencies("-only-arch", $localtlpdb, @todo)
- unless $opts{"no-depends-at-all"};
- #
- # update general deps unless $opts{"no-depends"}:
-- @todo = $tlmediatlpdb->expand_dependencies("-no-collections",$localtlpdb,@todo)
-+ @todo = $remotetlpdb->expand_dependencies("-no-collections",$localtlpdb,@todo)
- unless $opts{"no-depends"};
- #
- # filter out critical packages
-@@ -2298,7 +2293,7 @@
- next;
- }
- # install new packages
-- my $mediatlp = $tlmediatlpdb->get_package($pkg);
-+ my $mediatlp = $remotetlpdb->get_package($pkg);
- if (!defined($mediatlp)) {
- tlwarn("\nShould not happen: $pkg not found in $location");
- next;
-@@ -2308,7 +2303,7 @@
- next;
- }
- my $rev = $tlp->revision;
-- my $mediatlp = $tlmediatlpdb->get_package($pkg);
-+ my $mediatlp = $remotetlpdb->get_package($pkg);
- if (!defined($mediatlp)) {
- debug("$pkg cannot be found in $location\n");
- next;
-@@ -2360,7 +2355,7 @@
- # get something wrong back, namely the total size of all packages
- my %sizes;
- if (@alltodo) {
-- %sizes = %{$tlmediatlpdb->sizes_of_packages(
-+ %sizes = %{$remotetlpdb->sizes_of_packages(
- $localtlpdb->option("install_srcfiles"),
- $localtlpdb->option("install_docfiles"), @alltodo)};
- } else {
-@@ -2394,7 +2389,7 @@
- }
- }
- for my $p (@updated, @new) {
-- my $pkg = $tlmediatlpdb->get_package($p);
-+ my $pkg = $remotetlpdb->get_package($p);
- tlwarn("Should not happen: $p not found in $location\n") if (!$pkg);
- next;
- for my $f ($pkg->all_files) {
-@@ -2438,7 +2433,7 @@
- info("not removing $p due to -no-auto-remove (removed on server)\n");
- } else {
- &ddebug("removing package $p\n");
-- my $pkg = $localtlmedia->tlpdb->get_package($p);
-+ my $pkg = $localtlpdb->get_package($p);
- if (! $pkg) {
- # This happened when a collection was removed by the user,
- # and then renamed on the server, e.g., collection-langarab ->
-@@ -2476,7 +2471,7 @@
- clear_old_backups($p, $opts{"backupdir"}, $autobackup);
- }
- }
-- $localtlmedia->remove_package($p);
-+ $localtlpdb->remove_package($p);
- logpackage("remove: $p");
- }
- $currnr++;
-@@ -2572,7 +2567,7 @@
- my $unwind_package;
- my $remove_unwind_container = 0;
- my $rev = $tlp->revision;
-- my $mediatlp = $tlmediatlpdb->get_package($pkg);
-+ my $mediatlp = $remotetlpdb->get_package($pkg);
- if (!defined($mediatlp)) {
- debug("$pkg cannot be found in $location\n");
- next;
-@@ -2666,10 +2661,10 @@
- if ($pkg =~ m/$CriticalPackagesRegexp/) {
- debug("Not removing critical package $pkg\n");
- } else {
-- $localtlmedia->remove_package($pkg,
-+ $localtlpdb->remove_package($pkg,
- "remove-warn-files" => \%do_warn_on_move);
- }
-- if ($tlmediasrc->install_package($pkg, $localtlpdb)) {
-+ if ($remotetlpdb->install_package($pkg, $localtlpdb)) {
- # installation succeeded because we got a reference
- logpackage("update: $pkg ($rev -> $mediarev)");
- unlink($unwind_package) if $remove_unwind_container;
-@@ -2713,8 +2708,8 @@
- $remove_unwind_container = 1;
- $unwind_package = $newname;
- }
-- my $instret = TeXLive::TLMedia->_install_package("$unwind_package", 0,
-- [], $localtlpdb);
-+ my $instret = TeXLive::TLPDB->_install_package("$unwind_package", 0,
-+ [], $localtlpdb);
- if ($instret) {
- # now we have to include the tlpobj
- my $tlpobj = TeXLive::TLPOBJ->new;
-@@ -2740,7 +2735,7 @@
- unless $::machinereadable;
- } else {
- # install new packages
-- my $mediatlp = $tlmediatlpdb->get_package($pkg);
-+ my $mediatlp = $remotetlpdb->get_package($pkg);
- if (!defined($mediatlp)) {
- tlwarn("\nShould not happen: $pkg not found in $location");
- next;
-@@ -2768,7 +2763,7 @@
- $currnr++;
- $donesize += $sizes{$pkg};
- next if ($opts{"dry-run"} || $opts{"list"});
-- if ($tlmediasrc->install_package($pkg, $localtlpdb)) {
-+ if ($remotetlpdb->install_package($pkg, $localtlpdb)) {
- # installation succeeded because we got a reference
- logpackage("auto-install new: $pkg ($mediarev)");
- $nrupdated++;
-@@ -2797,11 +2792,11 @@
- my $newtlp;
- if ($updated{$pkg}) {
- $oldtlp = $localtlpdb->get_package($pkg);
-- $newtlp = $tlmediatlpdb->get_package($pkg);
-+ $newtlp = $remotetlpdb->get_package($pkg);
- } else {
- # update failed but we could introduce new files, that
- # should be removed now as a part of restoring backup
-- $oldtlp = $tlmediatlpdb->get_package($pkg);
-+ $oldtlp = $remotetlpdb->get_package($pkg);
- $newtlp = $localtlpdb->get_package($pkg);
- }
- die ("That shouldn't happen: $pkg not found in tlpdb") if !defined($newtlp);
-@@ -2897,8 +2892,8 @@
- if ($opts{"dry-run"} && !$opts{"list"} && $restart_tlmgr) {
- $opts{"self"} = 0;
- $opts{"dry-run"} = -1;
-- $localtlmedia = undef;
-- $tlmediatlpdb = undef;
-+ $localtlpdb = undef;
-+ $remotetlpdb = undef;
- info ("Restarting tlmgr to complete update ...\n");
- action_update();
- return;
-@@ -2908,7 +2903,7 @@
- # warn if nothing is updated.
- if (!(@new || @updated)) {
- info("tlmgr: no updates available\n");
-- if ($tlmediasrc->media ne "NET"
-+ if ($remotetlpdb->media ne "NET"
- && !$opts{"dry-run"}
- && !$opts{"repository"}
- ) {
-@@ -2948,18 +2943,18 @@
- # . it does not care for whether a package seems to be installed or
- # not (that is the --reinstall)
- #
--# TLMedia->install_package does ONLY INSTALL ONE PACKAGE, no deps whatsoever
-+# TLPDB->install_package does ONLY INSTALL ONE PACKAGE, no deps whatsoever
- # anymore! That has all to be done by hand.
- #
- sub action_install {
- init_local_db(1);
- return if !check_on_writable();
-- # initialize the TLMedia from $location
-+ # initialize the TLPDB from $location
- $opts{"no-depends"} = 1 if $opts{"no-depends-at-all"};
- init_tlmedia();
-
- # check for updates to tlmgr itself, and die unless --force is given
-- if (check_for_critical_updates( $localtlpdb, $tlmediatlpdb)) {
-+ if (check_for_critical_updates( $localtlpdb, $remotetlpdb)) {
- critical_updates_warning();
- if ($opts{"force"}) {
- tlwarn("Continuing due to --force\n");
-@@ -2978,13 +2973,13 @@
-
- my @packs = @ARGV;
- # first expand the .ARCH dependencies unless $opts{"no-depends-at-all"}
-- @packs = $tlmediatlpdb->expand_dependencies("-only-arch", $localtlpdb, @ARGV) unless $opts{"no-depends-at-all"};
-+ @packs = $remotetlpdb->expand_dependencies("-only-arch", $localtlpdb, @ARGV) unless $opts{"no-depends-at-all"};
- # now expand all others unless $opts{"no-depends"}
- # if $opts{"reinstall"} do not collection->collection dependencies
- if ($opts{"reinstall"}) {
-- @packs = $tlmediatlpdb->expand_dependencies("-no-collections", $localtlpdb, @packs) unless $opts{"no-depends"};
-+ @packs = $remotetlpdb->expand_dependencies("-no-collections", $localtlpdb, @packs) unless $opts{"no-depends"};
- } else {
-- @packs = $tlmediatlpdb->expand_dependencies($localtlpdb, @packs) unless $opts{"no-depends"};
-+ @packs = $remotetlpdb->expand_dependencies($localtlpdb, @packs) unless $opts{"no-depends"};
- }
- #
- # installation order of packages:
-@@ -3013,7 +3008,7 @@
- my @todo;
- for my $pkg (@inst_packs, @inst_colls, @inst_schemes) {
- my $pkgrev = 0;
-- my $mediatlp = $tlmediatlpdb->get_package($pkg);
-+ my $mediatlp = $remotetlpdb->get_package($pkg);
- if (!defined($mediatlp)) {
- tlwarn("package $pkg not present in package repository.\n");
- next;
-@@ -3036,7 +3031,7 @@
- return if (!@todo);
-
- my $currnr = 1;
-- my %sizes = %{$tlmediatlpdb->sizes_of_packages(
-+ my %sizes = %{$remotetlpdb->sizes_of_packages(
- $localtlpdb->option("install_srcfiles"),
- $localtlpdb->option("install_docfiles"), @todo)};
- defined($sizes{'__TOTAL__'}) || ($sizes{'__TOTAL__'} = 0);
-@@ -3067,7 +3062,7 @@
- info("[$currnr/$totalnr, $estrem/$esttot] ${re}install: $pkg [${kb}k]\n");
- }
- if (!$opts{"dry-run"}) {
-- $tlmediasrc->install_package($pkg, $localtlpdb);
-+ $remotetlpdb->install_package($pkg, $localtlpdb);
- logpackage("${re}install: $pkg");
- }
- $donesize += $sizes{$pkg};
-@@ -3098,18 +3093,18 @@
- }
- my $tlm;
- if ($opts{"only-installed"}) {
-- $tlm = $localtlmedia;
-+ $tlm = $localtlpdb;
- } else {
- init_tlmedia();
-- $tlm = $tlmediasrc;
-+ $tlm = $remotetlpdb;
- }
- my @whattolist;
- if ($what =~ m/^collection/i) {
-- @whattolist = $tlm->tlpdb->collections;
-+ @whattolist = $tlm->collections;
- } elsif ($what =~ m/^scheme/i) {
-- @whattolist = $tlm->tlpdb->schemes;
-+ @whattolist = $tlm->schemes;
- } else {
-- @whattolist = $tlm->tlpdb->list_packages;
-+ @whattolist = $tlm->list_packages;
- }
- foreach (@whattolist) {
- next if ($_ =~ m/^00texlive/);
-@@ -3118,7 +3113,7 @@
- } else {
- print " ";
- }
-- my $foo = $tlm->tlpdb->get_package($_)->shortdesc;
-+ my $foo = $tlm->get_package($_)->shortdesc;
- print "$_: ", defined($foo) ? $foo : "(shortdesc missing)" , "\n";
- }
- return;
-@@ -3311,12 +3306,11 @@
- $what || ($what = "list");
- if ($what =~ m/^list$/i) {
- # list the available platforms
-- # initialize the TLMedia from $location
-+ # initialize the TLPDB from $location
- init_tlmedia();
-- my $mediatlpdb = $tlmediasrc->tlpdb;
- my @already_installed_arch = $localtlpdb->available_architectures;
- print "Available platforms:\n";
-- foreach my $a ($mediatlpdb->available_architectures) {
-+ foreach my $a ($remotetlpdb->available_architectures) {
- if (member($a,@already_installed_arch)) {
- print "(i) $a\n";
- } else {
-@@ -3329,9 +3323,8 @@
- } elsif ($what =~ m/^add$/i) {
- return if !check_on_writable();
- init_tlmedia();
-- my $mediatlpdb = $tlmediasrc->tlpdb;
- my @already_installed_arch = $localtlpdb->available_architectures;
-- my @available_arch = $mediatlpdb->available_architectures;
-+ my @available_arch = $remotetlpdb->available_architectures;
- my @todoarchs;
- foreach my $a (@ARGV) {
- if (TeXLive::TLUtils::member($a, @already_installed_arch)) {
-@@ -3351,9 +3344,9 @@
- if ($dep =~ m/^(.*)\.ARCH$/) {
- # we have to install something
- foreach my $a (@todoarchs) {
-- if ($tlmediatlpdb->get_package("$pkg.$a")) {
-+ if ($remotetlpdb->get_package("$pkg.$a")) {
- info("install: $pkg.$a\n");
-- $tlmediasrc->install_package("$pkg.$a", $localtlpdb)
-+ $remotetlpdb->install_package("$pkg.$a", $localtlpdb)
- if (!$opts{"dry-run"});
- }
- }
-@@ -3364,7 +3357,7 @@
- # install the necessary w32 stuff
- for my $p (@extra_w32_packs) {
- info("install: $p\n");
-- $tlmediasrc->install_package($p, $localtlpdb) if (!$opts{"dry-run"});
-+ $remotetlpdb->install_package($p, $localtlpdb) if (!$opts{"dry-run"});
- }
- }
- # update the option("available_architectures") list of installed archs
-@@ -3378,7 +3371,7 @@
- return if !check_on_writable();
- my @already_installed_arch = $localtlpdb->available_architectures;
- my @todoarchs;
-- my $currentarch = $localtlmedia->platform();
-+ my $currentarch = $localtlpdb->platform();
- foreach my $a (@ARGV) {
- if (!TeXLive::TLUtils::member($a, @already_installed_arch)) {
- print "Platform $a not installed, use 'tlmgr platform list'!\n";
-@@ -3404,7 +3397,7 @@
- foreach my $a (@todoarchs) {
- if ($localtlpdb->get_package("$pkg.$a")) {
- info("remove: $pkg.$a\n");
-- $localtlmedia->remove_package("$pkg.$a") if (!$opts{"dry-run"});
-+ $localtlpdb->remove_package("$pkg.$a") if (!$opts{"dry-run"});
- }
- }
- }
-@@ -3413,7 +3406,7 @@
- if (TeXLive::TLUtils::member('win32', @todoarchs)) {
- for my $p (@extra_w32_packs) {
- info("remove: $p\n");
-- $localtlmedia->remove_package($p) if (!$opts{"dry-run"});
-+ $localtlpdb->remove_package($p) if (!$opts{"dry-run"});
- }
- }
- if (!$opts{"dry-run"}) {
-@@ -3629,11 +3622,11 @@
- }
- print ("Ok, removing the whole installation:\n");
- init_local_db();
-- TeXLive::TLUtils::remove_symlinks($localtlmedia->tlpdb->root,
-- $localtlmedia->platform(),
-- $localtlmedia->tlpdb->option("sys_bin"),
-- $localtlmedia->tlpdb->option("sys_man"),
-- $localtlmedia->tlpdb->option("sys_info"));
-+ TeXLive::TLUtils::remove_symlinks($localtlpdb->root,
-+ $localtlpdb->platform(),
-+ $localtlpdb->option("sys_bin"),
-+ $localtlpdb->option("sys_man"),
-+ $localtlpdb->option("sys_info"));
- # now do remove the rest
- system("rm", "-rf", "$Master/texmf-dist");
- system("rm", "-rf", "$Master/texmf-doc");
-@@ -3845,7 +3838,7 @@
-
- # if we are on W32, return (no find). We need -use-svn only for
- # checking the live repository on tug, which is not w32.
-- my $arch = $localtlmedia->platform();
-+ my $arch = $localtlpdb->platform();
- return $ret if $arch eq "win32";
-
- # check that all files in the trees are covered.
-@@ -4427,15 +4420,12 @@
- # if the localtlpdb is already defined do simply return here already
- # to make sure that the settings in the local tlpdb do not overwrite
- # stuff changed via the GUI
-- return if defined $localtlmedia;
- return if defined $localtlpdb;
-- $localtlmedia = TeXLive::TLMedia->new ( $Master );
-- die("cannot setup TLMedia in $Master") unless (defined($localtlmedia));
-- $localtlpdb = $localtlmedia->tlpdb;
-- die("cannot find tlpdb in $Master") unless (defined($localtlpdb));
-+ $localtlpdb = TeXLive::TLPDB->new ( root => $Master );
-+ die("cannot setup TLPDB in $Master") unless (defined($localtlpdb));
- # setup the programs, for w32 we need the shipped wget/xz etc, so we
- # pass the location of these files to setup_programs.
-- if (!setup_programs("$Master/tlpkg/installer", $localtlmedia->platform)) {
-+ if (!setup_programs("$Master/tlpkg/installer", $localtlpdb->platform)) {
- tlwarn("Couldn't set up the necessary programs.\nInstallation of packages is not supported.\nPlease report to texlive\@tug.org.\n");
- if (defined($should_i_die) && $should_i_die) {
- finish(1);
-@@ -4471,12 +4461,12 @@
- }
-
-
--# initialize the global $tlmediasrc object, or die.
-+# initialize the global $remotetlpdb object, or die.
- # uses the global $location.
- #
- sub init_tlmedia
- {
-- if (defined($tlmediatlpdb) && ($tlmediatlpdb->root eq $location)) {
-+ if (defined($remotetlpdb) && ($remotetlpdb->root eq $location)) {
- # nothing to be done
- return;
- }
-@@ -4531,8 +4521,8 @@
- END_NO_INTERNET
- # above text duplicated in install-tl
-
-- $tlmediasrc = TeXLive::TLMedia->new(-location => $location,
-- -tlpdbfile => $loc_copy_of_remote_tlpdb);
-+ $remotetlpdb = TeXLive::TLPDB->new(root => $location,
-+ tlpdbfile => $loc_copy_of_remote_tlpdb);
- $local_copy_tlpdb_used = 1;
- } else {
- ddebug("found remote digest: $rem_digest\n");
-@@ -4540,19 +4530,17 @@
- ddebug("rem_copy_digest = $rem_copy_digest\n");
- if ($rem_copy_digest eq $rem_digest) {
- debug("md5 of local copy identical with remote hash\n");
-- $tlmediasrc = TeXLive::TLMedia->new(-location => $location,
-- -tlpdbfile => $loc_copy_of_remote_tlpdb);
-+ $remotetlpdb = TeXLive::TLPDB->new(root => $location,
-+ tlpdbfile => $loc_copy_of_remote_tlpdb);
- $local_copy_tlpdb_used = 1;
- }
- }
- }
- }
- if (!$local_copy_tlpdb_used) {
-- # $tlmediasrc is a global variable
-- $tlmediasrc = TeXLive::TLMedia->new(-location => $location);
-+ $remotetlpdb = TeXLive::TLPDB->new(root => $location);
- }
-- die($loadmediasrcerror . $location) unless defined($tlmediasrc);
-- $tlmediatlpdb = $tlmediasrc->tlpdb;
-+ die($loadmediasrcerror . $location) unless defined($remotetlpdb);
- # we allow a range of years to be specified by the remote tlpdb
- # for which it might work.
- # the lower limit is TLPDB->config_minrelease
-@@ -4563,10 +4551,10 @@
- # might use
- # release/2009-foobar
- # If it should work for 2009 and 2010, please use
-- # release/2010-foobar
- # minrelease/2009-foobar
-- my $texlive_release = $tlmediatlpdb->config_release;
-- my $texlive_minrelease = $tlmediatlpdb->config_minrelease;
-+ # release/2010-foobar
-+ my $texlive_release = $remotetlpdb->config_release;
-+ my $texlive_minrelease = $remotetlpdb->config_minrelease;
- if (!defined($texlive_release)) {
- tldie "The installation repository does not specify a release year for which it was prepared, bailing out.\n";
- }
-@@ -4595,7 +4583,7 @@
- END_BADRANGE
- }
- } else {
-- # $texlive_release not defined, so only one year is valid
-+ # $texlive_minrelease not defined, so only one year is valid
- if ($texlive_release_year != $TeXLive::TLConfig::ReleaseYear) {
- tldie <<END_BADYEAR
- $0: The TeX Live versions of the local installation
-@@ -4608,7 +4596,7 @@
- }
-
- # check for being frozen
-- if ($tlmediatlpdb->option("frozen")) {
-+ if ($remotetlpdb->option("frozen")) {
- my $frozen_msg = <<FROZEN;
- TeX Live $TeXLive::TLConfig::ReleaseYear is frozen forever and will no
- longer be updated. This happens in preparation for a new release.
-@@ -4636,7 +4624,7 @@
- &debug("Cannot save remote TeX Live database to $loc_copy_of_remote_tlpdb: $!\n");
- } else {
- &debug("writing out tlpdb to $loc_copy_of_remote_tlpdb\n");
-- $tlmediatlpdb->writeout($tlfh);
-+ $remotetlpdb->writeout($tlfh);
- close($tlfh);
- }
- }
-Index: texmf/scripts/texlive/tlmgrgui.pl
-===================================================================
---- texmf/scripts/texlive/tlmgrgui.pl (revision 22210)
-+++ texmf/scripts/texlive/tlmgrgui.pl (working copy)
-@@ -53,9 +53,7 @@
- #
- # stuff defined in tlmgr.pl that needs to be our-ed
- our $Master;
--our $tlmediatlpdb;
--our $tlmediasrc;
--our $localtlmedia;
-+our $remotetlpdb;
- our $localtlpdb;
- our $location;
- our %opts;
-@@ -692,10 +690,10 @@
- $tf->Label(-text => $Packages{$p}{'secondary'}),
- -sticky => "nw");
- }
-- if ($tlmediatlpdb) {
-+ if ($remotetlpdb) {
- my @colls;
- if ($tlp->category ne "Collection" && $tlp->category ne "Scheme") {
-- @colls = $tlmediatlpdb->needed_by($tlp->name);
-+ @colls = $remotetlpdb->needed_by($tlp->name);
- }
- @colls = grep {m;^collection-;} @colls;
- if (@colls) {
-@@ -958,12 +956,12 @@
- ############# ARCH HANDLING #####################
-
- sub init_archs {
-- if (!defined($tlmediatlpdb)) {
-+ if (!defined($remotetlpdb)) {
- @archsavail = $localtlpdb->available_architectures;
- } else {
-- @archsavail = $tlmediatlpdb->available_architectures;
-+ @archsavail = $remotetlpdb->available_architectures;
- }
-- $currentarch = $localtlmedia->platform();
-+ $currentarch = $localtlpdb->platform();
- @archsinstalled = $localtlpdb->available_architectures;
- foreach my $a (@archsavail) {
- $archs{$a} = 0;
-@@ -1562,26 +1560,24 @@
-
- sub init_install_media {
- my $newroot = $location;
-- if (defined($tlmediatlpdb) && ($tlmediatlpdb->root eq $newroot)) {
-+ if (defined($remotetlpdb) && ($remotetlpdb->root eq $newroot)) {
- # nothing to be done
- } else {
- $mw->Busy(-recurse => 1);
- info(__("Loading remote TeX Live Database\nThis may take some time, please wait!") . "\n");
-- $tlmediasrc = TeXLive::TLMedia->new($newroot);
-+ $remotetlpdb = TeXLive::TLPDB->new(root => $newroot);
- info(__("Completed") . ".\n");
- $mw->Unbusy;
-- if (!defined($tlmediasrc)) {
-+ if (!defined($remotetlpdb)) {
- # something went badly wrong, maybe the newroot is wrong?
- $mw->Dialog(-title => __("Warning"),
- -text => __("Could not load the TeX Live Database from %s\nIf you want to install or update packages, please try with a different package repository!\n\nFor configuration and removal you don\'t have to do anything.", $newroot),
- -buttons => [ __("Ok") ])->Show;
-- $tlmediatlpdb = undef;
-- $tlmediasrc = undef;
-+ $remotetlpdb = undef;
- update_list_remote();
- update_grid();
- update_loaded_location_string("none");
- } else {
-- $tlmediatlpdb = $tlmediasrc->tlpdb;
- update_list_remote();
- update_grid();
- update_loaded_location_string($location);
-@@ -1871,15 +1867,15 @@
- delete $Packages{$p}{'remoterevision'};
- delete $Packages{$p}{'remotecatalogueversion'};
- }
-- if (defined($tlmediatlpdb)) {
-- for my $p ($tlmediatlpdb->list_packages()) {
-+ if (defined($remotetlpdb)) {
-+ for my $p ($remotetlpdb->list_packages()) {
- # skip 00texlive packages
- next if ($p =~ m!^00texlive!);
- if ($p =~ m;\.;) {
- push @do_later_media, $p;
- next;
- }
-- my $tlp = $tlmediatlpdb->get_package($p);
-+ my $tlp = $remotetlpdb->get_package($p);
- populate_Packages("remote", $tlp);
- }
- }
-@@ -1890,7 +1886,7 @@
- tlerror("very strange, above it matched and now not anymore?!?! $p\n");
- next;
- }
-- my $tlp = $tlmediatlpdb->get_package($p);
-+ my $tlp = $remotetlpdb->get_package($p);
- if (!defined($Packages{$mp})) {
- populate_Packages("remote", $tlp);
- } else {