summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2009-08-28 15:35:26 +0000
committerNorbert Preining <preining@logic.at>2009-08-28 15:35:26 +0000
commitb570054a92ddb7945767bfafd0b92f5c182c0327 (patch)
treee62b1743c9105cc665f3ee2f4d053200d0c4d779 /Master
parent851cb2a4e504afedbd698e2b2aaed0f94953ec36 (diff)
support tlmgr update --exclude pkg --exclude pkg
git-svn-id: svn://tug.org/texlive/trunk@14917 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rwxr-xr-xMaster/texmf/scripts/texlive/tlmgr.pl19
1 files changed, 19 insertions, 0 deletions
diff --git a/Master/texmf/scripts/texlive/tlmgr.pl b/Master/texmf/scripts/texlive/tlmgr.pl
index c44e771c126..3653f8271b9 100755
--- a/Master/texmf/scripts/texlive/tlmgr.pl
+++ b/Master/texmf/scripts/texlive/tlmgr.pl
@@ -153,6 +153,7 @@ sub main {
"force" => 1,
"backupdir" => "=s",
"backup" => 1,
+ "exclude" => "=s@",
"dry-run|n" => 1 },
"paper" => { "list" => 1 },
"install" => { "no-depends" => 1,
@@ -1568,6 +1569,11 @@ sub action_update {
init_tlmedia();
info("update: dry run, no changes will be made\n") if $opts{"dry-run"};
+ my @excluded_pkgs = ();
+ if ($opts{"exclude"}) {
+ @excluded_pkgs = @{$opts{"exclude"}};
+ }
+
# check for updates to tlmgr and die unless either --force or --list or --self
# is given
my @critical = check_for_critical_updates($localtlpdb, $tlmediatlpdb);
@@ -1759,6 +1765,10 @@ sub action_update {
foreach my $pkg (sort @todo) {
next if ($pkg =~ m/^00texlive/);
+ if (TeXLive::TLUtils::member($pkg, @excluded_pkgs)) {
+ info("Skipping excluded package $pkg\n");
+ next;
+ }
my $tlp = $localtlpdb->get_package($pkg);
if (!defined($tlp)) {
# if the user has forcibly removed (say) bin-makeindex, then the
@@ -4141,6 +4151,9 @@ forcibly removed by you (see the B<remove> action, C<--force> option).
To reinstall any such forcibly removed packages use
C<--reinstall-forcibly-removed>.
+If you want to exclude some packages from being updated (e.g., due to a slow
+link), see the C<--exclude> option below.
+
=item B<--self>
Update C<tlmgr> itself (that is, the infrastructure packages) if updates to
@@ -4162,6 +4175,12 @@ In brief:
Concisely list the packages which would be updated, newly installed, or
removed, without actually changing anything.
+=item B<--exclude I<pkg>>
+
+Exclude I<pkg> from the update process. This option can be given
+multiple times. The name given on the command line must match exactely
+to package name.
+
=item B<--dry-run>
Nothing is actually installed; instead, the actions to be performed are