summaryrefslogtreecommitdiff
path: root/Build/tools
diff options
context:
space:
mode:
Diffstat (limited to 'Build/tools')
-rwxr-xr-xBuild/tools/tlpkginfo205
-rwxr-xr-xBuild/tools/tpm-ctan-check2
2 files changed, 1 insertions, 206 deletions
diff --git a/Build/tools/tlpkginfo b/Build/tools/tlpkginfo
deleted file mode 100755
index d1e9d3d377e..00000000000
--- a/Build/tools/tlpkginfo
+++ /dev/null
@@ -1,205 +0,0 @@
-#!/usr/bin/env perl
-# $Id$
-# Return information given a TL package name (i.e., a tpm file name).
-# We use local copies of CTAN and the TeX Catalogue.
-#
-exit (&main ());
-
-sub main
-{
- $CTAN = $ENV{"CTAN"} || "/home/ftp/tex-archive";
- $TMPDIR = $ENV{"TMPDIR"} || "/tmp";
- $CATALOGUE = $ENV{"TEX_CATALOGUE"} || "/home/httpd/html/catalogue/entries";
- -d "$CATALOGUE/k"
- || die "$0: TEX_CATALOGUE ($CATALOGUE) must point to entries/ subdir"
- . " of a TeX Catalogue checkout.\n";
-
- if ($ARGV[0] eq "--ctan-dir") {
- return &find_ctan_dir ($ARGV[1]);
-
- } elsif ($ARGV[0] eq "--ctan-root") {
- print "$CTAN\n";
- return 0;
-
- } else {
- die "Usage: $0 --ctan-dir PKGNAME or --ctan-root (not \"@ARGV\").\n";
- }
-}
-
-
-#
-# Return 0 for success if we find a path (and print it on stdout), else
-# return 1.
-#
-sub find_ctan_dir
-{
- my ($me) = @_;
- return 1 unless $me;
-
- # regrettably, this list of amslatex packages is duplicated in ctan2tl.
- # unavoidable since ctan throws them all together, but we don't want
- # to, to preserve the package-per-directory name.
- if ($me =~ /^(ams|amscls|amsltx2|amsmath|amsrefs)$/) {
- $me = "amslatex";
- }
-
- # use explicit catalogue name if given in tlpsrc.
- $me = &tlpsrc_find_catalogue ($me) || $me;
-
- # The CTAN path to a package is sometimes stored in the TeX Catalogue,
- # but old entries don't have it, etc. Still, we want to use it if present.
- my $ctan_dir = &catalogue_find_ctan_path ($me);
- if (! $ctan_dir) {
- # fall back on many special cases
- (my $menobin = $me) =~ s,^bin-,,;
- (my $menopowerdot = $me) =~ s,^powerdot-,,;
- (my $menotype1 = $me) =~ s,-type1$,,;
-
- for my $dir (
- "macros/latex/contrib/$me", # most everything
- "macros/latex/contrib/\L$me", # HA-prosper
- "macros/latex/contrib/powerdot/contrib/$menopowerdot", # powerdot-doc-vn
- "macros/latex/exptl/$me", # semioneside
- "macros/latex/required/$me", # babel
- "macros/plain/$me", # plnfss
- "macros/xetex/latex/$me", # xetex
- "macros/generic/$me", # abbr
- "macros/generic/diagrams/$me", # circ
- "macros/$me", # eplain
- "support/$me", # thumbpdf
- "support/$menobin", # bin-thumbpdf
- "language/vietnamese/$me/unpacked", # vntex
- "language/hyphenation/$me", # bghyphen
- "language/hebrew/$me", # cjhebrew
- "language/greek/package-babel/$me", # ibycus-babel
- "language/devanagari/$me", # velthuis
- "language/croatian/$me", # hrlatex
- "language/coptic/$me", # cbcoptic
- "info/spanish/$me", # guia-bibtex
- "info/symbols/$me", # comprehensive
- "info/math/voss/$me", # mathmode
- "info/bibtex/$me", # tamethebeast
- "info/$me", # Type1fonts
- "help/$me", # es-tex-faq
- "graphics/$me", # sparklines
- "graphics/metapost/contrib/macros/$me", # mpattern
- "graphics/pstricks/contrib/pedigree/$me", # pst-pdgr
- "graphics/pstricks/contrib/$me", # pstricks-add
- "fonts/$me", # MnSymbol
- "fonts/utilities/$me", # accfonts
- "fonts/ps-type1/$me", # cm-super
- "fonts/ps-type1/$menotype1", # esint-type1
- "fonts/greek/$me", # lfb
- "fonts/gothic/$me", # blacklettert1
- "fonts/cyrillic/$me/texmf", # lh
- "fonts/chess/$me", # skaknew
- "biblio/bibtex/contrib/$me", # dk-bib
- ) {
- if (-d "$CTAN/$dir") {
- $ctan_dir = $dir;
- last;
- }
- }
-
- # names totally dissimilar
- $ctan_dir = "fonts/fourier-GUT" if $me eq "fourier";
- $ctan_dir = "graphics/pdftex" if $me eq "pdftex-def";
- $ctan_dir = "info/biblio" if $me eq "beebe";
- $ctan_dir = "info/epslatex/french" if $me eq "epslatex-fr";
- $ctan_dir = "info/italian/amsldoc" if $me eq "amsldoc-it";
- $ctan_dir = "info/italian/amsthdoc" if $me eq "amsthdoc-it";
- $ctan_dir = "info/tex-references" if $me eq "tex-refs";
- $ctan_dir = "info/translations/vn" if $me eq "ntheorem-vn";
- $ctan_dir = "language/armenian/armtex" if $me eq "armenian";
- $ctan_dir = "language/basque" if $me eq "hyphen-basque";
- $ctan_dir = "language/hungarian/babel" if $me eq "magyar";
- $ctan_dir = "language/hyphenation/elhyphen" if $me eq "hyphen-greek";
- $ctan_dir = "macros/latex/contrib/misc" if $me eq "ltxmisc";
- $ctan_dir = "macros/generic" if $me eq "genmisc";
-
- # do last, for sake of subdirs above.
- $ctan_dir = "language/hyphenation"
- if $me =~ /^hyphen-/ && ! $ctan_dir;
- }
-
- # prepend ctan root if not an absolute dir (this happens when we make
- # a temp dir).
- $ctan_dir = "$CTAN/$ctan_dir" if $ctan_dir =~ m,^[^/],;
- print "$ctan_dir\n" if $ctan_dir;
- return $ctan_dir ? 0 : 1;
-}
-
-
-
-# If the .tlpsrc file for ME has a catalogue entry, return it.
-# Else return empty string.
-#
-sub tlpsrc_find_catalogue
-{
- my ($me) = @_;
-
- chomp (my $mydir = `dirname $0`);
- chomp (my $tlpsrcdir = `cd $mydir/../../Master/tlpkg/tlpsrc && /bin/pwd`);
- my $tlpsrc = "$tlpsrcdir/$me.tlpsrc";
- if (! -r $tlpsrc) {
- warn "$0: no tlpsrc $tlpsrc\n";
- return "";
- }
-
- chomp (my $cat = `awk '\$1 == "catalogue" {print \$2}' $tlpsrc`);
- return $cat;
-}
-
-
-
-# look up ctan path for given package name in catalogue entry.
-# xml is too hard to parse, so just look for the <ctan path...> entry.
-# Sometimes there is a single file, but worry about that later.
-#
-# Return the ctan path if found (without leading /), or undef.
-#
-sub catalogue_find_ctan_path
-{
- my ($pkgname) = @_;
-
- my $firstchar = substr ($pkgname, 0, 1);
- my $catfile = "$CATALOGUE/$firstchar/$pkgname.xml";
- return undef unless -r $catfile;
-
- # get the raw line from the catalogue file. (let's hope it's one line.)
- my $ctan_path = `sed -n "s,^ *<ctan path='/,,p" $catfile`;
- return undef unless $ctan_path; # in case it's not present at all
-
- # extract just the dir or file name, without options, etc.
- (my $ctan_loc = $ctan_path) =~ s,'/>,,;
- $ctan_loc =~ s,' .*,,;
- chomp ($ctan_loc);
-
- # if the Catalogue lists the path as a single file, there are two
- # possibilities: (1) it really is a single file, e.g., texilikecover,
- # in which case we copy that file into a temp dir and return that temp
- # dir; (2) it is actually in its own directory, e.g., ifxetex, in
- # which case we return undef here and let the code above find it.
- # (The Catalogue maintainers do not consider this a problem for
- # various reasons.)
- #
- if ($ctan_path =~ /file='true'/) {
- return undef if $ctan_path =~ m,/$pkgname/,; # pkg dir somewhere in path
-
- # ok, we will copy to temp dir.
- my $pkgdir = "$TMPDIR/tl.$pkgname";
- system ("rm -rf $pkgdir");
- mkdir ($pkgdir, 0777);
-
- warn "$0: copying single file:\n";
- warn "$0: $CTAN/$ctan_loc\n";
- unless (system ("cp -p '$CTAN/$ctan_loc' '$pkgdir/'") == 0) {
- warn "$0: copy of $CTAN/$ctan_loc to $pkgdir failed?!\n";
- return undef;
- }
- return $pkgdir;
- }
-
- # ok, we will use the ctan path.
- return $ctan_loc;
-}
diff --git a/Build/tools/tpm-ctan-check b/Build/tools/tpm-ctan-check
index 24c867cc5c0..4c45804c5f1 100755
--- a/Build/tools/tpm-ctan-check
+++ b/Build/tools/tpm-ctan-check
@@ -74,7 +74,7 @@ my @WorkingTPM = qw(
ibygrk icsv IEEEconf IEEEtran ifxetex ijmart ijqc image-gallery
inlinebib inversepath invoice
iopart-num isodoc isorot isotope itnumpar iwona
- japanese jeopardy jneurosci jpsj jurabib juramisc
+ japanese jeopardy jknapltx jneurosci jpsj jurabib juramisc
kalender kerkis kerntest keystroke koma-script kpfonts
l2picfaq l2tabu-english labelcas labels latex latex-tds latexmp
layouts lcd lcg leading leaflet ledmac leftidx lewis lfb lgreek lh