diff options
author | Norbert Preining <preining@logic.at> | 2012-05-31 18:01:43 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2012-05-31 18:01:43 +0000 |
commit | fc601cee7bd140adb1136ac21a31799bc72d7244 (patch) | |
tree | 7fafec6401894cd2cd44bea994ff9b7a3c736bd7 /Master/tlpkg | |
parent | aeb6accf2eb343657817c3485c0981e3ff46c954 (diff) |
TeXCatalogue: don't stumble is XML parser dies
remove temporara texcatalogue.data and references to it
git-svn-id: svn://tug.org/texlive/trunk@26741 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg')
-rw-r--r-- | Master/tlpkg/TeXLive/TeXCatalogue.pm | 10 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tl-update-tlpdb | 9 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/00texlive.image.tlpsrc | 1 |
3 files changed, 10 insertions, 10 deletions
diff --git a/Master/tlpkg/TeXLive/TeXCatalogue.pm b/Master/tlpkg/TeXLive/TeXCatalogue.pm index 34f7a7f512b..575242d19a6 100644 --- a/Master/tlpkg/TeXLive/TeXCatalogue.pm +++ b/Master/tlpkg/TeXLive/TeXCatalogue.pm @@ -187,7 +187,15 @@ sub initialize { # parse all the files foreach (glob("?/*.xml")) { open(my $io,"<$_") or die "Cannot read $_: $!"; - my $tce = TeXLive::TeXCatalogue::Entry->new( 'ioref' => $io ); + our $tce; + # the XML parser die's on malformed xml entries, so we catch + # that and continue, simply skipping the entry + eval { $tce = TeXLive::TeXCatalogue::Entry->new( 'ioref' => $io ); }; + if ($@) { + printf STDERR "TeX Catalogue: cannot read $_, skipping it!\n"; + close($io); + next; + } close($io); $self->{'entries'}{lc($tce->{'entry'}{'id'})} = $tce; } diff --git a/Master/tlpkg/bin/tl-update-tlpdb b/Master/tlpkg/bin/tl-update-tlpdb index ac8e26aefa0..a445f490f61 100755 --- a/Master/tlpkg/bin/tl-update-tlpdb +++ b/Master/tlpkg/bin/tl-update-tlpdb @@ -72,8 +72,6 @@ sub main { $opt_catalogue = "/home/httpd/html/catalogue" - # non-working dump method: - #$opt_catalogue = "$opt_master/texmf/scripts/texlive/var/texcatalogue.data" if ! $opt_catalogue; if ($opt_dry_run) { @@ -86,13 +84,8 @@ sub main { if (-r $opt_catalogue) { info ("$progname: reading TeX Catalogue $opt_catalogue ...\n"); $tlc = TeXLive::TeXCatalogue->new ("location" => $opt_catalogue); - #my $cat_str = TeXLive::TLUtils::read_file_ignore_cr ($opt_catalogue); - #no strict "refs"; # else eval fails - #eval $cat_str; - #warn "$progname: tlceval: $@" if $@; - #use strict "refs"; } else { - tlwarn("$progname: reusing Catalogue data, since file not readable: " + tlwarn("$progname: reusing Catalogue data, since that is not readable: " . "$opt_catalogue\n"); } diff --git a/Master/tlpkg/tlpsrc/00texlive.image.tlpsrc b/Master/tlpkg/tlpsrc/00texlive.image.tlpsrc index 54c10ef9942..fb363c09052 100644 --- a/Master/tlpkg/tlpsrc/00texlive.image.tlpsrc +++ b/Master/tlpkg/tlpsrc/00texlive.image.tlpsrc @@ -26,4 +26,3 @@ runpattern f texmf/doc/man/man5/Makefile # runpattern f texmf-dist/README # -runpattern f texmf/scripts/texlive/var/texcatalogue.data |