Subversion Repositories SvarDOS

Rev

Rev 791 | Rev 838 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 791 Rev 836
Line 6... Line 6...
6
#
6
#
7
# This script generates the SvarDOS repository index and builds floppy and CD
7
# This script generates the SvarDOS repository index and builds floppy and CD
8
# images. It should be executed each time that a CORE package has been
8
# images. It should be executed each time that a CORE package has been
9
# modified, added or removed.
9
# modified, added or removed.
10
#
10
#
11
# usage: ./build.sh [noclean]
11
# usage: ./build.sh outputdir [noclean]
12
#
12
#
13
 
13
 
14
### parameters block starts here ############################################
14
### parameters block starts here ############################################
15
 
15
 
16
CURDATE=`date +%Y%m%d`
16
CURDATE=`date +%Y%m%d`
17
REPOROOT=`realpath ./packages`
17
REPOROOT=`realpath ./packages`
18
PUBDIR=`realpath ./website/download`/$CURDATE
-
 
19
CDROOT=`realpath ./tmp_cdroot.build`
-
 
20
FLOPROOT=`realpath ./tmp_floproot.build`
-
 
21
CUSTFILES=`realpath ./files`
18
CUSTFILES=`realpath ./files`
22
 
19
 
23
GENISOIMAGE=''    # can be mkisofs, genisoimage or empty for autodetection
20
GENISOIMAGE=''    # can be mkisofs, genisoimage or empty for autodetection
24
 
21
 
25
### parameters block ends here ##############################################
22
### parameters block ends here ##############################################
26
 
23
 
-
 
24
# look for mandatory output dir
-
 
25
if [ "x$1" == "x" ] ; then
-
 
26
  echo "usage: build.sh outputdir [noclean] > logfile"
-
 
27
  exit 1
-
 
28
fi
-
 
29
PUBDIR=`realpath "$1"`/$CURDATE.staging
-
 
30
 
-
 
31
CDROOT="$PUBDIR/tmp_cdroot.build"
-
 
32
FLOPROOT="$PUBDIR/tmp_floproot.build"
-
 
33
 
-
 
34
 
27
# auto-detect whether to use mkisofs or genisoimage
35
# auto-detect whether to use mkisofs or genisoimage
28
 
36
 
29
if [ "x$GENISOIMAGE" == "x" ] ; then
37
if [ "x$GENISOIMAGE" == "x" ] ; then
30
mkisofs --help 2> /dev/null
38
mkisofs --help 2> /dev/null
31
if [ $? -eq 0 ] ; then
39
if [ $? -eq 0 ] ; then
Line 109... Line 117...
109
### actual code flow starts here ############################################
117
### actual code flow starts here ############################################
110
 
118
 
111
# remember where I am, so I can get back here once all is done
119
# remember where I am, so I can get back here once all is done
112
origdir=`pwd`
120
origdir=`pwd`
113
 
121
 
-
 
122
echo "###############################################################################"
-
 
123
echo " STARTING BUILD $CURDATE"
-
 
124
echo "###############################################################################"
-
 
125
echo "dest dir: $PUBDIR"
-
 
126
echo "current time is `date` and it's a beautiful day somewhere in the world"
-
 
127
echo
-
 
128
 
-
 
129
mkdir "$PUBDIR"
114
mkdir "$CDROOT"
130
mkdir "$CDROOT"
115
mkdir "$FLOPROOT"
131
mkdir "$FLOPROOT"
116
mkdir "$PUBDIR"
-
 
117
 
132
 
118
# add CORE packages to CDROOT + create the list of packages on floppy
133
# add CORE packages to CDROOT + create the list of packages on floppy
119
for pkg in $COREPKGS ; do
134
for pkg in $COREPKGS ; do
120
  cp "$REPOROOT/core/$pkg.svp" "$CDROOT/"
135
  cp "$REPOROOT/core/$pkg.svp" "$CDROOT/"
121
  echo "$pkg" >> "$FLOPROOT/install.lst"
136
  echo "$pkg" >> "$FLOPROOT/install.lst"
Line 125... Line 140...
125
for pkg in $EXTRAPKGS ; do
140
for pkg in $EXTRAPKGS ; do
126
  cp "$REPOROOT/$pkg.svp" "$CDROOT/"
141
  cp "$REPOROOT/$pkg.svp" "$CDROOT/"
127
done
142
done
128
 
143
 
129
 
144
 
-
 
145
echo
-
 
146
echo "### Populating the floppy root at $FLOPROOT"
-
 
147
echo
-
 
148
 
130
# prepare the content of the boot (install) floppy
149
# prepare the content of the boot (install) floppy
131
cp -r "$CUSTFILES/floppy/"* "$FLOPROOT/"
150
cp -r "$CUSTFILES/floppy/"* "$FLOPROOT/"
132
unzip -Cj "$REPOROOT/core/cpidos.svp" 'cpi/ega*.cpx' -d "$FLOPROOT/"
151
unzip -Cj "$REPOROOT/core/cpidos.svp" 'cpi/ega*.cpx' -d "$FLOPROOT/"
133
unzip -Cj "$REPOROOT/core/command.svp" bin/command.com -d "$FLOPROOT/"
152
unzip -Cj "$REPOROOT/core/command.svp" bin/command.com -d "$FLOPROOT/"
134
unzip -Cj "$REPOROOT/core/display.svp" bin/display.exe -d "$FLOPROOT/"
153
unzip -Cj "$REPOROOT/core/display.svp" bin/display.exe -d "$FLOPROOT/"
Line 140... Line 159...
140
unzip -Cj "$REPOROOT/core/mem.svp" bin/mem.exe -d "$FLOPROOT/"
159
unzip -Cj "$REPOROOT/core/mem.svp" bin/mem.exe -d "$FLOPROOT/"
141
unzip -Cj "$REPOROOT/core/mode.svp" bin/mode.com -d "$FLOPROOT/"
160
unzip -Cj "$REPOROOT/core/mode.svp" bin/mode.com -d "$FLOPROOT/"
142
unzip -Cj "$REPOROOT/core/more.svp" bin/more.exe -d "$FLOPROOT/"
161
unzip -Cj "$REPOROOT/core/more.svp" bin/more.exe -d "$FLOPROOT/"
143
unzip -Cj "$REPOROOT/core/pkg.svp" bin/pkg.exe -d "$FLOPROOT/"
162
unzip -Cj "$REPOROOT/core/pkg.svp" bin/pkg.exe -d "$FLOPROOT/"
144
 
163
 
-
 
164
echo
-
 
165
echo "### Creating floppy images"
-
 
166
echo
-
 
167
 
145
# build the boot (CD) floppy image
168
# build the boot (CD) floppy image
146
export MTOOLS_NO_VFAT=1
169
export MTOOLS_NO_VFAT=1
147
#mformat -C -f 2880 -v SVARDOS -B "$CUSTFILES/floppy.mbr" -i "$CDROOT/boot.img"
170
#mformat -C -f 2880 -v SVARDOS -B "$CUSTFILES/floppy.mbr" -i "$CDROOT/boot.img"
148
#mcopy -sQm -i "$CDROOT/boot.img" "$FLOPROOT/"* ::/
171
#mcopy -sQm -i "$CDROOT/boot.img" "$FLOPROOT/"* ::/
149
 
172
 
Line 152... Line 175...
152
prep_flop 80 2 18 1440
175
prep_flop 80 2 18 1440
153
prep_flop 80 2 15 1200
176
prep_flop 80 2 15 1200
154
prep_flop 80 2  9  720
177
prep_flop 80 2  9  720
155
#prep_flop 96 64 32 98304 "$PUBDIR/svardos-zip100.img" # ZIP 100M (for USB boot in "USB-ZIP mode")
178
#prep_flop 96 64 32 98304 "$PUBDIR/svardos-zip100.img" # ZIP 100M (for USB boot in "USB-ZIP mode")
156
 
179
 
-
 
180
echo
-
 
181
echo "### Computing DOSEMU.zip"
-
 
182
echo
-
 
183
 
157
# prepare the DOSEMU boot zip
184
# prepare the DOSEMU boot zip
158
DOSEMUDIR='tmp_dosemu-prep-files.build'
185
DOSEMUDIR="$PUBDIR/tmp_dosemu-prep-files.build"
159
mkdir "$DOSEMUDIR"
186
mkdir "$DOSEMUDIR"
160
# INSTALL.BAT
187
# INSTALL.BAT
161
echo 'IF NOT EXIST C:\TEMP\NUL MKDIR C:\TEMP' >> "$DOSEMUDIR/install.bat"
188
echo 'IF NOT EXIST C:\TEMP\NUL MKDIR C:\TEMP' >> "$DOSEMUDIR/install.bat"
162
echo 'mkdir %DOSDIR%' >> "$DOSEMUDIR/install.bat"
189
echo 'mkdir %DOSDIR%' >> "$DOSEMUDIR/install.bat"
163
echo 'mkdir %DOSDIR%\cfg' >> "$DOSEMUDIR/install.bat"
190
echo 'mkdir %DOSDIR%\cfg' >> "$DOSEMUDIR/install.bat"
Line 207... Line 234...
207
echo "ECHO." >> "$DOSEMUDIR/autoexec.bat"
234
echo "ECHO." >> "$DOSEMUDIR/autoexec.bat"
208
rm -f "$PUBDIR/svardos-dosemu.zip"
235
rm -f "$PUBDIR/svardos-dosemu.zip"
209
zip -rm9jk "$PUBDIR/svardos-$CURDATE-dosemu.zip" "$DOSEMUDIR"
236
zip -rm9jk "$PUBDIR/svardos-$CURDATE-dosemu.zip" "$DOSEMUDIR"
210
rmdir "$DOSEMUDIR"
237
rmdir "$DOSEMUDIR"
211
 
238
 
-
 
239
echo
-
 
240
echo "### Computing the USB image"
-
 
241
echo
-
 
242
 
212
# prepare the USB bootable image
243
# prepare the USB bootable image
213
USBIMG=$PUBDIR/svardos-usb.img
244
USBIMG=$PUBDIR/svardos-usb.img
214
cp files/boot-svardos.img $USBIMG
245
cp files/boot-svardos.img $USBIMG
215
mcopy -sQm -i "$USBIMG@@32256" "$FLOPROOT/"* ::/
246
mcopy -sQm -i "$USBIMG@@32256" "$FLOPROOT/"* ::/
216
for p in $ALLPKGS ; do
247
for p in $ALLPKGS ; do
217
  mcopy -mi "$USBIMG@@32256" "$CDROOT/$p.svp" ::/
248
  mcopy -mi "$USBIMG@@32256" "$CDROOT/$p.svp" ::/
218
done
249
done
219
 
250
 
220
# compress the USB image
251
# compress the USB image
221
rm -f "$PUBDIR/svardos-usb.zip"
-
 
222
zip -mj9 "$PUBDIR/svardos-$CURDATE-usb.zip" "$USBIMG"
252
zip -mj9 "$PUBDIR/svardos-$CURDATE-usb.zip" "$USBIMG"
223
 
253
 
224
# prepare the USB-ZIP bootable image
254
# prepare the USB-ZIP bootable image
225
#USBZIPIMG=$PUBDIR/svardos-usbzip.img
255
#USBZIPIMG=$PUBDIR/svardos-usbzip.img
226
#cat files/usb-zip.mbr "$PUBDIR/svardos-zip100.img" > $USBZIPIMG
256
#cat files/usb-zip.mbr "$PUBDIR/svardos-zip100.img" > $USBZIPIMG
227
 
257
 
-
 
258
echo
-
 
259
echo "### Generating ISO CD image"
-
 
260
echo
-
 
261
 
228
CDISO="$PUBDIR/svardos-$CURDATE-cd.iso"
262
CDISO="$PUBDIR/svardos-$CURDATE-cd.iso"
229
CDZIP="$PUBDIR/svardos-$CURDATE-cd.zip"
263
CDZIP="$PUBDIR/svardos-$CURDATE-cd.zip"
230
 
264
 
231
# delete previous (if any) iso
265
# delete previous (if any) iso
232
echo "cleaning up old versions..."
266
#echo "cleaning up old versions..."
233
rm -f "$CDISO" "$CDZIP"
267
#rm -f "$CDISO" "$CDZIP"
234
 
268
 
235
$GENISOIMAGE -input-charset cp437 -b boot.img -iso-level 1 -f -V SVARDOS -o "$CDISO" "$CDROOT/boot.img"
269
$GENISOIMAGE -input-charset cp437 -b boot.img -iso-level 1 -f -V SVARDOS -o "$CDISO" "$CDROOT/boot.img"
236
 
270
 
237
# compress the ISO
271
# compress the ISO
238
zip -mj9 "$CDZIP" "$CDISO"
272
zip -mj9 "$CDZIP" "$CDISO"
239
 
273
 
240
# cleanup temporary things
274
# cleanup temporary things
241
if [ "x$1" != "xnoclean" ] ; then
275
if [ "x$2" != "xnoclean" ] ; then
-
 
276
  echo
-
 
277
  echo "### Clenup of temporary directories:"
-
 
278
  echo "# $CDROOT"
-
 
279
  echo "# $FLOPROOT"
-
 
280
  echo
242
  rm -rf "$CDROOT" "$FLOPROOT"
281
  rm -rf "$CDROOT" "$FLOPROOT"
243
fi
282
fi
244
 
283
 
245
cd "$origdir"
284
cd "$origdir"
246
 
285
 
247
#cd svnlschk
286
#cd svnlschk
248
#./webgen.sh
287
#./webgen.sh
249
#cd ..
288
#cd ..
250
 
289
 
-
 
290
echo
251
echo "ALL DONE!"
291
echo "### ALL DONE! ###"
252
 
292
 
253
exit 0
293
exit 0