diff options
author | Norbert Preining <preining@logic.at> | 2009-08-28 15:35:26 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2009-08-28 15:35:26 +0000 |
commit | b570054a92ddb7945767bfafd0b92f5c182c0327 (patch) | |
tree | e62b1743c9105cc665f3ee2f4d053200d0c4d779 /Master/texmf | |
parent | 851cb2a4e504afedbd698e2b2aaed0f94953ec36 (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/texmf')
-rwxr-xr-x | Master/texmf/scripts/texlive/tlmgr.pl | 19 |
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 |