blob: 9647d8a9a51d2b6b1b338102dc159822431fbc0b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
#!/bin/sh
# $Id$
# Originally written 2004, Karl Berry. Public domain.
#
# Rebuild the TeX Live distribution -- no actual recompilation of
# sources (see Build/source/Build for that), but all the infrastructure
# files, up to and including making ISO images.
mydir=`dirname $0`
tools=`cd $mydir && pwd`
PATH=$tools:$PATH; export PATH
umask 0
if test x$1 = x-n; then
chicken=true
shift
else
chicken=false
fi
#
if test x$1 = x--no-tpm; then
no_tpm=true
shift
else
no_tpm=false
fi
#
if test x$1 = x--no-images; then
no_images=true
shift
else
no_images=false
fi
#
if test x$1 = x--no-test; then
no_test=true
shift
else
no_test=false
fi
message() \
{
printf "\f\n`date` $0: $*...\n"
}
# don't work with old stuff.
master=`cd $tools/../../Master && pwd`
top=`cd $master/.. && pwd`
message "svn update"
(cd $top && svn update) || exit 1
if $no_tpm; then :; else
# have to run multiple times to make the sizes converge, since the .tpm
# file is itself one of the files in the package.
# Fabrice says four times is the magic number.
message "update-tpm regeneration #1"
(update-tpm
message "#2"
update-tpm
message "#3"
update-tpm
message "#4"
update-tpm || exit 1) | grep -v '^Writing '
# sanity check of tpms, hopefully nothing to report after the update.
message "tpm-check"
tpm-check || exit 1
# just checking?
$chicken && exit 0
for dir in texmf/tpm texmf-dist/tpm texmf-doc/tpm; do
cd $master/$dir || exit 1
message "$dir: finding changed tpms"
for f in "$@"; do
diff="`svn --diff-cmd=diff -x -u0 diff $f`"
diff_without_date=`echo "$diff" | egrep -v '^[-+=@]{2,3}|TPM:Date|^Index'`
if test -z "$diff"; then
svn revert $f
elif test -z "$diff_without_date"; then
# checking to see if this ever happens; the date should be stable?
echo "$f diff only in date, reverted: $diff"
svn revert $f
else
echo " $f diff:"
echo "$diff"
fi
done
# This will not svn add new tpm's, or svn remove old ones.
# Theory is that that should be done when adding/removing packages,
# too dangerous to do it here.
svn commit -m"tlrebuild [tpm] autoupdate of `pwd`"
done
# lists files used by the Unix installer.
message "update-lists for Unix installer"
update-lists || exit 1
message "ls-R updates"
update-lsr
fi # end --no-tpm
#
$no_images && exit 0
message "making ISO images"
MakeImages.sh --debug --target=/home/ftp/texlive/Images/test
$no_test && exit 0
message "doing test installation"
instdir=/home/ftp/texlive/Contents/testinstalled
rm -rf $instdir
cd $master || exit
# D/1/$instdir/R -- target directory
# I -- do installation
time nice sh ./install-live.sh <<EOF
D
1
$instdir
R
I
EOF
chmod -R a+rwX $instdir
|