#!/bin/sh -e # $Id$ # Public domain. Originally written 2008, Karl Berry. # Update the tlcritical mini-repository on tug with the critical # packages. Also listed in tl-update-containers, unfortunately. mydir=`cd \`dirname $0\` && pwd` PATH=$mydir:/usr/local/gnu/bin:/usr/local/bin:$PATH # sha256sum+makensis on tug cd ${TMPDIR-/tmp} tlcrit=/home/ftp/texlive/tlcritical # function to update one of recovery scripts (sh or exe) in tlcritical. # do_updater () { type=$1 # sh or exe newfile=`ls update-*.$type` if test -z "$newfile"; then echo "$0: no new file update-*.$type in `pwd`" >&2 exit 1 fi rm -f $tlcrit/update-*.$type* # rm old file and checksum mv $newfile $tlcrit # move new file # # make checksum for new file (cd $tlcrit && sha256sum $newfile >$newfile.sha256) # # link to generic names (cd $tlcrit && ln -s $newfile update-tlmgr-latest.$type) (cd $tlcrit && ln -s $newfile.sha256 update-tlmgr-latest.$type.sha256) } # update normal containers. echo "$0: running tl-update-containers (for critical packages)..." tl-update-containers -location $tlcrit -all \ 00texlive.installation 00texlive.config texlive.infra # update Unix disaster recovery. echo "$0: running tl-makeself-from-tlnet..." tl-makeself-from-tlnet $tlcrit do_updater sh # update the Windows updater executable. echo "$0: running tl-update-nsis..." tl-update-nsis >/tmp/updater.nsi makensis /tmp/updater.nsi >/tmp/makensis.log rm -f /tmp/updater.nsi do_updater exe ls -lt $tlcrit