summaryrefslogtreecommitdiff
path: root/Master/bin
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2008-04-03 12:24:19 +0000
committerNorbert Preining <preining@logic.at>2008-04-03 12:24:19 +0000
commit7bda7674a42eb06786f00ada40384cff686b5721 (patch)
tree5e81ac5a5362775bda2e2217e9b729815a6a0802 /Master/bin
parent9cb8984c9ec2243119dffa70e98f642501d68c04 (diff)
work on tlmgr
git-svn-id: svn://tug.org/texlive/trunk@7291 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/bin')
l---------Master/bin/alpha-linux/tl-package-manager1
l---------Master/bin/hppa-hpux/tl-package-manager1
l---------Master/bin/i386-darwin/tl-package-manager1
l---------Master/bin/i386-freebsd/tl-package-manager1
l---------Master/bin/i386-linux/tl-package-manager1
-rwxr-xr-xMaster/bin/i386-linux/tlmgr185
l---------Master/bin/i386-openbsd/tl-package-manager1
l---------Master/bin/i386-solaris/tl-package-manager1
l---------Master/bin/mips-irix/tl-package-manager1
l---------Master/bin/powerpc-aix/tl-package-manager1
l---------Master/bin/powerpc-darwin/tl-package-manager1
l---------Master/bin/powerpc-linux/tl-package-manager1
l---------Master/bin/sparc-linux/tl-package-manager1
l---------Master/bin/sparc-solaris/tl-package-manager1
-rwxr-xr-xMaster/bin/win32/tl-package-manager.texlua85
-rwxr-xr-xMaster/bin/win32/tlmgr.texlua185
l---------Master/bin/x86_64-linux/tl-package-manager1
17 files changed, 370 insertions, 99 deletions
diff --git a/Master/bin/alpha-linux/tl-package-manager b/Master/bin/alpha-linux/tl-package-manager
deleted file mode 120000
index 90fc2c5381f..00000000000
--- a/Master/bin/alpha-linux/tl-package-manager
+++ /dev/null
@@ -1 +0,0 @@
-../../texmf/scripts/texlive/tl-package-manager.pl \ No newline at end of file
diff --git a/Master/bin/hppa-hpux/tl-package-manager b/Master/bin/hppa-hpux/tl-package-manager
deleted file mode 120000
index 90fc2c5381f..00000000000
--- a/Master/bin/hppa-hpux/tl-package-manager
+++ /dev/null
@@ -1 +0,0 @@
-../../texmf/scripts/texlive/tl-package-manager.pl \ No newline at end of file
diff --git a/Master/bin/i386-darwin/tl-package-manager b/Master/bin/i386-darwin/tl-package-manager
deleted file mode 120000
index 90fc2c5381f..00000000000
--- a/Master/bin/i386-darwin/tl-package-manager
+++ /dev/null
@@ -1 +0,0 @@
-../../texmf/scripts/texlive/tl-package-manager.pl \ No newline at end of file
diff --git a/Master/bin/i386-freebsd/tl-package-manager b/Master/bin/i386-freebsd/tl-package-manager
deleted file mode 120000
index 90fc2c5381f..00000000000
--- a/Master/bin/i386-freebsd/tl-package-manager
+++ /dev/null
@@ -1 +0,0 @@
-../../texmf/scripts/texlive/tl-package-manager.pl \ No newline at end of file
diff --git a/Master/bin/i386-linux/tl-package-manager b/Master/bin/i386-linux/tl-package-manager
deleted file mode 120000
index 90fc2c5381f..00000000000
--- a/Master/bin/i386-linux/tl-package-manager
+++ /dev/null
@@ -1 +0,0 @@
-../../texmf/scripts/texlive/tl-package-manager.pl \ No newline at end of file
diff --git a/Master/bin/i386-linux/tlmgr b/Master/bin/i386-linux/tlmgr
new file mode 100755
index 00000000000..7dcc72ca73c
--- /dev/null
+++ b/Master/bin/i386-linux/tlmgr
@@ -0,0 +1,185 @@
+#! /usr/bin/env texlua
+--*-Lua-*-
+-- $Id: tlmgr.texlua 7030 2008-03-19 21:52:43Z reinhardk $
+
+-- Copyright (C) 2008 Reinhard Kotucha, Norbert Preining.
+-- You may freely use, modify and/or distribute this file.
+
+-- tlmgr
+-- one central managment utility for TeX Live
+-- it calls several supporting scripts from texmf/scripts/texlive
+-- and other places
+--
+-- Currently supported arguments
+-- help local, not implemented
+-- generate-fmtutil generate-fmtutil.pl
+-- generate-updmap generate-updmap.pl
+-- generate-language generate-language.pl
+-- install tl-package-manager.pl
+-- remove tl-package-manager.pl
+-- search tl-package-manager.pl
+-- globalsearch tl-package-manager.pl
+
+function fixwin(args_unix)
+ if os.type == 'windows' then
+ local args_win={} -- new table
+ args_win[0]=args_unix[1]
+ for i=1, #args_unix do
+ args_win[i]='"'..args_unix[i]..'"'
+ end
+ return args_win
+ else
+ return args_unix
+ end
+end
+
+function setupperl()
+ -- For Windows we use the shipped perl interpreter, otherwise we expect
+ -- a perl to be installed
+ if os.type == 'windows' then
+ perlbin=TEXDIR..'/tlpkg/tlperl/bin/perl.exe'
+ os.setenv('PERL5LIB', TEXDIR..'/tlpkg/tlperl/lib')
+ else
+ perlbin = 'perl'
+ end
+end
+
+function findscript(scriptname)
+ script = kpse.find_file(scriptname, 'texmfscripts')
+ if script then
+ return script
+ else
+ io.stderr:write(filename..': Cannot find script '..scriptname)
+ return false
+ end
+end
+
+function rmdir(dirn)
+ if os.type == 'windows' then
+ ret = os.spawn({"rmdir", "/s", "/q", dirn})
+ else
+ ret = os.spawn({"rm", "-rf", dirn})
+ end
+ if ret then
+ return ret
+ else
+ io.stderr:write(filename..': removing '..dirn.." didn't work")
+ end
+ return ret
+end
+
+if string.find(arg[0], '/') then -- UNIX path
+ filename=select(1, string.gsub(arg[0], '.*/', ''))
+elseif string.find(arg[0], '\\') then -- Windows path
+ filename=select(1, string.gsub(arg[0], '.*\\', ''))
+else -- no path
+ filename=arg[0]
+end
+
+
+basename=select(1, string.gsub(filename, '\.texlua$', ''))
+
+kpse.set_program_name(filename, basename)
+TEXDIR=kpse.var_value('SELFAUTOPARENT')
+TEXMFSYSVAR=kpse.var_value('TEXMFSYSVAR')
+BINDIR=kpse.var_value('SELFAUTOLOC')
+
+
+if arg[1] == 'help' then
+ print ("Usage: not implemented")
+ os.exit(0)
+end
+
+if arg[1] == 'uninstall' then
+ print ("removing the whole installation")
+ -- we have to call perl uninstall-tl.pl AND have to remove the following files:
+ -- TEXDIR/texmf{,-dist,-doc,-var,-config,}, TEXDIR/bin, TEXDIR/tlpkg, TEXDIR/install-tl.log
+ -- TEXMFSYSVAR
+ -- that should remove all the stuff
+ -- Or other options?
+ setupperl()
+ script = findscript('uninstall-tl.pl')
+ if script then
+ command = { perlbin, script }
+ else
+ os.exit(1)
+ end
+ for i=1, #arg do
+ command[#command+1] = arg[i]
+ end
+ command = fixwin(command)
+ ret = os.spawn(command)
+ -- here we should check the return value!!!
+ if not ret then
+ io.stderr:write(filename..': The removal script uninstall-tl.pl returned false\n')
+ io.stderr:write(filename..": We don't continue removing stuff\n")
+ os.exit(1)
+ end
+ -- on windows we have now removed the associations etc, while
+ -- on unix we have removed the symlinks in case they were present
+ --
+ -- now we have to remove all the files and directories
+ rmdir(TEXDIR.."/texmf-dist")
+ rmdir(TEXDIR.."/texmf-doc")
+ rmdir(TEXDIR.."/texmf-var")
+ rmdir(TEXDIR.."/texmf-config")
+ rmdir(TEXDIR.."/texmf")
+ rmdir(TEXDIR.."/tlpkg")
+ os.remove(TEXDIR.."/install-tl.log")
+ rmdir(TEXDIR.."/bin")
+ -- now everything should be removed, try to remove also TEXDIR
+ os.remove(TEXDIR)
+ os.exit(0)
+end
+
+if arg[1] == 'generate-fmtutil' then
+ setupperl()
+ script = findscript('generate-fmtutil.pl')
+ if script then
+ command = { perlbin, script }
+ else
+ os.exit(1)
+ end
+end
+
+if arg[1] == 'generate-language' then
+ setupperl()
+ script = findscript('generate-language.pl')
+ if script then
+ command = { perlbin, script }
+ else
+ os.exit(1)
+ end
+end
+
+if arg[1] == 'generate-updmap' then
+ setupperl()
+ script = findscript('generate-updmap.pl')
+ if script then
+ command = { perlbin, script }
+ else
+ os.exit(1)
+ end
+end
+
+if arg[1] == 'install' or arg[1] == 'remove' or arg[1] == 'search' or
+ arg[1] == 'globalsearch' then
+ setupperl()
+ script = findscript('tl-package-manager.pl')
+ if script then
+ command = { perlbin, script }
+ else
+ os.exit(1)
+ end
+end
+
+for i=1, #arg do
+ command[#command+1]=arg[i]
+end
+
+command=fixwin(command)
+
+ret=os.spawn(command)
+os.exit(ret)
+
+
diff --git a/Master/bin/i386-openbsd/tl-package-manager b/Master/bin/i386-openbsd/tl-package-manager
deleted file mode 120000
index 90fc2c5381f..00000000000
--- a/Master/bin/i386-openbsd/tl-package-manager
+++ /dev/null
@@ -1 +0,0 @@
-../../texmf/scripts/texlive/tl-package-manager.pl \ No newline at end of file
diff --git a/Master/bin/i386-solaris/tl-package-manager b/Master/bin/i386-solaris/tl-package-manager
deleted file mode 120000
index 90fc2c5381f..00000000000
--- a/Master/bin/i386-solaris/tl-package-manager
+++ /dev/null
@@ -1 +0,0 @@
-../../texmf/scripts/texlive/tl-package-manager.pl \ No newline at end of file
diff --git a/Master/bin/mips-irix/tl-package-manager b/Master/bin/mips-irix/tl-package-manager
deleted file mode 120000
index 90fc2c5381f..00000000000
--- a/Master/bin/mips-irix/tl-package-manager
+++ /dev/null
@@ -1 +0,0 @@
-../../texmf/scripts/texlive/tl-package-manager.pl \ No newline at end of file
diff --git a/Master/bin/powerpc-aix/tl-package-manager b/Master/bin/powerpc-aix/tl-package-manager
deleted file mode 120000
index 90fc2c5381f..00000000000
--- a/Master/bin/powerpc-aix/tl-package-manager
+++ /dev/null
@@ -1 +0,0 @@
-../../texmf/scripts/texlive/tl-package-manager.pl \ No newline at end of file
diff --git a/Master/bin/powerpc-darwin/tl-package-manager b/Master/bin/powerpc-darwin/tl-package-manager
deleted file mode 120000
index 90fc2c5381f..00000000000
--- a/Master/bin/powerpc-darwin/tl-package-manager
+++ /dev/null
@@ -1 +0,0 @@
-../../texmf/scripts/texlive/tl-package-manager.pl \ No newline at end of file
diff --git a/Master/bin/powerpc-linux/tl-package-manager b/Master/bin/powerpc-linux/tl-package-manager
deleted file mode 120000
index 90fc2c5381f..00000000000
--- a/Master/bin/powerpc-linux/tl-package-manager
+++ /dev/null
@@ -1 +0,0 @@
-../../texmf/scripts/texlive/tl-package-manager.pl \ No newline at end of file
diff --git a/Master/bin/sparc-linux/tl-package-manager b/Master/bin/sparc-linux/tl-package-manager
deleted file mode 120000
index 90fc2c5381f..00000000000
--- a/Master/bin/sparc-linux/tl-package-manager
+++ /dev/null
@@ -1 +0,0 @@
-../../texmf/scripts/texlive/tl-package-manager.pl \ No newline at end of file
diff --git a/Master/bin/sparc-solaris/tl-package-manager b/Master/bin/sparc-solaris/tl-package-manager
deleted file mode 120000
index 90fc2c5381f..00000000000
--- a/Master/bin/sparc-solaris/tl-package-manager
+++ /dev/null
@@ -1 +0,0 @@
-../../texmf/scripts/texlive/tl-package-manager.pl \ No newline at end of file
diff --git a/Master/bin/win32/tl-package-manager.texlua b/Master/bin/win32/tl-package-manager.texlua
deleted file mode 100755
index c808e94b5a9..00000000000
--- a/Master/bin/win32/tl-package-manager.texlua
+++ /dev/null
@@ -1,85 +0,0 @@
-#! /usr/bin/env texlua
---*-Lua-*-
--- $Id: fmtutil-sys.texlua 7030 2008-03-19 21:52:43Z reinhardk $
-
--- Copyright (C) 2007 Reinhard Kotucha, Norbert Preining.
--- You may freely use, modify and/or distribute this file.
-
--- Wrapper for scripts.
-
-function fixwin(args_unix)
- if os.type == 'windows' then
- local args_win={} -- new table
- args_win[0]=args_unix[1]
- for i=1, #args_unix do
- args_win[i]='"'..args_unix[i]..'"'
- end
- return args_win
- else
- return args_unix
- end
-end
-
-if string.find(arg[0], '/') then -- UNIX path
- filename=select(1, string.gsub(arg[0], '.*/', ''))
-elseif string.find(arg[0], '\\') then -- Windows path
- filename=select(1, string.gsub(arg[0], '.*\\', ''))
-else -- no path
- filename=arg[0]
-end
-
-basename=select(1, string.gsub(filename, '\.texlua$', ''))
-
-sys=false
-
-if string.find(basename, '-sys$') then
- basename=select(1, string.gsub(basename, '-sys$', ''))
- sys=true
-end
-
-kpse.set_program_name(filename, basename)
-TEXDIR=kpse.var_value('SELFAUTOPARENT')
-BINDIR=kpse.var_value('SELFAUTOLOC')
-
-perlbin=TEXDIR..'/tlpkg/tlperl/bin/perl.exe'
-
-os.setenv('PERL5LIB', TEXDIR..'/tlpkg/tlperl/lib')
-os.setenv('GS_LIB', TEXDIR..'/tlpkg/tlgs/lib')
-os.setenv('PATH', TEXDIR..'/tlpkg/tlgs/bin;'..os.getenv('PATH'))
-
-if sys then
- os.setenv('TEXMFVAR', kpse.var_value('TEXMFSYSVAR'))
- os.setenv('TEXMFCONFIG', kpse.var_value('TEXMFSYSCONFIG'))
- os.setenv('TEX_SYS_PROG', 'true')
-end
-
-if sys and lfs.isfile(BINDIR..'/'..basename..'.exe') then
- command={BINDIR..'/'..basename..'.exe'}
-elseif lfs.isfile(BINDIR..'/'..basename..'-bin.exe') then
- command={BINDIR..'/'..basename..'-bin.exe'}
-elseif lfs.isfile(BINDIR..'/'..basename..'.pl') then
- script=BINDIR..'/'..basename..'.pl'
- command={perlbin, script}
-elseif kpse.find_file(basename..'.pl', 'texmfscripts') then
- script=kpse.find_file(basename..'.pl', 'texmfscripts')
- command={perlbin, script}
-else
- io.stderr:write(filename..'.texlua: '..basename..
- ': No appropriate script found.\n')
-end
-
-for i=1, #arg do
- command[#command+1]=arg[i]
-end
-
-command=fixwin(command)
-
---[[ Prepend an additional hyphen to activate this code.
-for i=0, #command do
- print (command[i])
-end
-os.exit(ret)
---]]
-
-ret=os.spawn(command)
-os.exit(ret)
diff --git a/Master/bin/win32/tlmgr.texlua b/Master/bin/win32/tlmgr.texlua
new file mode 100755
index 00000000000..7dcc72ca73c
--- /dev/null
+++ b/Master/bin/win32/tlmgr.texlua
@@ -0,0 +1,185 @@
+#! /usr/bin/env texlua
+--*-Lua-*-
+-- $Id: tlmgr.texlua 7030 2008-03-19 21:52:43Z reinhardk $
+
+-- Copyright (C) 2008 Reinhard Kotucha, Norbert Preining.
+-- You may freely use, modify and/or distribute this file.
+
+-- tlmgr
+-- one central managment utility for TeX Live
+-- it calls several supporting scripts from texmf/scripts/texlive
+-- and other places
+--
+-- Currently supported arguments
+-- help local, not implemented
+-- generate-fmtutil generate-fmtutil.pl
+-- generate-updmap generate-updmap.pl
+-- generate-language generate-language.pl
+-- install tl-package-manager.pl
+-- remove tl-package-manager.pl
+-- search tl-package-manager.pl
+-- globalsearch tl-package-manager.pl
+
+function fixwin(args_unix)
+ if os.type == 'windows' then
+ local args_win={} -- new table
+ args_win[0]=args_unix[1]
+ for i=1, #args_unix do
+ args_win[i]='"'..args_unix[i]..'"'
+ end
+ return args_win
+ else
+ return args_unix
+ end
+end
+
+function setupperl()
+ -- For Windows we use the shipped perl interpreter, otherwise we expect
+ -- a perl to be installed
+ if os.type == 'windows' then
+ perlbin=TEXDIR..'/tlpkg/tlperl/bin/perl.exe'
+ os.setenv('PERL5LIB', TEXDIR..'/tlpkg/tlperl/lib')
+ else
+ perlbin = 'perl'
+ end
+end
+
+function findscript(scriptname)
+ script = kpse.find_file(scriptname, 'texmfscripts')
+ if script then
+ return script
+ else
+ io.stderr:write(filename..': Cannot find script '..scriptname)
+ return false
+ end
+end
+
+function rmdir(dirn)
+ if os.type == 'windows' then
+ ret = os.spawn({"rmdir", "/s", "/q", dirn})
+ else
+ ret = os.spawn({"rm", "-rf", dirn})
+ end
+ if ret then
+ return ret
+ else
+ io.stderr:write(filename..': removing '..dirn.." didn't work")
+ end
+ return ret
+end
+
+if string.find(arg[0], '/') then -- UNIX path
+ filename=select(1, string.gsub(arg[0], '.*/', ''))
+elseif string.find(arg[0], '\\') then -- Windows path
+ filename=select(1, string.gsub(arg[0], '.*\\', ''))
+else -- no path
+ filename=arg[0]
+end
+
+
+basename=select(1, string.gsub(filename, '\.texlua$', ''))
+
+kpse.set_program_name(filename, basename)
+TEXDIR=kpse.var_value('SELFAUTOPARENT')
+TEXMFSYSVAR=kpse.var_value('TEXMFSYSVAR')
+BINDIR=kpse.var_value('SELFAUTOLOC')
+
+
+if arg[1] == 'help' then
+ print ("Usage: not implemented")
+ os.exit(0)
+end
+
+if arg[1] == 'uninstall' then
+ print ("removing the whole installation")
+ -- we have to call perl uninstall-tl.pl AND have to remove the following files:
+ -- TEXDIR/texmf{,-dist,-doc,-var,-config,}, TEXDIR/bin, TEXDIR/tlpkg, TEXDIR/install-tl.log
+ -- TEXMFSYSVAR
+ -- that should remove all the stuff
+ -- Or other options?
+ setupperl()
+ script = findscript('uninstall-tl.pl')
+ if script then
+ command = { perlbin, script }
+ else
+ os.exit(1)
+ end
+ for i=1, #arg do
+ command[#command+1] = arg[i]
+ end
+ command = fixwin(command)
+ ret = os.spawn(command)
+ -- here we should check the return value!!!
+ if not ret then
+ io.stderr:write(filename..': The removal script uninstall-tl.pl returned false\n')
+ io.stderr:write(filename..": We don't continue removing stuff\n")
+ os.exit(1)
+ end
+ -- on windows we have now removed the associations etc, while
+ -- on unix we have removed the symlinks in case they were present
+ --
+ -- now we have to remove all the files and directories
+ rmdir(TEXDIR.."/texmf-dist")
+ rmdir(TEXDIR.."/texmf-doc")
+ rmdir(TEXDIR.."/texmf-var")
+ rmdir(TEXDIR.."/texmf-config")
+ rmdir(TEXDIR.."/texmf")
+ rmdir(TEXDIR.."/tlpkg")
+ os.remove(TEXDIR.."/install-tl.log")
+ rmdir(TEXDIR.."/bin")
+ -- now everything should be removed, try to remove also TEXDIR
+ os.remove(TEXDIR)
+ os.exit(0)
+end
+
+if arg[1] == 'generate-fmtutil' then
+ setupperl()
+ script = findscript('generate-fmtutil.pl')
+ if script then
+ command = { perlbin, script }
+ else
+ os.exit(1)
+ end
+end
+
+if arg[1] == 'generate-language' then
+ setupperl()
+ script = findscript('generate-language.pl')
+ if script then
+ command = { perlbin, script }
+ else
+ os.exit(1)
+ end
+end
+
+if arg[1] == 'generate-updmap' then
+ setupperl()
+ script = findscript('generate-updmap.pl')
+ if script then
+ command = { perlbin, script }
+ else
+ os.exit(1)
+ end
+end
+
+if arg[1] == 'install' or arg[1] == 'remove' or arg[1] == 'search' or
+ arg[1] == 'globalsearch' then
+ setupperl()
+ script = findscript('tl-package-manager.pl')
+ if script then
+ command = { perlbin, script }
+ else
+ os.exit(1)
+ end
+end
+
+for i=1, #arg do
+ command[#command+1]=arg[i]
+end
+
+command=fixwin(command)
+
+ret=os.spawn(command)
+os.exit(ret)
+
+
diff --git a/Master/bin/x86_64-linux/tl-package-manager b/Master/bin/x86_64-linux/tl-package-manager
deleted file mode 120000
index 90fc2c5381f..00000000000
--- a/Master/bin/x86_64-linux/tl-package-manager
+++ /dev/null
@@ -1 +0,0 @@
-../../texmf/scripts/texlive/tl-package-manager.pl \ No newline at end of file