diff options
author | Karl Berry <karl@freefriends.org> | 2008-06-10 01:18:26 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2008-06-10 01:18:26 +0000 |
commit | 255db2f3bb08ad2932f94408958bf388e138275d (patch) | |
tree | dbd95da7de16932b9fb58207c3c8ea62a5e8b797 /Master/tlpkg/bin/tl-update-images | |
parent | 08a7a657ead12cbef29c4e403b49a408337fd68e (diff) |
first cut at making images
git-svn-id: svn://tug.org/texlive/trunk@8631 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/bin/tl-update-images')
-rwxr-xr-x | Master/tlpkg/bin/tl-update-images | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/Master/tlpkg/bin/tl-update-images b/Master/tlpkg/bin/tl-update-images new file mode 100755 index 00000000000..a1c48e57cae --- /dev/null +++ b/Master/tlpkg/bin/tl-update-images @@ -0,0 +1,112 @@ +#!/bin/sh -e +# $Id$ +# +# Create the .iso file system images for TeX Live: +# a) live: the complete uncompressed system (for DVD) +# +# Copyright 2003, 2004, 2005 Sebastian Rahtz. +# Copyright 2007, 2008 Karl Berry. +# +# This file is licensed under the GNU General Public License version 2 +# or any later version. +# +# In 2003, we also produced: +# c) demo: live subset which can be run as is (CD) +# but this was dropped in 2004. +# +# From 2004-2007, we also produced: +# b) inst: compressed zip files and installer only (CD) +# but this was dropped in 2008. +# +# Send bug reports or suggestions to tex-live@tug.org. + +unset CDPATH # avoid output from cd +umask 0 +renice +19 -p $$ >/dev/null 2>&1 + +HERE=`cd \`dirname $0\` && /bin/pwd` +cd $HERE || exit 1 # the Master/tlpkg/bin directory +master=`cd ../.. && /bin/pwd` +test -z "$master" && exit 1 + +NAME=texlivetest +V=2008 +D=`date +%Y%m%d` + +debug=${OVERRIDE_DEBUG-false} +target=/home/ftp/texlive/Images/test +work=/home/texlive/tmp/TL_$$ +quiet= # for passing to mkisofs +makelive=true +mkisofs=mkisofs + +while test $# -gt 0; do + case $1 in + --debug) debug=true; quiet=;; + --help) echo "No help, use the source, sorry."; exit 0;; + --mkisofs=*) mkisofs=`echo $1 | sed 's/.*=//'`;; + --nolive) makelive=false;; + --quiet) quiet=-quiet;; + --source=*) master=`echo $1 | sed 's/.*=//'`;; + --work=*) work=`echo $1 | sed 's/.*=//'`;; + --target=*) target=`echo $1 | sed 's/.*=//'`;; + *) break;; + esac + shift +done + +if $debug; then + echo "master = $master" + echo "target = $target" + echo "work = $work" +fi +mkdir -p $target + +# From the days when we made multiple images. Keep it factored out in +# case they come back. +common_mkisofs_options=" $quiet -pad -J -dir-mode 0755 -r \ + -copyright LICENSE.TL \ + -x ./support/tests \ + -x .svn \ +" + +# +MAKELIVE () { + echo "-- `date` Writing live image to $live_iso." + + prefix=$target/$NAME$V + live_iso=$prefix-$D.iso + + # remove old images and checksums. + rm -f $prefix-*.iso* $prefix-*.md5 $prefix-*.sha256 + + # The Master directory is the image. + (cd $master || exit 1 + mkisofs $common_mkisofs_options -o $live_iso . + ) + + # also make compressed version, helps people downloading test images. + lzma -v <$live_iso >$live_iso.lzma + + # make checksums + # and symlinks with short names (potentially used in /etc/fstab). + for ext in "" .lzma; do + rm -f $prefix.iso$ext $prefix.iso$ext.md5 $prefix.iso$ext.sha256 + + (cd $target && md5sum `basename $live_iso$ext`) >$live_iso$ext.md5 + (cd $target && sha256sum `basename $live_iso$ext`) >$live_iso$ext.sha256 + + ln -s `basename $live_iso$ext` $prefix.iso$ext + ln -s `basename $live_iso`$ext.md5 $prefix.iso$ext.md5 + ln -s `basename $live_iso`$ext.sha256 $prefix.iso$ext.sha256 + + ls -l $live_iso$ext + done +} + + +# main program. + +$makelive && MAKELIVE + +rm -rf $work |