Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
P
proview
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Esteban Blanc
proview
Commits
75f5830f
Commit
75f5830f
authored
Dec 02, 2004
by
claes
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Adapted to V4.1
parent
4a6efab9
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
117 additions
and
262 deletions
+117
-262
src/exp/com/src/os_linux/upgrade.sh
src/exp/com/src/os_linux/upgrade.sh
+117
-262
No files found.
src/exp/com/src/os_linux/upgrade.sh
View file @
75f5830f
...
@@ -12,11 +12,11 @@ let reload__loaddb=4
...
@@ -12,11 +12,11 @@ let reload__loaddb=4
let
pass__continue
=
1
let
pass__continue
=
1
let
pass__execute
=
2
let
pass__execute
=
2
v
34_root
=
"/data1/pwr/x3-4b
/rls_dbg"
v
40_root
=
"/data1/pwr/x4-0-0
/rls_dbg"
reload_dumpdb
()
reload_dumpdb
()
{
{
# Dump V3.4b databases
, one wbload file per volume
# Dump V3.4b databases
reload_checkpass
"dumpdb"
$start_pass
reload_checkpass
"dumpdb"
$start_pass
if
[
$pass_status
-ne
$pass__execute
]
;
then
if
[
$pass_status
-ne
$pass__execute
]
;
then
...
@@ -26,266 +26,139 @@ reload_dumpdb()
...
@@ -26,266 +26,139 @@ reload_dumpdb()
reload_continue
"Pass dump database"
reload_continue
"Pass dump database"
rm
$pwrp_db
/
*
.wb_dmp
dmpfiles
=
`
eval ls
$pwrp_db
/
*
.wb_dmp
`
if
[
!
-z
"
$dmpfiles
"
]
;
then
rm
$pwrp_db
/
*
.wb_dmp
fi
for
cdb
in
$databases
;
do
for
cdb
in
$databases
;
do
echo
"Dumping database
$cdb
"
export
pwr_inc
=
$v34_root
/os_linux/hw_x86/exp/inc
dump_file
=
$pwrp_db
/
$cdb
.wb_dmp
source
$v34_root
/os_linux/hw_x86/exp/exe/pwrp_env.sh setdb
$cdb
export
pwr_inc
=
$pwrb_root
/os_linux/hw_x86/exp/inc
echo
"Dumping volume
$cdb
in
$dump_file
"
export
pwr_load
=
$v40_root
/os_linux/hw_x86/exp/load
# Create a script that removes NoderVersion and $Orphanage objects
$v40_root
/os_linux/hw_x86/exp/exe/wb_cmd
-v
$cdb
wb dump/out
=
\"
$dump_file
\"
tmpfile
=
$pwrp_tmp
/del.sh
export
pwr_load
=
$pwrb_root
/os_linux/hw_x86/exp/load
cat
>
$tmpfile
<<-
EOF
main()
string v;
string class;
string node;
string name;
verify(0);
v = GetVolumeList();
while( v != "")
class = GetVolumeClass( v);
if ( class != "
\$
ClassVolume")
set volume/volume='v'
node = GetNodeObject();
if ( node == "")
v = GetNextVolume( v);
continue;
endif
name = node + "-NodeVersion";
class = GetObjectClass( name);
if ( class != "")
delete object/name='name'/noconfirm
endif
name = node + "-
\$
Orphanage";
class = GetObjectClass( name);
if ( class != "")
delete object/name='name'/noconfirm
endif
name = "System-SystemVersion";
class = GetObjectClass( name);
if ( class != "")
delete object/name='name'/noconfirm
endif
name = "System-BootVersion";
class = GetObjectClass( name);
if ( class != "")
delete object/name='name'/noconfirm
endif
save
endif
v = GetNextVolume( v);
endwhile
endmain
EOF
chmod
a+x
$tmpfile
$v34_root
/os_linux/hw_x86/exp/exe/wb_cmd @
$tmpfile
# Create a script that dumps each volume
tmpfile
=
$pwrp_tmp
/dump.sh
cat
>
$tmpfile
<<-
EOF
main()
string v;
string class;
string outfile;
v = GetVolumeList();
while( v != "")
class = GetVolumeClass( v);
if ( class != "
\$
ClassVolume")
outfile = "
$pwrp_db
/" + v + ".wb_dmp";
outfile = tolower( outfile);
printf( "-- Dump volume %s to %s
\n
", v, outfile);
wb dump/v40/volume='v'/out="'outfile'"
endif
v = GetNextVolume( v);
endwhile
endmain
EOF
chmod
a+x
$tmpfile
$v34_root
/os_linux/hw_x86/exp/exe/wb_cmd @
$tmpfile
done
done
}
}
reload_
userclass
es
()
reload_
classvolum
es
()
{
{
reload_checkpass
"userclasses"
$start_pass
reload_checkpass
"classvolumes"
$start_pass
if
[
$pass_status
-ne
$pass__execute
]
;
then
if
[
$pass_status
-ne
$pass__execute
]
;
then
reload_status
=
$reload__success
reload_status
=
$reload__success
return
return
fi
fi
list
=
`
eval ls
-1d
$pwrp_db
/
*
.wb_load
`
echo
""
echo
""
echo
"The classvolume should be defined in one file only: userclasses.wb_load !"
for
file
in
$list
;
do
volume
=
`
eval grep
pwr_eClass_ClassVolume
$file
|
awk
'{ print $2 }'
`
if
[
"
$volume
"
==
""
]
;
then
volume
=
`
eval grep
ClassVolume
$file
|
awk
'{ print $2 }'
`
volumelow
=
`
eval grep
ClassVolume
$file
|
awk
'{ print tolower($2) }'
`
fi
if
[
"
$volume
"
!=
""
]
;
then
echo
$file
fi
done
echo
""
echo
""
reload_continue
"Pass create
loadfiles for userclass
es"
reload_continue
"Pass create
structfiles and loadfiles for classvolum
es"
list
=
`
eval ls
-1d
$pwrp_db
/
*
.wb_load
`
for
file
in
$list
;
do
volume
=
`
eval grep
pwr_eClass_ClassVolume
$file
|
awk
'{ print $2 }'
`
volumelow
=
`
eval grep
pwr_eClass_ClassVolume
$file
|
awk
'{ print tolower($2) }'
`
if
[
"
$volume
"
==
""
]
;
then
volume
=
`
eval grep
ClassVolume
$file
|
awk
'{ print $2 }'
`
volumelow
=
`
eval grep
ClassVolume
$file
|
awk
'{ print tolower($2) }'
`
fi
if
[
"
$volume
"
!=
""
]
;
then
echo
"-- Creating structfile and loadfile for
$volume
"
if
co_convert
-sv
-d
$pwrp_inc
$file
then
reload_status
=
$reload__success
else
reload_status
=
$reload__userclasses
return
fi
# Load userclasses
if
wb_cmd create snapshot/file
=
\"
$file
\"
/out
=
\"
$pwrp_load
/
$volumelow
.dbs
\"
fname
=
"
$pwrp_db
/userclasses.wb_load"
then
if
[
-e
$fname
]
;
then
reload_status
=
$reload__success
echo
"-- Loading userclasses
$fname
"
else
reload_status
=
$reload__userclasses
volume
=
`
eval grep
pwr_eClass_ClassVolume
$fname
|
awk
'{ print tolower($2) }'
`
return
if
wb_cmd create snapshot/file
=
\"
$fname
\"
/out
=
\"
$pwrp_load
/
$volume
.dbs
\"
fi
then
reload_status
=
$reload__success
echo
"-- Renaming userclasses.wb_load to
$volume
.wb_load"
mv
$fname
$pwrp_db
/
$volume
.wb_load
else
reload_status
=
$reload__userclasses
return
fi
fi
fi
done
}
}
reload_
dirvolume
()
reload_
renamedb
()
{
{
reload_checkpass
"
dirvolume
"
$start_pass
reload_checkpass
"
renamedb
"
$start_pass
if
[
$pass_status
-ne
$pass__execute
]
;
then
if
[
$pass_status
-ne
$pass__execute
]
;
then
reload_status
=
$reload__success
reload_status
=
$reload__success
return
return
fi
fi
reload_continue
"Pass dirvolume"
reload_continue
"Pass rename old databases"
dmpfiles
=
`
eval ls
$pwrp_db
/
*
.wb_dmp
`
echo
$dmpfiles
for
dmpfile
in
$dmpfiles
;
do
for
cdb
in
$databases
;
do
volume
=
`
eval grep
DirectoryVolume
$dmpfile
|
awk
'{ print $2 }'
`
reload_save_file
$pwrp_db
/
$cdb
.db
if
[
!
-z
"
$volume
"
]
;
then
echo
"Volume:
$volume
"
#mv $dmpfile $pwrp_db/directory.wb_dmp
l1
=
"Volume
$volume
\$
DirectoryVolume"
l2
=
"Volume Directory
\$
DirectoryVolume"
sed
's/ '
$volume
' / Directory /'
$dmpfile
>
$pwrp_db
/directory.wb_dmp
wb_cmd create volume/directory
wb_cmd wb load /load
=
\"
$pwrp_db
/directory.wb_dmp
\"
mv
$dmpfile
$dmpfile
"_old"
mv
$pwrp_db
/directory.wb_dmp
$pwrp_db
/directory.wb_dmp_old
break
else
db
=
""
fi
done
done
}
}
reload_
cnv
dirvolume
()
reload_dirvolume
()
{
{
reload_checkpass
"cnvdirvolume"
$start_pass
if
[
-e
"
$pwrp_db
/directory.db"
]
;
then
return
fi
reload_checkpass
"dirvolume"
$start_pass
if
[
$pass_status
-ne
$pass__execute
]
;
then
if
[
$pass_status
-ne
$pass__execute
]
;
then
reload_status
=
$reload__success
reload_status
=
$reload__success
return
return
fi
fi
reload_continue
"Pass cnvdirvolume"
reload_continue
"Pass dirvolume"
# Create a script that removes DbConfig objects and create BusConfig objects
tmpfile
=
$pwrp_tmp
/cnvdirvolume.sh
cat
>
$tmpfile
<<
EOF
main
string object;
string class;
string child;
string sibling;
string nodeconfig;
string attr;
int busnumber;
string bus;
string next;
set volume/volume=Directory
! verify(1);
object = GetRootList();
while ( object != "")
class = GetObjectClass( object);
if ( class == "DbConfig")
child = GetChild( object);
while ( child != "")
sibling = GetNextSibling( child);
move object/source='child'/dest='object'/after
child = sibling;
endwhile
sibling = GetNextSibling( object);
delete object/noconf/nolog/name='object'
object = sibling;
else
object = GetNextSibling( object);
endif
endwhile
nodeconfig = GetRootList();
while ( nodeconfig != "")
next = GetNextSibling( nodeconfig);
class = GetObjectClass( nodeconfig);
if ( class == "NodeConfig" || class == "FriendNodeConfig")
attr = nodeconfig + ".BusNumber";
busnumber = GetAttribute( attr);
bus = busnumber;
class = GetObjectClass(bus);
if ( class == "")
create object/dest=""/name='bus'/class="BusConfig"/last
set attr/name='bus'/attr="BusNumber"/value='bus'/noconf/nolog
endif
move object/source='nodeconfig'/dest='bus'/last
endif
nodeconfig = next;
endwhile
save
wb_cmd create volume/directory
endmain
wb_cmd wb load /load
=
\"
$pwrp_db
/directory.wb_dmp
\"
EOF
chmod
a+x
$tmpfile
wb_cmd @
$tmpfile
}
}
reload_cnv
dump
()
reload_cnv
classvolume
()
{
{
reload_checkpass
"cnv
dump
"
$start_pass
reload_checkpass
"cnv
classvolume
"
$start_pass
if
[
$pass_status
-ne
$pass__execute
]
;
then
if
[
$pass_status
-ne
$pass__execute
]
;
then
reload_status
=
$reload__success
reload_status
=
$reload__success
return
return
fi
fi
reload_continue
"Pass convert
dump
files"
reload_continue
"Pass convert
classvolume wb_load
files"
dmpfiles
=
`
eval ls
$pwrp_db
/
*
.wb_
dmp
`
dmpfiles
=
`
eval ls
$pwrp_db
/
*
.wb_
load
`
echo
$dmpfiles
echo
$dmpfiles
for
dmpfile
in
$dmpfiles
;
do
for
dmpfile
in
$dmpfiles
;
do
file
=
${
dmpfile
##/*/
}
db
=
"
${
file
%.*
}
.db"
source
$pwr_exe
/upgrade_cnvdmp.sh
$dmpfile
$pwrp_tmp
/t.wb_dmp
if
[
$db
=
"wb.db"
]
;
then
reload_save_file
$dmpfile
db
=
""
mv
$pwrp_tmp
/t.wb_dmp
$dmpfile
else
sed
's/ GetIp / GetIpToA /; s/ StoIp / StoAtoIp /; s/ CStoIp / CStoAtoIp /; s/Class-GetIp/Class-GetIpToA/; s/Class-StoIp/Class-StoAtoIp/; s/Class-CStoIp/Class-CStoAtoIp/'
$dmpfile
>
$pwrp_tmp
/t.wb_dmp
mv
$pwrp_tmp
/t.wb_dmp
$dmpfile
fi
done
done
}
}
reload_cnvdump
()
reload_createvolumes
()
{
{
reload_checkpass
"c
reatevolumes
"
$start_pass
reload_checkpass
"c
nvdump
"
$start_pass
if
[
$pass_status
-ne
$pass__execute
]
;
then
if
[
$pass_status
-ne
$pass__execute
]
;
then
reload_status
=
$reload__success
reload_status
=
$reload__success
return
return
fi
fi
reload_continue
"Pass c
reate volum
es"
reload_continue
"Pass c
onvert dumpfil
es"
dmpfiles
=
`
eval ls
$pwrp_db
/
*
.wb_dmp
`
dmpfiles
=
`
eval ls
$pwrp_db
/
*
.wb_dmp
`
echo
$dmpfiles
echo
$dmpfiles
...
@@ -296,35 +169,12 @@ reload_createvolumes()
...
@@ -296,35 +169,12 @@ reload_createvolumes()
if
[
$db
=
"wb.db"
]
;
then
if
[
$db
=
"wb.db"
]
;
then
db
=
""
db
=
""
else
else
wb_cmd wb load /load
=
\"
$dmpfile
\"
source
$pwr_exe
/upgrade_cnvdmp.sh
$dmpfile
$pwrp_tmp
/t.wb_dmp
mv
$pwrp_tmp
/t.wb_dmp
$dmpfile
fi
fi
done
done
}
}
reload_localwb
()
{
reload_checkpass
"localwb"
$start_pass
if
[
$pass_status
-ne
$pass__execute
]
;
then
reload_status
=
$reload__success
return
fi
reload_continue
"Pass create localWb volume"
cat
<<
EOF
>>
$pwrp_db
/wb.wb_load
!
! localWB volume
! This volume contains template objects and local listdescriptors.
!
Volume localWb pwr_eClass_WorkBenchVolume 254.254.254.252
EndVolume
EOF
sed
's/SObject wb:/SObject localWb:/'
$pwrp_db
/wb.wb_dmp
>>
$pwrp_db
/wb.wb_load
}
reload_loaddb
()
reload_loaddb
()
{
{
reload_checkpass
"loaddb"
$start_pass
reload_checkpass
"loaddb"
$start_pass
...
@@ -335,29 +185,34 @@ reload_loaddb()
...
@@ -335,29 +185,34 @@ reload_loaddb()
reload_continue
"Pass load database"
reload_continue
"Pass load database"
databases
=
`
eval source
pwrp_env.sh show db
-a
`
if
[
-z
"
$1
"
]
;
then
tmp
=
`
eval ls
-1
$pwrp_db
/
*
.wb_dmp
`
databases
=
""
for
db
in
$tmp
;
do
db
=
${
db
##/*/
}
db
=
"
${
db
%.*
}
"
if
[
"
$db
"
!=
"directory"
]
;
then
databases
=
"
$databases
$db
"
fi
done
else
databases
=
$@
fi
for
cdb
in
$databases
;
do
for
cdb
in
$databases
;
do
echo
"-- Loading database
$cdb
"
if
[
$cdb
!=
"directory"
]
;
then
echo
"-- Loading volume
$cdb
"
source
pwrp_env.sh setdb
$cdb
dump_file
=
$pwrp_db
/
$cdb
.wb_dmp
list_file
=
$pwrp_db
/
$cdb
.lis
if
[
$cdb
!=
"dbdirectory"
]
;
then
if
wb_cmd wb load/load
=
\"
$dump_file
\"
/out
=
\"
$list_file
\"
#Restore versions of classvolumes
then
if
[
-e
$pwrp_db
/reload_vol_versions_
$cdb
.pwr_com
]
;
then
reload_status
=
$reload__success
wb_cmd @
$pwrp_db
/reload_vol_versions_
$cdb
else
cat
$list_file
reload_status
=
$reload__loaddb
fi
fi
fi
fi
dump_file
=
$pwrp_db
/
$cdb
.wb_dmp
list_file
=
$pwrp_db
/
$cdb
.lis
if
wb_cmd wb load/load
=
\"
$dump_file
\"
/out
=
\"
$list_file
\"
/ignore
then
reload_status
=
$reload__success
else
cat
$list_file
reload_status
=
$reload__loaddb
fi
done
done
}
}
...
@@ -596,21 +451,17 @@ usage()
...
@@ -596,21 +451,17 @@ usage()
Pass
Pass
dumpdb Dump database to textfile
\$
pwrp_db/'volume'.wb_dmp
dumpdb Dump database to textfile
\$
pwrp_db/'volume'.wb_dmp
userclasses Create loadfiles and rename userclasses.wb_load
cnvclassvolume Convert wb_load-files for classvolumes.
dirvolume Create directory volume.
classvolumes Create loadfiles for classvolumes.
cnvdirvolume Convert the directory volume.
cnvdump Convert dumpfiles.
cnvdump Convert dumpfiles.
createvolumes Create configure
d databases.
renamedb Rename ol
d databases.
localwb Create LocalWb volume for lists and template objects
.
dirvolume Load the directory volume
.
cnvobjects Convert certain objects in new db
.
loaddb Load dumpfiles
.
compile Compile all plcprograms in the database
compile Compile all plcprograms in the database
createload Create new loadfiles.
createload Create new loadfiles.
createboot Create bootfiles for all nodes in the project.
createboot Create bootfiles for all nodes in the project.
convertge Convert ge graphs.
Note!
Note!
The first pass (dumpdb) must be executed on NEWTON and then you must move to
PWR40 and run the following passes beginning with userclasses.
EOF
EOF
}
}
...
@@ -637,13 +488,17 @@ echo ""
...
@@ -637,13 +488,17 @@ echo ""
echo
"-- Upgrade
$project
"
echo
"-- Upgrade
$project
"
echo
""
echo
""
export
pwr_inc
=
$v34_root
/os_linux/hw_x86/exp/inc
tmp
=
`
eval ls
-1d
$pwrp_db
/
*
.db
`
#echo $pwr_inc
databases
=
""
databases
=
`
eval source
$v34_root
/os_linux/hw_x86/exp/exe/pwrp_env.sh show db
-a
`
for
db
in
$tmp
;
do
databases
=
$databases
" dbdirectory"
db
=
${
db
##/*/
}
export
pwr_inc
=
$pwrb_root
/os_linux/hw_x86/exp/inc
db
=
"
${
db
%.*
}
"
if
[
"
$db
"
!=
"rt_eventlog"
]
;
then
databases
=
"
$databases
$db
"
fi
done
passes
=
"dumpdb
userclasses dirvolume cnvdirvolume cnvdump createvolumes localwb cnvobjects compile createload createboot convertge
"
passes
=
"dumpdb
cnvclassvolume classvolumes cnvdump renamedb dirvolume loaddb compile createload createboot
"
echo
"Pass:
$passes
"
echo
"Pass:
$passes
"
echo
""
echo
""
echo
-n
"Enter start pass [dumpdb] > "
echo
-n
"Enter start pass [dumpdb] > "
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment