Subversion Repositories SvarDOS

Rev

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

Rev 781 Rev 791
Line 1... Line 1...
1
#!/bin/bash
1
#!/bin/bash
2
#
2
#
3
# SvarDOS build script
3
# SvarDOS build script
4
# http://svardos.osdn.io
4
# http://svardos.org
5
# Copyright (C) 2016-2022 Mateusz Viste
5
# Copyright (C) 2016-2022 Mateusz Viste
6
#
6
#
7
# This script generates the SvarDOS repository index and builds ISO CD images.
7
# This script generates the SvarDOS repository index and builds floppy and CD
8
# It should be executed each time that a package has been modified, added or
8
# images. It should be executed each time that a CORE package has been
9
# removed.
9
# modified, added or removed.
10
#
10
#
11
# usage: ./build.sh [noclean]
11
# usage: ./build.sh [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
PKGDIR=`realpath ./packages`
-
 
18
REPOROOT=`realpath ./packages`
17
REPOROOT=`realpath ./packages`
19
PUBDIR=`realpath ./website/download`/$CURDATE
18
PUBDIR=`realpath ./website/download`/$CURDATE
20
CDROOT=`realpath ./cdroot`
19
CDROOT=`realpath ./tmp_cdroot.build`
21
FLOPROOT=`realpath ./floproot`
20
FLOPROOT=`realpath ./tmp_floproot.build`
22
CUSTFILES=`realpath ./files`
21
CUSTFILES=`realpath ./files`
23
 
22
 
24
GENISOIMAGE=''    # can be mkisofs, genisoimage or empty for autodetection
23
GENISOIMAGE=''    # can be mkisofs, genisoimage or empty for autodetection
25
 
24
 
26
### parameters block ends here ##############################################
25
### parameters block ends here ##############################################
Line 50... Line 49...
50
# abort if anything fails
49
# abort if anything fails
51
set -e
50
set -e
52
 
51
 
53
 
52
 
54
# list of packages to be part of CORE (always installed)
53
# list of packages to be part of CORE (always installed)
55
COREPKGS="amb attrib chkdsk choice command cpidos debug deltree diskcopy display dosfsck edit fc fdapm fdisk find format help himemx kernel keyb label localcfg mem mode more move pkg pkgnet shsucdx sort tree"
54
COREPKGS=`ls -1 'packages/core' | grep -o '^[a-z]*'`
56
 
55
 
57
# list of packages to be part of EXTRA (only sometimes installed, typically drivers)
56
# list of packages to be part of EXTRA (only sometimes installed, typically drivers)
58
EXTRAPKGS="pcntpk udvd2"
57
EXTRAPKGS="pcntpk udvd2"
59
 
58
 
60
# all packages
59
# all packages
Line 116... Line 115...
116
mkdir "$FLOPROOT"
115
mkdir "$FLOPROOT"
117
mkdir "$PUBDIR"
116
mkdir "$PUBDIR"
118
 
117
 
119
# add CORE packages to CDROOT + create the list of packages on floppy
118
# add CORE packages to CDROOT + create the list of packages on floppy
120
for pkg in $COREPKGS ; do
119
for pkg in $COREPKGS ; do
121
  cp "$REPOROOT/$pkg.svp" "$CDROOT/"
120
  cp "$REPOROOT/core/$pkg.svp" "$CDROOT/"
122
  echo "$pkg" >> "$FLOPROOT/install.lst"
121
  echo "$pkg" >> "$FLOPROOT/install.lst"
123
done
122
done
124
 
123
 
125
# add EXTRA packages to CDROOT (but not in the list of packages so instal won't install them by default)
124
# add EXTRA packages to CDROOT (but not in the list of packages to install)
126
for pkg in $EXTRAPKGS ; do
125
for pkg in $EXTRAPKGS ; do
127
  cp "$REPOROOT/$pkg.svp" "$CDROOT/"
126
  cp "$REPOROOT/$pkg.svp" "$CDROOT/"
128
done
127
done
129
 
128
 
130
 
129
 
131
# prepare the content of the boot (install) floppy
130
# prepare the content of the boot (install) floppy
132
cp -r "$CUSTFILES/floppy/"* "$FLOPROOT/"
131
cp -r "$CUSTFILES/floppy/"* "$FLOPROOT/"
133
unzip -Cj packages/cpidos.svp 'cpi/ega*.cpx' -d "$FLOPROOT/"
132
unzip -Cj "$REPOROOT/core/cpidos.svp" 'cpi/ega*.cpx' -d "$FLOPROOT/"
134
unzip -Cj packages/command.svp bin/command.com -d "$FLOPROOT/"
133
unzip -Cj "$REPOROOT/core/command.svp" bin/command.com -d "$FLOPROOT/"
135
unzip -Cj packages/display.svp bin/display.exe -d "$FLOPROOT/"
134
unzip -Cj "$REPOROOT/core/display.svp" bin/display.exe -d "$FLOPROOT/"
136
unzip -Cj packages/edit.svp bin/edit.exe -d "$FLOPROOT/"
135
unzip -Cj "$REPOROOT/core/edit.svp" bin/edit.exe -d "$FLOPROOT/"
137
unzip -Cj packages/fdapm.svp bin/fdapm.com -d "$FLOPROOT/"
136
unzip -Cj "$REPOROOT/core/fdapm.svp" bin/fdapm.com -d "$FLOPROOT/"
138
unzip -Cj packages/fdisk.svp bin/fdisk.exe bin/fdiskpt.ini -d "$FLOPROOT/"
137
unzip -Cj "$REPOROOT/core/fdisk.svp" bin/fdisk.exe bin/fdiskpt.ini -d "$FLOPROOT/"
139
unzip -Cj packages/format.svp bin/format.exe -d "$FLOPROOT/"
138
unzip -Cj "$REPOROOT/core/format.svp" bin/format.exe -d "$FLOPROOT/"
140
unzip -Cj packages/kernel.svp bin/kernel.sys bin/sys.com -d "$FLOPROOT/"
139
unzip -Cj "$REPOROOT/core/kernel.svp" bin/kernel.sys bin/sys.com -d "$FLOPROOT/"
141
unzip -Cj packages/mem.svp bin/mem.exe -d "$FLOPROOT/"
140
unzip -Cj "$REPOROOT/core/mem.svp" bin/mem.exe -d "$FLOPROOT/"
142
unzip -Cj packages/mode.svp bin/mode.com -d "$FLOPROOT/"
141
unzip -Cj "$REPOROOT/core/mode.svp" bin/mode.com -d "$FLOPROOT/"
143
unzip -Cj packages/more.svp bin/more.exe -d "$FLOPROOT/"
142
unzip -Cj "$REPOROOT/core/more.svp" bin/more.exe -d "$FLOPROOT/"
144
unzip -Cj packages/pkg.svp bin/pkg.exe -d "$FLOPROOT/"
143
unzip -Cj "$REPOROOT/core/pkg.svp" bin/pkg.exe -d "$FLOPROOT/"
145
 
144
 
146
# build the boot (CD) floppy image
145
# build the boot (CD) floppy image
147
export MTOOLS_NO_VFAT=1
146
export MTOOLS_NO_VFAT=1
148
#mformat -C -f 2880 -v SVARDOS -B "$CUSTFILES/floppy.mbr" -i "$CDROOT/boot.img"
147
#mformat -C -f 2880 -v SVARDOS -B "$CUSTFILES/floppy.mbr" -i "$CDROOT/boot.img"
149
#mcopy -sQm -i "$CDROOT/boot.img" "$FLOPROOT/"* ::/
148
#mcopy -sQm -i "$CDROOT/boot.img" "$FLOPROOT/"* ::/
Line 154... Line 153...
154
prep_flop 80 2 15 1200
153
prep_flop 80 2 15 1200
155
prep_flop 80 2  9  720
154
prep_flop 80 2  9  720
156
#prep_flop 96 64 32 98304 "$PUBDIR/svardos-zip100.img" # ZIP 100M (for USB boot in "USB-ZIP mode")
155
#prep_flop 96 64 32 98304 "$PUBDIR/svardos-zip100.img" # ZIP 100M (for USB boot in "USB-ZIP mode")
157
 
156
 
158
# prepare the DOSEMU boot zip
157
# prepare the DOSEMU boot zip
159
DOSEMUDIR='dosemu-prep-files'
158
DOSEMUDIR='tmp_dosemu-prep-files.build'
160
mkdir "$DOSEMUDIR"
159
mkdir "$DOSEMUDIR"
161
# INSTALL.BAT
160
# INSTALL.BAT
162
echo 'IF NOT EXIST C:\TEMP\NUL MKDIR C:\TEMP' >> "$DOSEMUDIR/install.bat"
161
echo 'IF NOT EXIST C:\TEMP\NUL MKDIR C:\TEMP' >> "$DOSEMUDIR/install.bat"
163
echo 'mkdir %DOSDIR%' >> "$DOSEMUDIR/install.bat"
162
echo 'mkdir %DOSDIR%' >> "$DOSEMUDIR/install.bat"
164
echo 'mkdir %DOSDIR%\cfg' >> "$DOSEMUDIR/install.bat"
163
echo 'mkdir %DOSDIR%\cfg' >> "$DOSEMUDIR/install.bat"
Line 178... Line 177...
178
echo 'ECHO.' >> "$DOSEMUDIR/install.bat"
177
echo 'ECHO.' >> "$DOSEMUDIR/install.bat"
179
echo 'ECHO -------------------------' >> "$DOSEMUDIR/install.bat"
178
echo 'ECHO -------------------------' >> "$DOSEMUDIR/install.bat"
180
echo 'ECHO  SVARDOS SETUP COMPLETED ' >> "$DOSEMUDIR/install.bat"
179
echo 'ECHO  SVARDOS SETUP COMPLETED ' >> "$DOSEMUDIR/install.bat"
181
echo 'ECHO -------------------------' >> "$DOSEMUDIR/install.bat"
180
echo 'ECHO -------------------------' >> "$DOSEMUDIR/install.bat"
182
echo 'ECHO.' >> "$DOSEMUDIR/install.bat"
181
echo 'ECHO.' >> "$DOSEMUDIR/install.bat"
183
unzip -Cj packages/kernel.svp bin/kernel.sys -d "$DOSEMUDIR/"
182
unzip -Cj "$REPOROOT/core/kernel.svp" bin/kernel.sys -d "$DOSEMUDIR/"
184
unzip -Cj packages/command.svp bin/command.com -d "$DOSEMUDIR/"
183
unzip -Cj "$REPOROOT/core/command.svp" bin/command.com -d "$DOSEMUDIR/"
185
unzip -Cj packages/pkg.svp bin/pkg.exe -d "$DOSEMUDIR/"
184
unzip -Cj "$REPOROOT/core/pkg.svp" bin/pkg.exe -d "$DOSEMUDIR/"
186
# CONFIG.SYS
185
# CONFIG.SYS
187
echo 'FILES=50' >> "$DOSEMUDIR/config.sys"
186
echo 'FILES=50' >> "$DOSEMUDIR/config.sys"
188
echo 'DOS=HIGH,UMB' >> "$DOSEMUDIR/config.sys"
187
echo 'DOS=HIGH,UMB' >> "$DOSEMUDIR/config.sys"
189
echo 'DOSDATA=UMB' >> "$DOSEMUDIR/config.sys"
188
echo 'DOSDATA=UMB' >> "$DOSEMUDIR/config.sys"
190
echo 'DEVICE=D:\dosemu\emufs.sys' >> "$DOSEMUDIR/config.sys"
189
echo 'DEVICE=D:\dosemu\emufs.sys' >> "$DOSEMUDIR/config.sys"