texlive[61887] Master/tlpkg/bin/tl-print-dependencies: Add
commits+preining at tug.org
commits+preining at tug.org
Sat Feb 5 07:45:52 CET 2022
Revision: 61887
http://tug.org/svn/texlive?view=revision&revision=61887
Author: preining
Date: 2022-02-05 07:45:52 +0100 (Sat, 05 Feb 2022)
Log Message:
-----------
Add tl-print-dependencies
Added Paths:
-----------
trunk/Master/tlpkg/bin/tl-print-dependencies
Added: trunk/Master/tlpkg/bin/tl-print-dependencies
===================================================================
--- trunk/Master/tlpkg/bin/tl-print-dependencies (rev 0)
+++ trunk/Master/tlpkg/bin/tl-print-dependencies 2022-02-05 06:45:52 UTC (rev 61887)
@@ -0,0 +1,66 @@
+#!/usr/bin/env perl
+# $Id$
+# Originally written by Norbert Preining and Karl Berry, 2015. Public domain.
+#
+# Recursively give dependencies of a given package
+
+my $vc_id = '$Id$';
+my $Master;
+
+BEGIN {
+ chomp ($mydir = `dirname $0`); # we are in Master/tlpkg/bin
+ unshift (@INC, "$mydir/..");
+}
+
+use TeXLive::TLPDB;
+use TeXLive::TLUtils;
+
+my $prg = TeXLive::TLUtils::basename($0);
+
+my @print_packages;
+my $tlpdb;
+my %done;
+
+exit (&main());
+
+
+sub main {
+ chomp ($Master = `cd $mydir/../.. && pwd`);
+ $tlpdb = TeXLive::TLPDB->new ("root" => $Master);
+ die "Cannot find tlpdb in $Master!" unless defined $tlpdb;
+
+ @print_packages = @ARGV;
+ print_next();
+ exit(0);
+}
+
+sub print_next {
+ return if (!@print_packages);
+ my $pkg = shift @print_packages;
+ # skip packages we have already printed
+ if (!$done{$pkg}) {
+ my $tlp = $tlpdb->get_package($pkg);
+ if ($tlp) {
+ # mark as done
+ $done{$pkg} = 1;
+ my @deps = $tlp->depends;
+ # drop .ARCH deps
+ @deps = grep(!/\.ARCH$/, @deps);
+ # only print a line when there are deps
+ if (@deps) {
+ push @print_packages, @deps;
+ print "$pkg: @deps\n";
+ }
+ } else {
+ print "$pkg: MISSING\n";
+ }
+ }
+ print_next();
+}
+
+# Local Variables:
+# perl-indent-level: 2
+# tab-width: 2
+# indent-tabs-mode: nil
+# End:
+# vim: sw=2 expandtab
Property changes on: trunk/Master/tlpkg/bin/tl-print-dependencies
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
More information about the tex-live-commits
mailing list.