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
# Script to build everything possible : sources and binaries for all archs
. ./CONF.sh
rm -rf "$TDIR"
rm -rf "$OUT"
TMP_OUT=$OUT
if [ -z "$ARCHES" ]; then
export ARCHES='amd64 i386 powerpc'
fi
for FULLARCH in $ARCHES
do
export ARCH="${FULLARCH%%+*}"
if [ "$ARCH" = "$FULLARCH" ]; then
export SUBARCH=
else
export SUBARCH="${FULLARCH#*+}"
fi
echo "Now we're going to build CD for $FULLARCH !"
if type find-mirror >/dev/null 2>&1; then
# TODO: nasty upcall to cdimage wrapper scripts
export MIRROR="$(find-mirror "$ARCH")"
if [ "$SECURITY" ]; then
export SECURITY="$MIRROR"
fi
fi
echo " ... cleaning"
make distclean
make ${CODENAME}_status
echo " ... checking your mirror"
if [ "$SKIPMIRRORCHECK" != "yes" ] ; then
make mirrorcheck-binary
if [ "$FULLARCH" = "i386" ]; then
make mirrorcheck-source
fi
else
echo "WARNING: skipping mirrorcheck"
fi
if [ $? -gt 0 ]; then
echo "ERROR: Your mirror has a problem, please correct it." >&2
exit 1
fi
echo " ... selecting packages to include"
if [ -e ${MIRROR}/dists/${CODENAME}/main/disks-${ARCH}/current/. ] ; then
disks=`du -sm ${MIRROR}/dists/${CODENAME}/main/disks-${ARCH}/current/. | \
awk '{print $1}'`
else
disks=0
fi
if [ -f $BASEDIR/tools/boot/$CODENAME/boot-$FULLARCH.calc ]; then
. $BASEDIR/tools/boot/$CODENAME/boot-$FULLARCH.calc
fi
SIZE_ARGS=''
for CD in 1; do
size=`eval echo '$'"BOOT_SIZE_${CD}"`
[ "$size" = "" ] && size=0
[ $CD = "1" ] && size=$(($size + $disks))
mult=`eval echo '$'"SIZE_MULT_${CD}"`
[ "$mult" = "" ] && mult=100
FULL_SIZE=`echo "($DEFBINSIZE - $size) * 1024 * 1024" | bc`
echo "INFO: Reserving $size MB on CD $CD for boot files. SIZELIMIT=$FULL_SIZE."
if [ $mult != 100 ]; then
echo " INFO: Reserving "$((100-$mult))"% of the CD for extra metadata"
FULL_SIZE=`echo "$FULL_SIZE * $mult" / 100 | bc`
echo " INFO: SIZELIMIT now $FULL_SIZE."
fi
SIZE_ARGS="$SIZE_ARGS SIZELIMIT${CD}=$FULL_SIZE"
done
FULL_SIZE=`echo "($DEFSRCSIZE - $size) * 1024 * 1024" | bc`
echo " ... building the images"
if [ "$FULLARCH" = "i386" ] && \
([ "$CDIMAGE_INSTALL" = 1 ] || [ "$CDIMAGE_ONLYSOURCE" = 1 ]) && \
[ "$CDIMAGE_DVD" != 1 ] && [ "$DIST" != warty ] && \
[ "$SPECIAL" != 1 ] && [ "$CDIMAGE_NOSOURCE" != 1 ]; then
if [ "$CDIMAGE_ONLYSOURCE" != 1 ]; then
make list $SIZE_ARGS SRCSIZELIMIT=$FULL_SIZE
else
make src-list SRCSIZELIMIT=$FULL_SIZE
fi
export OUT="$TMP_OUT/src"; mkdir -p $OUT
make src-official_images $SIZE_ARGS SRCSIZELIMIT=$FULL_SIZE
echo Generating MD5Sums of the source images
make imagesums
echo Generating list files for source images
make pi-makelist
if [ "$CDIMAGE_ONLYSOURCE" != 1 ]; then
export OUT="$TMP_OUT/$FULLARCH"; mkdir -p $OUT
make bin-official_images $SIZE_ARGS SRCSIZELIMIT=$FULL_SIZE
echo Generating list files for images
make pi-makelist
fi
elif [ "$CDIMAGE_PREINSTALLED" = 1 ]; then
export OUT="$TMP_OUT/$FULLARCH"; mkdir -p $OUT
make bin-preinstalled_images
else
make bin-list $SIZE_ARGS SRCSIZELIMIT=$FULL_SIZE
export OUT=$TMP_OUT/$FULLARCH; mkdir -p $OUT
make bin-official_images $SIZE_ARGS SRCSIZELIMIT=$FULL_SIZE
if [ $? -gt 0 ]; then
echo "ERROR WHILE BUILDING OFFICIAL IMAGES !!" >&2
if [ "$ATTEMPT_FALLBACK" = "yes" ]; then
echo "I'll try to build a simple (non-bootable) CD" >&2
make clean
make installtools
make bin-images $SIZE_ARGS SRCSIZELIMIT=$FULL_SIZE
else
# exit 1
continue
fi
fi
echo Generating list files for images
make pi-makelist
fi
if [ "$CDIMAGE_COMPRESS" = 1 ]; then
echo Compressing CD images
make bin-compress_images
fi
if [ "$CDIMAGE_ONLYSOURCE" != 1 ]; then
echo Generating MD5Sums of the binary images
make imagesums
fi
echo "--------------- `date` ---------------"
done
|