diff options
author | Norbert Preining <preining@logic.at> | 2010-06-20 17:17:08 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2010-06-20 17:17:08 +0000 |
commit | 1db438ab5c6f82681295e45f44be56bf4caffb9d (patch) | |
tree | f40e11f73b9f81121c493df2cb4fd6b9bcdce8a8 | |
parent | 1d00e7fcb436040850e36ec456bae66a2add01a2 (diff) |
tlmgr: announce postactions of parent package if only the .ARCH package is
updated
git-svn-id: svn://tug.org/texlive/trunk@19076 c570f23f-e606-0410-a88d-b1316a301751
-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 c6188de1794..40d0dcd597a 100755 --- a/Master/texmf/scripts/texlive/tlmgr.pl +++ b/Master/texmf/scripts/texlive/tlmgr.pl @@ -2427,6 +2427,25 @@ sub action_update { unlink($unwind_package) if $remove_unwind_container; # remember successful update $updated{$pkg} = 1; + # + # if we updated a .ARCH package we have to announce the postactions + # of the parent package so that formats are rebuild + if ($pkg =~ m/^([^.]*)\./) { + my $parent = $1; + if (!TeXLive::TLUtils::member($parent, @inst_packs, @new_packs, @inst_colls, @new_colls, @inst_schemes, @new_schemes)) { + # ok, nothing happens with the parent package, so we have to + # find it and execute the postactions + my $parentobj = $localtlpdb->get_package($parent); + if (!defined($parentobj)) { + # well, in this case we might have hit a package that only + # has .ARCH package, like psv.win32, so do nothing + debug("tlmgr: .ARCH package without parent, not announcing postaction\n"); + } else { + debug("tlmgr: announcing parent execute action for $pkg\n"); + TeXLive::TLUtils::announce_execute_actions("enable", $parentobj); + } + } + } } else { # install_package returned a scalar, so error. # now in fact we should do some cleanup, removing files and |