Skip to content

Commit 6e1dfcb

Browse files
v1.5.3 (#12)
* Initial Checkin for v1.5.1 * Initial Checkin for v1.5.2 * v1.5.3
1 parent 4edcb14 commit 6e1dfcb

File tree

118 files changed

+157
-8811
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

118 files changed

+157
-8811
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# idea / clion
2+
.idea/

Dockerfile

+13-9
Original file line numberDiff line numberDiff line change
@@ -3,30 +3,34 @@ FROM ubuntu:latest
33

44
RUN apt-get update
55
RUN apt-get install --no-install-recommends -y unzip wget netcat ca-certificates
6-
RUN apt-get install --no-install-recommends -y hercules dos2unix
6+
RUN apt-get install --no-install-recommends -y hercules dos2unix regina-rexx
77

88
WORKDIR /opt/hercules/vm370
99

1010
# Local Config files
11-
COPY *.sh hercules.conf ./
12-
RUN dos2unix *.sh hercules.conf
11+
COPY *.sh hercules.conf cleandisks.conf ./
12+
RUN dos2unix *.sh hercules.conf cleandisks.conf
1313
RUN chmod +x *.sh && \
14-
chmod -x hercules.conf
14+
chmod -x hercules.conf cleandisks.conf
1515

16-
# VM/370 Mods
17-
COPY mods/ ./mods/
18-
RUN dos2unix ./mods/*.sh
19-
RUN chmod +x ./mods/*.sh
16+
# DASD
17+
COPY disks/ ./disks/
2018

2119
# Build & Sanity Test VM/370 Host
2220
RUN /opt/hercules/vm370/build.sh && \
2321
rm /opt/hercules/vm370/build.sh
2422

23+
# Cleanup
24+
RUN rm -r ./disks
25+
RUN rm cleandisks.conf
26+
27+
2528
# Create the final Docker Image
2629
FROM ubuntu:latest
2730

2831
RUN apt-get update && \
29-
apt-get install --no-install-recommends -y hercules c3270 zip unzip netcat dos2unix && \
32+
apt-get install --no-install-recommends -y hercules c3270 zip unzip netcat \
33+
dos2unix regina-rexx wget ca-certificates && \
3034
apt-get -y purge $(dpkg --get-selections | grep deinstall | sed s/deinstall//g) && \
3135
rm -rf /var/lib/apt/lists/*
3236

build.sh

+51-238
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/sh
22
# Make Hercules Docker Distribution
33

4-
# Exit of there is an error
4+
# Exit if there is an error
55
set -e
66

77
# HercControl
@@ -12,265 +12,78 @@ cp HercControl-Ubuntu/herccontrol /usr/local/bin
1212
rm -r HercControl-Ubuntu
1313
rm HercControl-Ubuntu.zip
1414

15-
# Get the VM disks
16-
wget -nv https://github.com/adesutherland/vm-370/releases/download/v1.3.4/vm370.zip
17-
unzip vm370.zip
18-
rm vm370.zip
15+
# Remove Shadow Files
16+
hercules -f cleandisks.conf -d >/dev/null 2>/dev/null &
17+
herccontrol "sf-* force" -w "HHCCD092I"
18+
herccontrol "exit"
19+
20+
# Move Disks
21+
mv ./disks/*.cckd .
1922

2023
# Start Hercules
2124
(cd /opt/hercules/vm370; hercules -f hercules.conf -d >/dev/null 2>/dev/null &)
2225

2326
# YATA UBUNTU
24-
wget -nv https://github.com/adesutherland/yata/releases/download/v1.2.4/YATA-Ubuntu.zip
27+
wget -nv https://github.com/adesutherland/yata/releases/download/v1.2.5/YATA-Ubuntu.zip
2528
unzip YATA-Ubuntu.zip
2629
chmod +x YATA-Ubuntu/yata
2730
cp YATA-Ubuntu/yata /usr/local/bin
2831
rm -r YATA-Ubuntu
2932
rm YATA-Ubuntu.zip
3033

34+
# Get latest gccbrx.cckd
35+
herccontrol "detach 09F0"
36+
wget -nv https://github.com/adesutherland/CMS-370-BREXX/releases/download/v1.0.0/BREXX.zip
37+
unzip BREXX.zip
38+
cp BREXX/gccbrx.cckd .
39+
rm BREXX.zip
40+
rm -r BREXX
41+
herccontrol "attach 09F0 3350 gccbrx.cckd"
42+
3143
# YATA CMS
32-
wget -nv https://github.com/adesutherland/yata/releases/download/v1.2.4/YATA-CMS.zip
44+
wget -nv https://github.com/adesutherland/yata/releases/download/v1.2.5/YATA-CMS.zip
3345
unzip YATA-CMS.zip
34-
chmod +x YATA-CMS/cmsinstall.sh
3546
mkdir io
3647
cp YATA-CMS/* io
3748
cd io
38-
./cmsinstall.sh
39-
cd ..
40-
rm -r io
41-
rm -r YATA-CMS
42-
rm YATA-CMS.zip
43-
44-
## Load a standalone version of BREXX for MAINT to load mods
45-
## MNTREXX on MAINTs A Drive
46-
#wget -nv https://github.com/adesutherland/CMS-370-BREXX/releases/download/f0020/BREXX.zip
47-
#unzip BREXX.zip
48-
#mkdir io
49-
#cp BREXX/* io
50-
#cd io
51-
## IPL
52-
#herccontrol "ipl 141" -w "USER DSC LOGOFF AS AUTOLOG1"
53-
## LOGON MAINT AND READ TAPE
54-
#herccontrol "/cp disc" -w "^VM/370 Online"
55-
#herccontrol "/logon maint cpcms" -w "^CMS VERSION"
56-
#herccontrol "/" -w "^Ready;"
57-
#herccontrol "devinit 480 io/brexxbin.aws" -w "^HHCPN098I"
58-
#herccontrol "/attach 480 to maint as 181" -w "TAPE 480 ATTACH"
59-
## Load and rename BREXX at MNTREXX just for MAINT on A drive
60-
#herccontrol "/tape load brexx module a" -w "^Ready;"
61-
#herccontrol "/copy brexx module a mntrexx module a (replace" -w "^Ready;"
62-
#herccontrol "/erase brexx module a" -w "^Ready;"
63-
## Done with tape & logoff
64-
#herccontrol "/detach 181" -w "^Ready;"
65-
#herccontrol "/logoff" -w "^VM/370 Online"
66-
## SHUTDOWN
67-
#herccontrol "/logon operator operator" -w "RECONNECTED AT"
68-
#herccontrol "/shutdown" -w "^HHCCP011I"
69-
#herccontrol "exit"
70-
## Clean up
71-
#cd ..
72-
#rm -r io
73-
#rm -r BREXX
74-
#rm BREXX.zip
75-
76-
# Apply VM/370 Mods
77-
cd mods
78-
79-
# CP mods
8049

81-
cd hrc700dk
82-
(cd /opt/hercules/vm370; hercules -f hercules.conf -d >/dev/null 2>/dev/null &)
83-
dos2unix *.sh
84-
chmod +x *.sh
85-
../iplmaint.sh
86-
./install.sh
87-
../buildcp.sh
88-
../shutdown.sh
89-
herccontrol "exit"
90-
cd ..
91-
92-
# CMS mods / utilities
93-
94-
cd hrc309ds
95-
(cd /opt/hercules/vm370; hercules -f hercules.conf -d >/dev/null 2>/dev/null &)
96-
dos2unix *.sh
97-
chmod +x *.sh
98-
../iplmaint.sh
99-
./hrc309ds.sh
100-
../buildnuc.sh
101-
../shutdown.sh
102-
herccontrol "exit"
103-
cd ..
104-
105-
cd hrc400ds
106-
(cd /opt/hercules/vm370; hercules -f hercules.conf -d >/dev/null 2>/dev/null &)
107-
dos2unix *.sh
108-
chmod +x *.sh
109-
../iplmaint.sh
110-
./installa.sh
111-
../buildnuc.sh
112-
../shutdown.sh
113-
../iplmaint.sh
114-
./installb.sh
115-
../regen.sh
116-
../shutdown.sh
117-
herccontrol "exit"
118-
cd ..
119-
120-
cd hrc402ds
121-
(cd /opt/hercules/vm370; hercules -f hercules.conf -d >/dev/null 2>/dev/null &)
122-
dos2unix *.sh
123-
chmod +x *.sh
124-
../iplmaint.sh
125-
./install.sh
126-
../buildnuc.sh
127-
../shutdown.sh
128-
herccontrol "exit"
129-
cd ..
130-
131-
cd hrc403ds
132-
(cd /opt/hercules/vm370; hercules -f hercules.conf -d >/dev/null 2>/dev/null &)
133-
dos2unix *.sh
134-
chmod +x *.sh
135-
../iplmaint.sh
136-
./install.sh
137-
../buildnuc.sh
138-
../shutdown.sh
139-
herccontrol "exit"
140-
cd ..
141-
142-
cd hrc404ds
143-
(cd /opt/hercules/vm370; hercules -f hercules.conf -d >/dev/null 2>/dev/null &)
144-
dos2unix *.sh
145-
chmod +x *.sh
146-
../iplmaint.sh
147-
./installa.sh
148-
../buildnuc.sh
149-
../shutdown.sh
150-
../iplmaint.sh
151-
./installb.sh
152-
../regen.sh
153-
../shutdown.sh
154-
herccontrol "exit"
155-
cd ..
156-
157-
cd execio
158-
(cd /opt/hercules/vm370; hercules -f hercules.conf -d >/dev/null 2>/dev/null &)
159-
dos2unix *.sh
160-
chmod +x *.sh
161-
../iplmaint.sh
162-
./install.sh
163-
../regen.sh
164-
../shutdown.sh
165-
herccontrol "exit"
166-
cd ..
167-
168-
cd hrc406ds
169-
(cd /opt/hercules/vm370; hercules -f hercules.conf -d >/dev/null 2>/dev/null &)
170-
dos2unix *.sh
171-
chmod +x *.sh
172-
../iplmaint.sh
173-
./install.sh
174-
../buildnuc.sh
175-
../shutdown.sh
176-
../iplmaint.sh
177-
../regen.sh
178-
../shutdown.sh
179-
herccontrol "exit"
180-
cd ..
181-
182-
cd hrc407ds
183-
(cd /opt/hercules/vm370; hercules -f hercules.conf -d >/dev/null 2>/dev/null &)
184-
dos2unix *.sh
185-
chmod +x *.sh
186-
../iplmaint.sh
187-
./install.sh
188-
../regen.sh
189-
../shutdown.sh
190-
herccontrol "exit"
191-
cd ..
192-
193-
cd hrc408ds
194-
(cd /opt/hercules/vm370; hercules -f hercules.conf -d >/dev/null 2>/dev/null &)
195-
dos2unix *.sh
196-
chmod +x *.sh
197-
../iplmaint.sh
198-
./install.sh
199-
../buildnuc.sh
200-
../shutdown.sh
201-
herccontrol "exit"
202-
cd ..
203-
204-
cd hrc409ds
205-
(cd /opt/hercules/vm370; hercules -f hercules.conf -d >/dev/null 2>/dev/null &)
206-
dos2unix *.sh
207-
chmod +x *.sh
208-
../iplmaint.sh
209-
./install.sh
210-
../buildnuc.sh
211-
../shutdown.sh
212-
herccontrol "exit"
213-
cd ..
214-
215-
cd hrc410ds
216-
(cd /opt/hercules/vm370; hercules -f hercules.conf -d >/dev/null 2>/dev/null &)
217-
dos2unix *.sh
218-
chmod +x *.sh
219-
../iplmaint.sh
220-
./install.sh
221-
../buildnuc.sh
222-
../shutdown.sh
223-
herccontrol "exit"
224-
cd ..
225-
226-
cd ..
227-
228-
# Now load packages
229-
230-
# GCCLIB
231-
(cd /opt/hercules/vm370; hercules -f hercules.conf -d >/dev/null 2>/dev/null &)
232-
wget -nv https://github.com/adesutherland/CMS-370-GCCLIB/releases/download/v0.8.4/GCCLIB.zip
233-
unzip GCCLIB.zip
234-
chmod +x GCCLIB/cmsinstall.sh
235-
mkdir io
236-
cp GCCLIB/* io
237-
cd io
238-
./cmsinstall.sh
239-
cd ..
240-
herccontrol "exit"
241-
rm -r io
242-
rm -r GCCLIB
243-
rm GCCLIB.zip
244-
245-
# CMS BREXX
246-
(cd /opt/hercules/vm370; hercules -f hercules.conf -d >/dev/null 2>/dev/null &)
247-
wget -nv https://github.com/adesutherland/CMS-370-BREXX/releases/download/v0.9.11/BREXX.zip
248-
unzip BREXX.zip
249-
chmod +x BREXX/cmsinstall.sh
250-
mkdir io
251-
cp BREXX/* io
252-
cd io
253-
./cmsinstall.sh
254-
cd ..
255-
herccontrol "exit"
256-
rm -r io
257-
rm -r BREXX
258-
rm BREXX.zip
259-
260-
# Run sanity test
261-
(cd /opt/hercules/vm370; hercules -f hercules.conf -d >/dev/null 2>/dev/null &)
50+
# IPL
26251
herccontrol "ipl 141" -w "USER DSC LOGOFF AS AUTOLOG1"
52+
53+
# LOGON MAINTC AND READ TAPE
54+
herccontrol "/cp disc" -w "^VM/370 Online"
55+
herccontrol "/logon maintc maintc" -w "^CMS"
56+
herccontrol "/" -w "^Ready;"
57+
herccontrol "devinit 480 io/yatabin.aws" -w "^HHCPN098I"
26358
herccontrol "/cp disc" -w "^VM/370 Online"
264-
herccontrol "/logon cmsuser cmsuser" -w "^CMS VERSION"
59+
herccontrol "/logon operator operator" -w "RECONNECTED AT"
60+
herccontrol "/attach 480 to maintc as 181" -w "TAPE 480 ATTACH TO MAINT"
61+
herccontrol "/cp disc" -w "^VM/370 Online"
62+
herccontrol "/logon maintc maintc" -w "RECONNECTED"
63+
herccontrol "/begin"
64+
herccontrol "/tape load * * t" -w "^Ready;"
65+
herccontrol "/detach 181" -w "^Ready;"
66+
herccontrol "/yata -v" -w "^Ready;"
67+
herccontrol "/logoff" -w "^VM/370 Online"
68+
69+
# REBUILD CMS
70+
herccontrol "/logon maint cpcms" -w "^CMS"
26571
herccontrol "/" -w "^Ready"
266-
herccontrol "/listf * * a" -w "^Ready"
72+
herccontrol "/NEWBREXX" -w "^Ready"
73+
herccontrol "/define storage 16m" -w "CP ENTERED"
74+
herccontrol "/ipl 190 clear" -w "^CMS"
75+
herccontrol "/savesys cms" -w "^CMS"
76+
herccontrol "/" -w "^Ready;"
26777
herccontrol "/logoff" -w "^VM/370 Online"
78+
79+
# SHUTDOWN
26880
herccontrol "/logon operator operator" -w "RECONNECTED AT"
26981
herccontrol "/shutdown" -w "^HHCCP011I"
270-
herccontrol "exit"
27182

272-
# Compress disks
273-
(cd /opt/hercules/vm370; hercules -f hercules.conf -d >/dev/null 2>/dev/null &)
274-
herccontrol "sfc*"
275-
herccontrol "sfk* 3"
83+
# Remove temp YATA download
84+
cd ..
85+
rm -r io
86+
rm -r YATA-CMS
87+
rm YATA-CMS.zip
88+
27689
herccontrol "exit"

changelog.txt

+7
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
VM/370 Docker Container - Changelog
22
===================================
33

4+
1.5.3 - CE 1.0
5+
HercControl v1.1.0
6+
YATA v1.2.5
7+
wget added to docker host
8+
bREXX 1.0.0
9+
GCCLIB 1.0.0
10+
411
1.4.32 - GCCLIB v0.8.4
512

613
1.4.31 - GCCLIB v0.8.3

0 commit comments

Comments
 (0)