From 3e300fc04846b7503f377198039a6a149defbeeb Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Thu, 3 Apr 2008 16:51:52 +0000 Subject: updates to tlmgr, removal now quasi functional git-svn-id: svn://tug.org/texlive/trunk@7300 c570f23f-e606-0410-a88d-b1316a301751 --- Master/bin/sparc-linux/tlmgr | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) (limited to 'Master/bin/sparc-linux') diff --git a/Master/bin/sparc-linux/tlmgr b/Master/bin/sparc-linux/tlmgr index ac31a2e677c..07784e9405a 100755 --- a/Master/bin/sparc-linux/tlmgr +++ b/Master/bin/sparc-linux/tlmgr @@ -1,6 +1,6 @@ #! /usr/bin/env texlua --*-Lua-*- --- $Id: tlmgr.texlua 7030 2008-03-19 21:52:43Z reinhardk $ +-- $Id: tlmgr 7297 2008-04-03 16:32:24Z preining $ -- Copyright (C) 2008 Reinhard Kotucha, Norbert Preining. -- You may freely use, modify and/or distribute this file. @@ -47,7 +47,7 @@ function setupperl() end function findscript(scriptname) - script = kpse.find_file(scriptname, 'texmfscripts') + local script = kpse.find_file(scriptname, 'texmfscripts') if script then return script else @@ -56,20 +56,18 @@ function findscript(scriptname) end end -function rmdir(dirn) +function rmdir(name) if os.type == 'windows' then - -- we have to replace all / with \ - foo = string.gsub(dirn, '/', '\\') - ret = os.spawn({"rmdir", "/s", "/q", foo}) + -- code from Hans + os.execute("rmdir /s /q " .. name:gsub('/', '\\')) else - ret = os.spawn({"rm", "-rf", dirn}) + ret = os.spawn({"rm", "-rf", name}) end - if ret then - return ret - else - io.stderr:write(filename..': removing '..dirn.." didn't work\n") + local ok = lfs.attributes(name) + if ok then + io.stderr:write(string.format("%s: removing '%s' didn't succeed\n",filename,name)) end - return ret + return ok end if string.find(arg[0], '/') then -- UNIX path @@ -130,9 +128,12 @@ if arg[1] == 'uninstall' then rmdir(TEXDIR.."/texmf-config") rmdir(TEXDIR.."/texmf") rmdir(TEXDIR.."/tlpkg") + os.remove(TEXDIR.."/temp") os.remove(TEXDIR.."/install-tl.log") rmdir(TEXDIR.."/bin") -- now everything should be removed, try to remove also TEXDIR + -- this will not succeed on win32 since texlua.exe is still in use + -- and thus removing TEXDIR/bin will not work. Damned. os.remove(TEXDIR) os.exit(0) end -- cgit v1.2.3