summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Strzelczyk <piotr@eps.gda.pl>2009-09-24 06:50:41 +0000
committerPiotr Strzelczyk <piotr@eps.gda.pl>2009-09-24 06:50:41 +0000
commit1f7fd48a0470e7ccea36609398c05066405f8cc5 (patch)
treecba5607b3c0612ff57c6c0f9a52506d3a4cef399
parent026a77e338ef2f7dea85f55eb4d33f9c5e499a32 (diff)
remove old updater-w32
git-svn-id: svn://tug.org/texlive/trunk@15443 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf/scripts/texlive/updater-w32245
-rw-r--r--Master/tlpkg/tlpsrc/texlive.infra.tlpsrc1
2 files changed, 0 insertions, 246 deletions
diff --git a/Master/texmf/scripts/texlive/updater-w32 b/Master/texmf/scripts/texlive/updater-w32
deleted file mode 100644
index 0f36ff6b163..00000000000
--- a/Master/texmf/scripts/texlive/updater-w32
+++ /dev/null
@@ -1,245 +0,0 @@
-@echo off
-rem Update script for TeX Live infrastructure
-rem called automatically if there are any infrastructure updates
-rem
-rem Copyright 2009 by Tomasz M. Trzeciak <t.m.trzeciak@googlemail.com>
-rem This file is licensed under the GNU General Public License version 2
-rem or any later version.
-rem
-
-:: ===================================================================
-:: INFRASTRUCTURE UPDATE ON WINDOWS
-:: ===================================================================
-:: Infrastructure files cannot be updated directly from the tlmgr.pl
-:: script due to file locking problem on Windows---files that are in
-:: use (either open or executing) cannot be removed or replaced.
-:: Therefore the update process is performed by a batch script outside
-:: of tlmgr.pl.
-:: There are three pieces involved in the update: tlmgr.bat launcher,
-:: write_w32_updater subroutine in tlmgr.pl and this script. Their
-:: roles are as follows:
-:: * tlmgr.bat is a watchdog, it launches tlmgr.pl and watches for
-:: a trigger script that is to be executed. If trigger script exists
-:: before tlmgr.pl is launched, it will be removed or tlmgr.bat will
-:: abort if it fails to do so. This means that the trigger script
-:: has to be created by the current invocation of tlmgr.pl.
-:: Futhermore, the trigger script is renamed from updater-w32 to
-:: updater-w32.bat just before it is run, and thus it can trigger only
-:: once.
-:: * write_w32_updater subroutine in tlmgr.pl prepares the update
-:: and writes the trigger script. Packages in .xz archives are
-:: dowloaded/copied and uncompressed to .tar files. Also .tar
-:: backups of the current packages are made. If everything is
-:: successful, the trigger script is created from the template
-:: appended with evironment settings needed for the update.
-:: Otherwise the update is aborted.
-:: * updater-w32[.bat], which is this script, triggers and executes
-:: the actual update. The list of packages to update and any
-:: additional information is passed through evironment,
-:: including agrmuments for tlmgr restart needed to complete the
-:: update of remaining packages.
-:: The list of infrastructure packages consists of triples:
-:: package-name old-revision-number new-revision-number
-:: For each package-name a .tar archive package-name.tar is expected
-:: (also for .source and .doc pseudo packages---those are for
-:: distribution only and don't appear separately in tlpdb).
-:: Additionally a backup archive is expected:
-:: __BACKUP_package-name.rXXX.tar,
-:: where XXX is (old) revision number (.source and .doc are included
-:: in the backup).
-:: The update itself proceeds as follows:
-:: (1) untar all package archives
-:: (2) include .tlpobj files into tlpdb
-:: (3) print update info
-:: (4) optionally restart tlmgr to complete the update
-:: Any error during (1) or (2) triggers the rollback action:
-:: (1) print failed update info
-:: (2) untar all package backups
-:: (3) include .tlpobj files (from backup) into tlpdb
-:: (4) print restore info
-:: Any error during (2) or (3) and we go into panic mode. At this
-:: point there is no guarantee that the installation is still
-:: working. There is not much we can do but to print failed restore
-:: info and give instructions to download and run
-:: 'update-tlmgr-latest.exe' to repair the installation.
-:: ===================================================================
-
-
-rem Make environment changes local & enable cmd extensions
-rem (we don't want delayed expansion becasue it's hard to echo bang !)
-setlocal enableextensions disabledelayedexpansion
-
-rem Make sure that dynamic variables are not overshadowed
-for %%I in (errorlevel date time) do (set %%I=)
-
-rem Set up the evironment for update
-call :setupenv
-if /i %w32upd_debug%0 GEQ 20 (echo on)
-
-if "%~1"=="main" goto :main
-
-set respawn=
-rem For gui mode console window might be hidden, so open a new one
-if "%w32upd_gui_mode%"=="1" set respawn=start /wait
-rem Restart in cmd.exe to avoid problems if 4NT is used
-call :debug "respawning in cmd.exe ..."
-%respawn% cmd.exe /c call "%~f0" main
-if errorlevel 1 exit /b %errorlevel%
-if defined w32upd_rerun_args (
- call :info "Restarting tlmgr to complete update ..."
- call tlmgr.bat %w32upd_rerun_args%
-)
-set exitcode=%errorlevel%
-rem Self-delete without error message about missing file
-start /b cmd.exe /c del "%~f0" & exit /b %exitcode%
-
-:main
-title %w32upd_title%
-
-if not defined w32upd_args (
- call :error "Update arguments not defined, please report this to: tex-live@tug.org"
- goto :abort
-)
-call :debug "update package list: %w32upd_args%"
-
-rem Get TL installation root and log file location
-for /f "tokens=1-2 delims=;" %%I in (
- 'kpsewhich -expand-var="$SELFAUTOLOC/:;$TEXMFSYSVAR/web2c/tlmgr.log"'
-) do (
- set "tlroot=%%~fI"
- set "tlmgrlog=%%~fJ"
-)
-set "tlroot=%tlroot:\bin\win32\:=%"
-if not exist "%tlroot%\texmf\scripts\texlive\tlmgr.pl" (
- call :error "Could not locate installation root."
- goto :abort
-)
-call :debug "TL root: %tlroot%"
-if not exist "%tlmgrlog%" (set "tlmgrlog=%~dpn0.log")
-
-rem Make a private copy of tar.exe
-copy /y "%tlroot%\tlpkg\installer\tar.exe" "%tlroot%\temp\tar-w32.exe" >nul
-if errorlevel 1 (
- call :error "Could not copy tar.exe."
- goto :abort
-)
-
-rem Set up perl environment
-set "PERL5LIB=%tlroot%\tlpkg\tlperl\lib"
-
-rem Get package list
-set pkgpartslist=%w32upd_args%
-rem Construct package list without .source and .doc packages
-rem Count the total number of packages while doing that
-set pkgcount=0
-(set pkglist=)
-call :foreachpkg remove_src_doc pkglist %pkgpartslist%
-
-rem Begin update
-echo DO NOT CLOSE THIS WINDOW!
-call :info "TeX Live infrastructure update [%date% %time%]"
-call :foreachpkg untar "%tlroot%\temp\" %pkgpartslist%
-if errorlevel 1 goto :rollback
-call :foreachpkg incltlpobj "%tlroot%\tlpkg\tlpobj\" %pkgpartslist%
-if errorlevel 1 goto :rollback
-call :foreachpkg updateinfo "update" %pkglist%
-call :printmsg "TeX Live infrastructure update complete." 0 "%w32upd_title%"
-del "%tlroot%\temp\tar-w32.exe" "%tlroot%\temp\*.tar" 1>nul
-exit /b 0
-
-:rollback
-call :foreachpkg updateinfo "failed update" %pkglist% >&2
-call :info "Rolling back to previous version ..."
-call :foreachpkg untar "%tlroot%\temp\__BACKUP_" %pkglist%
-if errorlevel 1 goto :panic
-call :foreachpkg incltlpobj "%tlroot%\tlpkg\tlpobj\" %pkglist%
-if errorlevel 1 goto :panic
-call :foreachpkg restoreinfo "restore" %pkglist%
-call :printmsg "TeX Live infrastructure update failed.\nPrevious version has been restored." 16 "ERROR: %w32upd_title%" >&2
-exit /b 1
-
-:panic
-call :foreachpkg restoreinfo "failed restore" %pkglist% >&2
-call :printmsg "TeX Live infrastructure update failed and backup recovery failed as well.\nYour TeX Live installation may be broken, to repair it download and run:\nhttp://mirror.ctan.org/systems/texlive/tlnet/update-tlmgr-latest.exe" 16 "FATAL ERROR: %w32upd_title%" >&2
-rem Evil has taken over - emit adequate exit code
-exit /b 666
-
-:abort
-call :info "Aborting infrastructure update, no changes have been made."
-exit /b 1
-
-REM SUBROUTINES
-
-:foreachpkg cmd prefix pkgname oldrev newrev ...
-set pkgnr=0
-:pkgloop
-if [%3]==[] exit /b 0
-call :%1 %2 %3 %4 %5
-if errorlevel 1 exit /b 1
-shift /3 & shift /3 & shift /3
-goto :pkgloop
-
-:remove_src_doc
-if /i %~x2.==.source. exit /b 0
-if /i %~x2.==.doc. exit /b 0
-set %1=%pkglist% %2 %3 %4
-set /a pkgcount+=1
-exit /b 0
-
-:untar %tlroot%\temp\[__BACKUP_] pkgname
-set "suffix=tar"
-if %~n1_==__BACKUP__ set "suffix=r%~3.tar"
-call :debug "untar: %~1%~2.%suffix%"
-"%tlroot%\temp\tar-w32.exe" -C "%tlroot%" -f "%~1%~2.%suffix%" -x
-exit /b %errorlevel%
-
-:incltlpobj %tlroot%\tlpkg\tlpobj\ pkgname
-call :debug "include into tlpdb: %~1%~2.tlpobj"
-"%tlroot%\tlpkg\tlperl\bin\perl.exe" "%tlroot%\texmf\scripts\texlive\tlmgr.pl" _include_tlpobj "%~1%~2.tlpobj"
-exit /b %errorlevel%
-
-:info "message text"
-call :echomsg "%~1"
-exit /b 0
-
-:debug "message text"
-if /i %w32upd_debug%0 GTR 0 (
- call :echomsg "D: %~1" >&2
-) else (
- call :echomsg "D: %~1" >nul
-)
-exit /b 0
-
-:error "message text"
-call :echomsg "%~1" >&2
-exit /b 1
-
-:echomsg "message text"
-set /p "=%~1" <nul >>"%~dpn0.log"
-echo.>>"%~dpn0.log"
-set /p "=%~1" <nul
-echo.
-exit /b 0
-
-:updateinfo header pkgname oldrev newrev
-set "infomsg= -> %~4"
-:restoreinfo header pkgname oldrev newrev
-set "infomsg=%~1: %~2 (%~3%infomsg%)"
-set "infomsg=%infomsg:>=^>%"
-set /a pkgnr+=1
-echo [%pkgnr%/%pkgcount%] %infomsg%
-echo [%pkgnr%/%pkgcount%] %infomsg%>>"%~dpn0.log"
-echo [%date% %time%] %infomsg%>>"%tlmgrlog%"
-set "infomsg="
-exit /b 0
-
-:printmsg "message text"
-set infomsg=%~1
-for %%I in ("%infomsg:\n=" "%") do call :info "%%~I"
-if not "%w32upd_gui_mode%"=="1" exit /b 0
-echo MsgBox Replace("%~1", "\n", Chr(10)), %2, "%~3" >"%tlroot%\temp\dialogpopup.vbs"
-cscript -nologo "%tlroot%\temp\dialogpopup.vbs"
-del "%tlroot%\temp\dialogpopup.vbs"
-exit /b %errorlevel%
-
-rem Everything below is generated automatically by tlmgr on each infrastructure update
diff --git a/Master/tlpkg/tlpsrc/texlive.infra.tlpsrc b/Master/tlpkg/tlpsrc/texlive.infra.tlpsrc
index 433bb067f65..341ad0c2f08 100644
--- a/Master/tlpkg/tlpsrc/texlive.infra.tlpsrc
+++ b/Master/tlpkg/tlpsrc/texlive.infra.tlpsrc
@@ -29,7 +29,6 @@ binpattern f bin/${ARCH}/tlmgr
binpattern f/win32 bin/win32/runscript.dll
binpattern f/win32 bin/win32/tl-w32-wrapper.cmd
binpattern f/win32 bin/win32/tlmgr-gui.vbs
-binpattern f/win32 texmf/scripts/texlive/updater-w32
binpattern f/win32 tlpkg/installer/tar.exe
binpattern f/win32 tlpkg/installer/xz/xzdec.exe
binpattern f/win32 tlpkg/installer/xz/xz.exe