Skip to content

Commit 873b196

Browse files
committed
v1.4.5
1 parent 842f17c commit 873b196

File tree

5 files changed

+557
-14
lines changed

5 files changed

+557
-14
lines changed

Dockerfile

+2-3
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,8 @@ RUN apt-get install --no-install-recommends -y hercules
88
WORKDIR /opt/hercules/vm370
99

1010
# Local Config files
11-
COPY build.sh hercules.conf start_vm370.sh ./
12-
RUN chmod +x build.sh && \
13-
chmod +x start_vm370.sh && \
11+
COPY *.sh hercules.conf ./
12+
RUN chmod +x *.sh && \
1413
chmod -x hercules.conf
1514

1615
# Build & Sanity Test VM/370 Host

build.sh

+15-11
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,6 @@ wget -nv https://github.com/adesutherland/vm-370/releases/download/v1.3.4/vm370.
1717
unzip vm370.zip
1818
rm vm370.zip
1919

20-
# Run sanity test
21-
hercules -f hercules.conf -d >/dev/null 2>/dev/null &
22-
herccontrol "ipl 141" -w "USER DSC LOGOFF AS AUTOLOG1"
23-
herccontrol "/cp disc" -w "^VM/370 Online"
24-
herccontrol "/logon cmsuser cmsuser" -w "^CMS VERSION"
25-
herccontrol "/" -w "^Ready"
26-
herccontrol "/listf * * a" -w "^Ready"
27-
herccontrol "/logoff" -w "^VM/370 Online"
28-
herccontrol "/logon operator operator" -w "RECONNECTED AT"
29-
herccontrol "/shutdown" -w "^HHCCP011I"
30-
3120
# YATA (1.2.0) - Ubuntu
3221
wget -nv https://github.com/adesutherland/yata/releases/download/v1.2.0/YATA-Ubuntu.zip
3322
unzip YATA-Ubuntu.zip
@@ -36,6 +25,10 @@ cp YATA-Ubuntu/yata /usr/local/bin
3625
rm -r YATA-Ubuntu
3726
rm YATA-Ubuntu.zip
3827

28+
# EPLIST Fix
29+
./fixeplist.sh
30+
rm fixeplist.sh
31+
3932
# YATA CMS v 1.1.3 (Last version that works on GCCLIB pre-0.7.x)
4033
wget -nv https://github.com/adesutherland/yata/releases/download/v1.1.3/YATA-CMS.zip
4134
unzip YATA-CMS.zip
@@ -92,6 +85,17 @@ rm -r io
9285
rm -r BREXX
9386
rm BREXX.zip
9487

88+
# Run sanity test
89+
hercules -f hercules.conf -d >/dev/null 2>/dev/null &
90+
herccontrol "ipl 141" -w "USER DSC LOGOFF AS AUTOLOG1"
91+
herccontrol "/cp disc" -w "^VM/370 Online"
92+
herccontrol "/logon cmsuser cmsuser" -w "^CMS VERSION"
93+
herccontrol "/" -w "^Ready"
94+
herccontrol "/listf * * a" -w "^Ready"
95+
herccontrol "/logoff" -w "^VM/370 Online"
96+
herccontrol "/logon operator operator" -w "RECONNECTED AT"
97+
herccontrol "/shutdown" -w "^HHCCP011I"
98+
9599
# Compress disks
96100
# hercules -f hercules.conf -d >/dev/null 2>/dev/null &
97101
herccontrol "sfc*" -w "HHCCD092I"

changelog.txt

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

4+
1.4.5 - Fix EPLIST
45
1.4.4 - Updated GCCLIB to Version 0.7.3 (VM/370 DASD)
56
- Updated BREXX to Version 0.9.1 (VM/370 DASD)
67
1.4.3 - Updated GCCLIB to Version 0.7.2 (VM/370 DASD)

fixeplist.sh

+140
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
#!/bin/sh
2+
# Fix PSLIST Mod
3+
4+
# Exit if there is an error
5+
set -e
6+
7+
herccontrol "ipl 141" -w "USER DSC LOGOFF AS AUTOLOG1"
8+
herccontrol "/cp disc" -w "^VM/370 Online"
9+
herccontrol "/logon maint cpcms" -w "^CMS VERSION"
10+
herccontrol "/" -w "^Ready"
11+
12+
# Access the CMS local modifications disk for write
13+
herccontrol "/access 093 b" -w "^Ready;"
14+
15+
# Add the requred change to the top of each file
16+
herccontrol "/edit DMSERS AUXHRC B (nodisp" -w "^EDIT:"
17+
herccontrol "/input" -w "^INPUT:"
18+
herccontrol "/HRC309DS v03 EXEC now passes EPLIST when it calls CMS commands"
19+
herccontrol "/" -w "^EDIT:"
20+
herccontrol "/file" -w "^Ready;"
21+
22+
herccontrol "/edit DMSINT AUXHRC B (nodisp" -w "^EDIT:"
23+
herccontrol "/input" -w "^INPUT:"
24+
herccontrol "/HRC309DS v03 EXEC now passes EPLIST when it calls CMS commands"
25+
herccontrol "/" -w "^EDIT:"
26+
herccontrol "/file" -w "^Ready;"
27+
28+
herccontrol "/edit DMSRNM AUXHRC B (nodisp" -w "^EDIT:"
29+
herccontrol "/input" -w "^INPUT:"
30+
herccontrol "/HRC309DS v03 EXEC now passes EPLIST when it calls CMS commands"
31+
herccontrol "/" -w "^EDIT:"
32+
herccontrol "/file" -w "^Ready;"
33+
34+
herccontrol "/edit DMSSTT AUXHRC B (nodisp" -w "^EDIT:"
35+
herccontrol "/input" -w "^INPUT:"
36+
herccontrol "/HRC309DS v03 EXEC now passes EPLIST when it calls CMS commands"
37+
herccontrol "/" -w "^EDIT:"
38+
herccontrol "/file" -w "^Ready;"
39+
40+
# Access MAINT's disks for building CMS components:
41+
herccontrol "/CMSACC" -w "^Ready;"
42+
43+
# Assemble each of the four files:
44+
herccontrol "/VMFASM DMSERS DMSHRC" -w "^Ready;"
45+
herccontrol "/VMFASM DMSINT DMSHRC" -w "^Ready;"
46+
herccontrol "/VMFASM DMSRNM DMSHRC" -w "^Ready;"
47+
herccontrol "/VMFASM DMSSTT DMSHRC" -w "^Ready;"
48+
49+
# Generate a new RENAME MODULE
50+
herccontrol "/CMSGEND RENAME NOINV" -w "^Ready;"
51+
52+
# Reaccess the disks for write
53+
herccontrol "/access 093 b" -w "^Ready;"
54+
herccontrol "/access 190 e" -w "^Ready;"
55+
56+
# Place the four newly created text decks and module to the required locations
57+
herccontrol "/RENAME DMSERS TEXT B = TXTOLD B0" -w "^Ready;"
58+
herccontrol "/COPYFILE DMSERS TEXT A = = B (OLDDATE" -w "^Ready;"
59+
herccontrol "/ERASE DMSERS TXTOLD E" -w "^Ready;"
60+
herccontrol "/RENAME DMSERS TEXT E = TXTOLD E0" -w "^Ready;"
61+
herccontrol "/COPYFILE DMSERS TEXT A = = E (OLDDATE" -w "^Ready;"
62+
herccontrol "/ERASE DMSERS TEXT A" -w "^Ready;"
63+
64+
herccontrol "/RENAME DMSINT TEXT B = TXTOLD B0" -w "^Ready;"
65+
herccontrol "/COPYFILE DMSINT TEXT A = = B (OLDDATE" -w "^Ready;"
66+
herccontrol "/ERASE DMSINT TXTOLD E" -w "^Ready;"
67+
herccontrol "/RENAME DMSINT TEXT E = TXTOLD E0" -w "^Ready;"
68+
herccontrol "/COPYFILE DMSINT TEXT A = = E (OLDDATE" -w "^Ready;"
69+
herccontrol "/ERASE DMSINT TEXT A" -w "^Ready;"
70+
71+
herccontrol "/RENAME DMSRNM TEXT B = TXTOLD B0" -w "^Ready;"
72+
herccontrol "/COPYFILE DMSRNM TEXT A = = B (OLDDATE" -w "^Ready;"
73+
herccontrol "/ERASE DMSRNM TXTOLD E" -w "^Ready;"
74+
herccontrol "/RENAME DMSRNM TEXT E = TXTOLD E0" -w "^Ready;"
75+
herccontrol "/COPYFILE DMSRNM TEXT A = = E (OLDDATE" -w "^Ready;"
76+
herccontrol "/ERASE DMSRNM TEXT A" -w "^Ready;"
77+
78+
herccontrol "/RENAME DMSSTT TEXT B = TXTOLD B0" -w "^Ready;"
79+
herccontrol "/COPYFILE DMSSTT TEXT A = = B (OLDDATE" -w "^Ready;"
80+
herccontrol "/ERASE DMSSTT TXTOLD E" -w "^Ready;"
81+
herccontrol "/RENAME DMSSTT TEXT E = TXTOLD E0" -w "^Ready;"
82+
herccontrol "/COPYFILE DMSSTT TEXT A = = E (OLDDATE" -w "^Ready;"
83+
herccontrol "/ERASE DMSSTT TEXT A" -w "^Ready;"
84+
85+
herccontrol "/ERASE RENAME MODOLD E" -w "^Ready;"
86+
herccontrol "/RENAME RENAME MODULE E = MODOLD E1" -w "^Ready;"
87+
herccontrol "/COPYFILE RENAME MODULE A = = E2 (OLDDATE" -w "^Ready;"
88+
herccontrol "/ERASE RENAME MODULE A" -w "^Ready;"
89+
90+
# Make the disks read only again:
91+
herccontrol "/CMSACC" -w "^Ready;"
92+
93+
# Rebuild the CMS nucleus by following step 7 of the procedure in SYSPROG MEMO
94+
herccontrol "/purge rdr" -w "^Ready;"
95+
herccontrol "/vmfload cmsload dmshrc" -w "^Ready;"
96+
herccontrol "/ipl 00c clear"
97+
98+
# DMSINI606R SYSTEM DISK ADDRESS = 190
99+
herccontrol "/190"
100+
101+
# DMSINI615R Y-DISK ADDRESS = 19e
102+
herccontrol "/19e"
103+
104+
# DMSINI607R REWRITE THE NUCLEUS ? yes
105+
herccontrol "/yes"
106+
107+
# DMSINI608R IPL DEVICE ADDRESS = 190
108+
herccontrol "/190"
109+
110+
# DMSINI609R NUCLEUS CYL ADDRESS = 59
111+
herccontrol "/59"
112+
113+
# DMSINI610R ALSO IPL CYLINDER 0 ? yes
114+
herccontrol "/yes"
115+
116+
# DMSINI611R VERSION IDENTIFICATION =
117+
herccontrol "/"
118+
119+
# DMSINI612R INSTALLATION HEADING =
120+
herccontrol "/"
121+
122+
herccontrol "/" -w "^Ready;"
123+
herccontrol "/cp close prt" -w "^Ready;"
124+
herccontrol "/purge prt" -w "^Ready;"
125+
126+
# Regenerate System
127+
herccontrol "/define storage 16m" -w "^CP ENTERED"
128+
herccontrol "/ipl 190" -w "^CMS VERSION"
129+
herccontrol "/access ( noprof" -w "^Ready;"
130+
herccontrol "/access 093 b" -w "^Ready;"
131+
herccontrol "/access 193 c" -w "^Ready;"
132+
herccontrol "/cmsxgen f00000 cmsseg" -w "^Ready;"
133+
herccontrol "/ipl 190" -w "^CMS VERSION"
134+
herccontrol "/savesys cms" -w "^CMS VERSION"
135+
herccontrol "/" -w "^Ready;"
136+
137+
# Done
138+
herccontrol "/logoff" -w "^VM/370 Online"
139+
herccontrol "/logon operator operator" -w "RECONNECTED AT"
140+
herccontrol "/shutdown" -w "^HHCCP011I"

0 commit comments

Comments
 (0)