diff options
author | Siep Kroonenberg <siepo@cybercomm.nl> | 2009-07-26 19:36:23 +0000 |
---|---|---|
committer | Siep Kroonenberg <siepo@cybercomm.nl> | 2009-07-26 19:36:23 +0000 |
commit | f6e67299c1e660c7a4f79ff68b1617165a7a7e66 (patch) | |
tree | 960078fe6b2bd9556f55c075b964cdca7a3e0edb /Master/tlpkg/doc | |
parent | a8530dff99a3ccc985bada3a55ff4cc1719dd924 (diff) |
Added w32client[.bat]. Proof of concept for tlmgr as library.
git-svn-id: svn://tug.org/texlive/trunk@14456 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/doc')
-rwxr-xr-x | Master/tlpkg/doc/w32client | 31 | ||||
-rwxr-xr-x | Master/tlpkg/doc/w32client.bat | 56 |
2 files changed, 87 insertions, 0 deletions
diff --git a/Master/tlpkg/doc/w32client b/Master/tlpkg/doc/w32client new file mode 100755 index 00000000000..8f41ef065dc --- /dev/null +++ b/Master/tlpkg/doc/w32client @@ -0,0 +1,31 @@ +#!/usr/bin/env perl + +# Tlmgr.pl can be loaded either by itself, as a program, or as a library, +# at least under Windows. +# An application of this is configuring a client Windows workstation +# for a pre-installed TeX Live installation on a local network. + +# Currently, this script is just proof-of-concept. +# Public domain. + +BEGIN { + $^W = 1; + require "tlmgr.pl"; +} + +# some examples of accessing tlmgr functionality + +# Print some info +print "Version:\n" . give_version() . "\n"; +print "Mirror:\n" . give_ctan_mirror() . "\n"; +print "Master: " . $Master ."\n"; + +# Only make user-level changes +non_admin(); + +# Add TeX Live to path (not pretty...) +unshift @ARGV, 'add'; +action_path(); + +# create a shortcut +execute_action('postaction', 'install', 'shortcut', 'dviout.win32'); diff --git a/Master/tlpkg/doc/w32client.bat b/Master/tlpkg/doc/w32client.bat new file mode 100755 index 00000000000..1900bc7d5d6 --- /dev/null +++ b/Master/tlpkg/doc/w32client.bat @@ -0,0 +1,56 @@ +@echo off
+rem Wrapper batchfile for Perl script of the same name
+rem both in the root of the TeX Live installation.
+rem Based on code from Tomasz M. Trzeciak.
+rem Public domain.
+
+rem First, check if this is DOS based system
+rem in DOS '^' is just a normal character
+if not ^x==x goto DOS
+
+rem Abort if we are running from UNC path
+if %~d0==\\ goto UNC
+
+rem Localize environment changes
+setlocal enableextensions
+
+set this=%~dp0
+
+rem Break search path into dir list and rebuild w/o tex dirs
+call :rebuildpath ";" "%path:;=" "%"
+
+rem Use TL Perl
+path %this%tlpkg\tlperl\bin;%this%bin\win32;%path%
+set PERL5LIB=%this%tlpkg\tlperl\lib;%this%tlpkg;%this%texmf\scripts\texlive
+
+rem Start Perl script of the same name
+perl "%~dpn0" %*
+rem Give user opportunity to scan output messages
+pause
+goto :eof
+
+rem Subroutine to build search path without tex directories
+rem any dir containing pdftex.exe is considered a tex dir
+:rebuildpath ";" dir list ...
+shift
+rem The first argument (";") serves as a marker to reset the path
+if "%~0"==";" set path=
+rem Finish if no more arguments to process
+if [%1]==[] goto :eof
+rem Continue if tex dir
+if exist "%~1\pdftex.exe" goto :rebuildpath
+rem Add dir to path
+if not defined path (path %~1) else (path %path%;%~1)
+goto :rebuildpath
+
+:UNC
+echo Cannot run from UNC path.
+echo Map network drive to a drive letter and rerun the installer.
+echo You can use pushd/popd commands for temporary mapping.
+pause
+exit /b 1
+
+:DOS
+echo DOS and Windows 9x systems are not supported. Sorry.
+echo Windows 2000 or newer is required.
+pause
|