texlive[52965] Master/tlpkg/bin/tl-dump-for-ctan: tl-dump-for-ctan
commits+karl at tug.org
commits+karl at tug.org
Fri Nov 29 00:45:02 CET 2019
Revision: 52965
http://tug.org/svn/texlive?view=revision&revision=52965
Author: karl
Date: 2019-11-29 00:45:01 +0100 (Fri, 29 Nov 2019)
Log Message:
-----------
tl-dump-for-ctan (generated tldump/tl-dump-for-ctan.gz) not used now by CTAN, if it ever was
Removed Paths:
-------------
trunk/Master/tlpkg/bin/tl-dump-for-ctan
Deleted: trunk/Master/tlpkg/bin/tl-dump-for-ctan
===================================================================
--- trunk/Master/tlpkg/bin/tl-dump-for-ctan 2019-11-28 22:03:15 UTC (rev 52964)
+++ trunk/Master/tlpkg/bin/tl-dump-for-ctan 2019-11-28 23:45:01 UTC (rev 52965)
@@ -1,105 +0,0 @@
-#!/usr/bin/env perl
-# Copyright 2010 Norbert Preining
-# This file is licensed under the GNU General Public License version 2
-# or any later version.
-#
-# Output a dump of TL packages with one line per package, showing the
-# package name, collection it belongs to, and all its schemes. This is
-# used on the CTAN web pages. Run from cron.
-
-my $mydir;
-
-BEGIN {
- $vc_id = '$Id$';
- $^W = 1;
- ($mydir = $0) =~ s,/[^/]*$,,;
- unshift (@INC, "$mydir/..");
-}
-
-use strict;
-use TeXLive::TLPOBJ;
-use TeXLive::TLPDB;
-use TeXLive::TLUtils;
-
-exit (&main());
-
-
-sub main
-{
- chomp(my $Master = `cd $mydir/../.. && pwd`);
- my $tlpdb = TeXLive::TLPDB->new("root" => $Master);
- die "Cannot init tlpdb from $Master ..." unless defined($tlpdb);
-
- # first collect for each collection the set of schemes it is contained in
- my @schemes = $tlpdb->schemes;
- my %col_to_schemes;
- foreach my $c ($tlpdb->collections) {
- @{$col_to_schemes{$c}} = ();
- for my $s ($tlpdb->needed_by($c)) {
- if ($s =~ m/^scheme-/) {
- push @{$col_to_schemes{$c}}, $s;
- }
- }
- }
- foreach my $pkg ($tlpdb->list_packages) {
- next if ($pkg =~ m/^00texlive/); # ignore internal pkgs.
- # ignore *all* arch dep pacakges (also tlpsv etc.)
- next if ($pkg =~ m/\./);
-
- my $tlp = $tlpdb->get_package($pkg);
- if (!defined($tlp)) {
- warn "strange, $pkg not found but listed, continuing anyway";
- next;
- }
-
- # For schemes and collections, output their dependencies.
- if ($tlp->category =~ /^(Scheme|Collection)$/) {
- my @depends = $tlp->depends;
- print "$pkg @depends\n";
- next;
- }
-
- # For regular packages, output the collection/schemes which include them.
- my @deps = $tlpdb->needed_by($pkg);
- my @schemes;
- my $collection = undef;
- for my $p (@deps) {
- my $tlpo = $tlpdb->get_package($p);
- if (!defined($tlpo)) {
- warn "$p seems to depend on $pkg, but $p cannot be found?";
- next;
- }
- if ($tlpo->category eq "Scheme") {
- push @schemes, $p;
- } elsif ($tlpo->category eq "Collection") {
- if (defined($collection)) {
- warn "$pkg asked for in more than one collection: $collection, $p";
- next;
- } else {
- $collection = $p;
- }
- }
- }
- if (!defined($collection)) {
- # should not happen
- $collection = "(undefined)";
- } else {
- push @schemes, @{$col_to_schemes{$collection}};
- }
- @schemes = TeXLive::TLUtils::sort_uniq(@schemes);
-
- my $catname = $tlp->catalogue; # so ctan can map back to their names
- print "($catname)" if $catname;
-
- print "$pkg $collection @schemes\n";
- }
-}
-
-__END__
-
-### Local Variables:
-### perl-indent-level: 2
-### tab-width: 2
-### indent-tabs-mode: nil
-### End:
-# vim:set tabstop=2 expandtab: #
More information about the tex-live-commits
mailing list