diff options
author | Norbert Preining <preining@logic.at> | 2008-04-03 12:24:19 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2008-04-03 12:24:19 +0000 |
commit | 7bda7674a42eb06786f00ada40384cff686b5721 (patch) | |
tree | 5e81ac5a5362775bda2e2217e9b729815a6a0802 /Master/bin | |
parent | 9cb8984c9ec2243119dffa70e98f642501d68c04 (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-manager | 1 | ||||
l--------- | Master/bin/hppa-hpux/tl-package-manager | 1 | ||||
l--------- | Master/bin/i386-darwin/tl-package-manager | 1 | ||||
l--------- | Master/bin/i386-freebsd/tl-package-manager | 1 | ||||
l--------- | Master/bin/i386-linux/tl-package-manager | 1 | ||||
-rwxr-xr-x | Master/bin/i386-linux/tlmgr | 185 | ||||
l--------- | Master/bin/i386-openbsd/tl-package-manager | 1 | ||||
l--------- | Master/bin/i386-solaris/tl-package-manager | 1 | ||||
l--------- | Master/bin/mips-irix/tl-package-manager | 1 | ||||
l--------- | Master/bin/powerpc-aix/tl-package-manager | 1 | ||||
l--------- | Master/bin/powerpc-darwin/tl-package-manager | 1 | ||||
l--------- | Master/bin/powerpc-linux/tl-package-manager | 1 | ||||
l--------- | Master/bin/sparc-linux/tl-package-manager | 1 | ||||
l--------- | Master/bin/sparc-solaris/tl-package-manager | 1 | ||||
-rwxr-xr-x | Master/bin/win32/tl-package-manager.texlua | 85 | ||||
-rwxr-xr-x | Master/bin/win32/tlmgr.texlua | 185 | ||||
l--------- | Master/bin/x86_64-linux/tl-package-manager | 1 |
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 |