texlive[52615] Master/tlpkg/bin/tlprm: when removing a package, check

commits+karl at tug.org commits+karl at tug.org
Sat Nov 2 17:13:30 CET 2019


Revision: 52615
          http://tug.org/svn/texlive?view=revision&revision=52615
Author:   karl
Date:     2019-11-02 17:13:30 +0100 (Sat, 02 Nov 2019)
Log Message:
-----------
when removing a package, check for all word matches of package name in *.tlpsrc

Modified Paths:
--------------
    trunk/Master/tlpkg/bin/tlprm

Modified: trunk/Master/tlpkg/bin/tlprm
===================================================================
--- trunk/Master/tlpkg/bin/tlprm	2019-11-02 15:10:11 UTC (rev 52614)
+++ trunk/Master/tlpkg/bin/tlprm	2019-11-02 16:13:30 UTC (rev 52615)
@@ -1,6 +1,6 @@
 #!/usr/bin/env perl
 # $Id$
-# Copyright 2007-2016 Karl Berry.
+# Copyright 2007-2019 Karl Berry.
 # This file is licensed under the GNU General Public License version 2
 # or any later version.
 # 
@@ -82,9 +82,13 @@
     print "if license in Catalogue is free, and package isn't, "
           . "tell ctan\@dante.de\n";
 
-    # remove dependencies from tlpsrc; show with line numbers for next-error.
+    # Remove dependencies from tlpsrc; show with line numbers for next-error.
+    # depend lines alone are not enough, as dependencies are also in
+    # fmttriggers attributes, set through variables. Better to show all
+    # possibilities with a word match (could also be done through a
+    # regexp) and accept some false positives.
     my $tsrc = "$Master/tlpkg/tlpsrc";
-    my @lines = `grep -n 'depend.* $f\$' $tsrc/*`;
+    my @lines = `grep -Hnw '$f' $tsrc/*`;
     print "first edit collections:\n", @lines if @lines;
     
     # but just file names for commit list.
@@ -146,12 +150,13 @@
 
 B<tlprm> merely prints Subversion commands to remove TeX Live packages
 from the source repository, e.g., when a package becomes obsolete or
-merged.  It does not actually run any commands, remove anything, or
-change the TeX Live package database or anything else.
+merged. It does not execute any commands, remove anything, modify the
+TeX Live package database or actually do anything else.
 
-No dependency or other checking is done.  It also does not remove the
-given package from any collection(s) where it is present, although it
-reports any collections and schemes that have dependencies on the package.
+It also reports any dependencies (collections, schemes, other packages)
+on the package, likely including some false positives. The person who
+runs it must exercise judgement in which dependencies to remove, update,
+etc.
 
 =head1 AUTHORS AND COPYRIGHT
 



More information about the tex-live-commits mailing list