diff options
Diffstat (limited to 'Master/tlpkg/installer/uninstall-try.pl')
-rwxr-xr-x | Master/tlpkg/installer/uninstall-try.pl | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/Master/tlpkg/installer/uninstall-try.pl b/Master/tlpkg/installer/uninstall-try.pl new file mode 100755 index 00000000000..00f68b6acc7 --- /dev/null +++ b/Master/tlpkg/installer/uninstall-try.pl @@ -0,0 +1,87 @@ +#!/usr/bin/env perl + +# $Id: uninstall-tl.pl 6381 2008-01-23 17:50:54Z preining $ +# uninstall-tl.pl +# +# Copyright 2008 Norbert Preining +# This file is licensed under the GNU General Public License version 2 +# or any later version. +# + + +my $me; + +BEGIN { + $^W = 1; + $me=$0; + $me=~s!\\!/!g if $^O=~/^MSWin(32|64)$/i; + if ($me =~ m!/!) { + $me=~s!(.*)/[^/]+/[^/]*$!$1!; # parent + } else { + $me='./..'; + } + unshift (@INC, $me); +} + +use TeXLive::TLWinGoo; +use Cwd qw/abs_path/; +use strict; + +&main (); + +sub win32 +{ + return ($^O=~/^MSWin(32|64)$/i ? 1 : 0); +} + +sub main +{ + # get the db. + my $Master = abs_path("$me/.."); # another step up + + # we have to + # - remove the entry of bin/arch from the PATH environment + # - (win32) remove the .texlua association + # - (win32) remove the entry of PATHEXT + # - (unix) ... the links + if (win32()) { + # remove any tex path and add an empty entry ... hope that does the + # right thing + #add_texbindir_to_path(""); + remove_texbindir_from_path("$Master/bin/win32"); + unregister_script_type(".texlua"); + broadcast_env(); + update_assocs(); + # now remove all the OTHER dirs (nothing done here atm) + # ... + # remove all the directories ... howto do that on windows ... + } else { + # remove the links (missings, but we do not support them in the installer + # anyway + # ... + # remove all the directories + system("rm -rf \"$Master/texmf-dist\""); + system("rm -rf \"$Master/texmf-doc\""); + system("rm -rf \"$Master/texmf-var\""); + system("rm -rf \"$Master/texmf-config\""); + system("rm -rf \"$Master/texmf\""); + system("rm -rf \"$Master/bin\""); + system("rm -rf \"$Master/tlpkg\""); + system("rm -f \"$Master/install-tl.log\""); + # now everything should be removed ... + # note that shell returns 0 on success, so we have to use "and" + system("rmdir \"$Master\"") and + warn("Couldn't completely remove $Master: $!\n"); + } +} + + +__END__ + + +### Local Variables: +### perl-indent-level: 2 +### tab-width: 2 +### indent-tabs-mode: nil +### End: +# vim:set tabstop=2 expandtab: # |