[tex-live] Missing shortdesc (was Re: Catalogue sources)

Alexander Cherepanov cherepan at mccme.ru
Sat Sep 26 20:33:13 CEST 2009


Hi!
On Tue, 08 Sep 2009 10:54:55 +0400, "Alexander Cherepanov" <cherepan at mccme.ru> wrote:

>>> Is it normal that there are no descriptions and catalogue-*
>>> properties for some packages

>> I think not. Probably some problem with our script that tries to
>> associate a TL package name with the catalogue name (a task which
>> is not always obvious).

> Some are easy: different capitalization (SIunits vs. siunits),
> grouping (abstyles vs. abstyles-babel & abstyles-orig). Some are
> harder: algorithm2e and texmate have the same names in texlive.tlpdb
> and in tex catalogue.

[skip]

> here are 306 names in texlive.tlpdb without shortdesc:

It turned out that catalogue entries are accessed by contents of the 
element 'name' which is not very formal and sometimes is buggy. The 
attribute 'id' of the element 'entry' seems more relevant. Patch:

--- TeXCatalogue.pm.orig	2009-09-08 02:43:49.000000000 +0400
+++ TeXCatalogue.pm	2009-09-26 21:30:02.000000000 +0400
@@ -186,7 +186,7 @@
     open(my $io,"<$_") or die "Cannot read $_: $!";
     my $tce = TeXLive::TeXCatalogue::Entry->new( 'ioref' => $io );
     close($io);
-    $self->{'entries'}{$tce->name} = $tce;
+    $self->{'entries'}{$tce->{'entry'}{'id'}} = $tce;
   }
   chdir($cwd) || die ("Cannot change back to $cwd: $!");
 }

Applying this patch gives about 80 more matches (and brings number of 
names without shortdesc from 306 down to 228). Then it's useful to 
force package names to lowercase. Patch:

--- TLPOBJ.pm.orig	2009-09-20 01:40:46.000000000 +0400
+++ TLPOBJ.pm	2009-09-26 22:15:04.000000000 +0400
@@ -745,6 +745,7 @@
       $tlcname = $1;
     }
   }
+  $tlcname = lc($tlcname);
   if (defined($tlc->entries->{$tlcname})) {
     my $entry = $tlc->entries->{$tlcname};
     if (defined($entry->entry->{'date'})) {

This gives 15 more hits (down to 213 misses).

Alexander Cherepanov




More information about the tex-live mailing list