summaryrefslogtreecommitdiff
path: root/Master/texmf
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2010-10-28 07:12:12 +0000
committerNorbert Preining <preining@logic.at>2010-10-28 07:12:12 +0000
commitdfaf6f2150009521267d27fe4e70fe78a3695859 (patch)
treee3e3b3571aa52a47b42e0bc401a16ede80f7a17c /Master/texmf
parentb71dc42f91d5310668622fbbce47f68be2708e76 (diff)
aut-removal of .ARCH package will be done only if the mother package
is also auto-removed. This way third-party repositories can provide additional binaries for packages where tlnet does not ship binaries git-svn-id: svn://tug.org/texlive/trunk@20228 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf')
-rwxr-xr-xMaster/texmf/scripts/texlive/tlmgr.pl17
1 files changed, 17 insertions, 0 deletions
diff --git a/Master/texmf/scripts/texlive/tlmgr.pl b/Master/texmf/scripts/texlive/tlmgr.pl
index 3be42d549ec..a1541de04f1 100755
--- a/Master/texmf/scripts/texlive/tlmgr.pl
+++ b/Master/texmf/scripts/texlive/tlmgr.pl
@@ -1971,6 +1971,23 @@ sub auto_remove_install_force_packages {
}
}
#
+ # for some packages (texworks, psview, ...) we only have w32 packages
+ # in the repository, but it is possible that alternative repositories
+ # ship binaries for some platforms (like texworks for linux on tlcontrib)
+ # currently updating from tlnet will remove these alternative .ARCH
+ # packages because they are not listed anywhere locally, so they
+ # are considered as disappearing.
+ # We remove here packages PKG.ARCH if the main package PKG is found
+ # here and is *not* disappearing, from the removal hash
+ for my $p (keys %removals_full) {
+ if ($p =~ m/^([^.]*)\./) {
+ my $mpkg = $1;
+ if (!defined($removals_full{$mpkg})) {
+ delete($removals_full{$p});
+ }
+ }
+ }
+ #
# now take only the subset of packages that is in @todo
# note that @todo is already expanded in action_updated according
# to the --no-depends and --no-depends-at-all options