summaryrefslogtreecommitdiff
path: root/Master/tlpkg/bin/tl-update-images
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2008-06-10 01:18:26 +0000
committerKarl Berry <karl@freefriends.org>2008-06-10 01:18:26 +0000
commit255db2f3bb08ad2932f94408958bf388e138275d (patch)
treedbd95da7de16932b9fb58207c3c8ea62a5e8b797 /Master/tlpkg/bin/tl-update-images
parent08a7a657ead12cbef29c4e403b49a408337fd68e (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-xMaster/tlpkg/bin/tl-update-images112
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