1. Here is a list of sample commands and their descriptions that I used to automate the build process
To understand the help file below, here is a brief explanation.
Each command had a two letter abbreviation (e.g. 4c or xb) followed by the full command name (e.g.
c4digit or xbuildmex) and the a short description of the command ( "create 4 digit release..." or "build
24.1 _mex for ...").
The commands can be run individually or together when separated by slashes (e.g.
xe/xc/xb/xy/xs/xg/xp/xd).
The commands were written using shell script with perl command line file processing.
Help file:
********* 4digit
4c c4digit - create 4digit release: &rel&->&r4digit& tf -mu>build*( string _ (substitute (date) - ''))*
4s cs4digit - compute checksum for &r4digit&: set -platform &platform&
4u up4digit - update tape dirs from source &r4digit& instead of pm4digit and mkpm
e.g. dome.cm &rel& &r4digit& -digit4 -no_ask -goto up4digit/cs4digit/gz/package/drdlv
or abbreviation c4pk
4p pm4digit - run prd maint for &r4digit& uses -digit4 and prev env vars -platform &platform&
- will get a tp file error because there is no tp file for 4 digit
mk mkpm - create the prod maint path files for &r4digit& when -digit4 is yes
********* mex all cmds must start with an x: xe/xc/xb/xy/xs/xg/xp/xd
xn xnewrelmex - creates a new mex release &rel&_mex
xb xbuildmex - build &rel&_mex for f2, ct or all
xy xcpypmsmex - copy &rel&_mex pms and check versions for either f2 or ct
xi xinitmex - updates display_nma_release with &rel&_mex and creates install dir and subdirs
xc xcheckinmex -check in allens install files for &rel&_mex
xs xchecksumex - deletes *.old...,cks pm vers & types f2/ct, and cmps old rel with new rel gets tape dir
checksums
xg xgzmex - creates the &rel&_mex gz files - &dest_f2&_mex, &dest_ia&_mex and
&dest_ct&_mex
xp xpackagemex - copies the &rel&_mex gz files to nmamut for access point update.
xx xdiffsmex - compares diffs btw cur &rel&_mex and prev &relold&_mex, cpy diff files to
nora>r&rel&>english>...
xf xformck - copy forms & docs from nora>&rel& in to the &rel& tape dir and check spanish forms
xo xformdiffmex - compare *_ids.incl.pl1s between nma &rel& and &rel&_mex
xe xck4engfiles - looks lines ending with exit in any &rel&_mex *.form files
xd xdrdlv - delivers source to the DR Machine &rel&_mex
xz xfrez - set access to frozen for &rel&_mex thereby freezing the rel
xu xunfrez - unset access to frozen for &rel&_mex
********* create release
cz ckgzpkg - run envdown, tins, cleanup, checksum, gz and package for &rel&
ce createrel - create &rel& cvs release, tape dirs, r/s dir, and library_paths
in init - updates display_nma_release with &rel& and creates links in tape dir for rule_script
mk mkpm - create the prod maint path files for &rel&
am appendpm - remove &rel& update and append to prod maint-cvs*config.txt, with contents
pmconfig.txt file
rm removepm - remove &rel& update from prod maint-cvs*config.txt, based on release number
&rel& in comments
2. re rebase - rebase &rel& from &relold&
se setbellcorers - set bellcore link for updatebucket
ti tins - creates tin dirs, updates paths and builds user.tin
up updatebucket - does a start_process on prd_maint to recreate the bucket (stops/starts env)
tt runtotrsm - does a start_process on run_total_rsm_install.cm to update the bucket (does NOT
stop/start envs)
co comprels - compare releases &rel& to &relold&
cl clientfiles- updates client files for &rel&
le linkenv - updates links on m1,m4,m6 and m24 for &rel& to &env&
********* delivery
bu buildnma - build the nma &rel& - use "tf [bld" or dm [bldy --- for errors
cs checksum - computes the checksums for the tape dir: set -platform &platform&
gz - creates the gz files: set -platform &platform& &dest_f2&, &dest_ia& and &dest_ct&
ob objs - renames client_obj_xxx to client_obj and removes any client_obj_* dirs and old rel
install dir
pa package - copy/copies the gz files to nmamut for AXP for &dest_f2&, &dest_ia& and &dest_ct&
pm prdmaint - copy/copies &rel& files from source control to the tape dir
vm cvsmake - does a cvs_make on release &rel&
ur updaterel - copy/copies &rel& files from source control to the tape dir using new cmd
ms mmsucful - sends email once each day if makeme succeed or failed for &rel&
bc bucketck - checks the bucket tape dir and bellcore links, rs dir is has current updates and
the bucket amp objects are correct for &env& &env2& and &rel&
lm bucketlm - corrects the tape>rule_script link and creates the cvs_makeme.txt cmd for &rel&
&env&-&env2&
sb rsdirmatch - make sure all buckets match for &rel& &env&-&env2&
********* final delivery - kill env for last delivery to AXP
ed envdown - brings down envs shut_down_&env&.cm shut_down_&env2&.cm
eu envup - brings up envs start_&env&.cm start_&env2&.cm
eb envbounce - bounces envs bounce_&env&.cm bounce_&env2&.cm
cb copybucket - ***used before final pkging*** copies the bucket to the tape dir unlinks bucket
cb copybucket - continued: will run in parallel unless using -debug which does a tail_file after the
start_process
db dupbucket - overwrites &env& rsm>bellcore_r&rel& to &env2&
sl stoplockers -stop lockers and delete *.old files
dr drdlv - delivers source to the DR Machine
ob objs - renames install>data>client_obj_xxx to client_obj & removes client_obj_* dirs and old
rel install dir
ta tapenyc - create tape for NYC Transit
fz frezrel - set access to only allow group frozen access thereby freezing &rel& or &r4digit&
fu unfrezrel - set access back to normal thereby unfreezing the frozen &rel& or &r4digit& release
********* cron
ca cronadd - adds cron entry for &rel& env1=&env& env2=&env2&
cf cronoff - turns cron entry off for &rel& env1=&env& env2=&env2&
cn cronon - turns cron entry on for &rel& env1=&env& env2=&env2&
cr cronrm - removes cron entry for &rel& env1=&env& env2=&env2&
rc closerels - creates cm to ask to close all releases except for current and previous mex release -
&rel&/&relold&_mex
3. cc cancelckout -creates cm to ask to cancel checkouts except for current and previous release -
&rel&/&relold&
********* checkup and cleaning
cu cleanup - deletes old rel cms,*.old...,cks pm versions and types f2/ct, and compares old &relold&
with new &rel&
op optcheck - checks the optimization level of the objs should be 1 for &rel&
qu quickcheck - checks the tin file for ewouldblock and compare the bellcore bucket of prev env -
&rel&/&relold&
ke ckbuilderr - checks f2 and ct &rel& for *.error and *.out files. if -no_email_success then no success
msg
rv revisck - checks if the two versions of &rel& match using the cvs cmd cvs_check_release_revs
********* Metrics
cv csvmetrics - ftp csv file of metrics data via perl cloc between &rel& and &relold& to nmamut
devhome/csv
********* reports
mm ckmakeme - looks for the word ERROR in the latest #m4_d01>_>cvs_makeme*(date).out
makeme out files
rs ckrulescrp - checks that rules and scripts appl and msg files are present and are not empty
cm cmpcvstape - compares the &rel& timestamps between cvs and tape cmd dirs sends email
di diffs - creates diff file for RCL - worked 12.2.2013
fo formdiff - uses show_history.txt to find all the *form checkins for &rel& see - cvsckin
gr groupme - show users belonging to nma, nis and ocs
sc sccrpt - user and module CFIUS reports based on from/to args plus list of users accessing source,
see userlist
sh sched - creates schedule from pdf's in &rel&.txt,... files and highlevel.txt
sp space - emails release space usage for m1, m4 and m19
ul userlist - emails partition list of users with CFIUS access using registration_file.tin-email to
Dorothy, also see sccrpt
wh whoru - list all users of cvs for past year
pc pmsck - checks if the pm is correct type for the platform &rel&
ec errckpm - checks for error messages in the prd_maint out file for &rel&
te testenv - checks if the envs are up for &env& and &env2&
uv uvcheck - turn on uninitialized ck/build *.pl1/turn off/build *.pl1 for &rel& - sets up uv.txt for
uvowner
uc uvck4c - turn on uninitialized ck/build *.c/C/turn off/build *.c/C for &rel& - sets up uv.txt for
uvowner
uw uvowner - checks who owns the code from an uninitialized var cmd (see uv) - uv copies email-
report into uv.txt
dt deltestdir - deletes the files in the test dir for env &env& and &env2&
qo quickoutck - quickly checks the make, nightly and weekly out files
sr summaryrpt - uses markers from when audit cmds are run to generate a summary of the &rel&
status
********* other
ro relopen - sendemail if the -temp_closed switch is on for &rel&
rg rebldgnu - recompile/build gnu groups via gcc nma_source_library_eorb nma_source_library_enet
ocs_source_library_snmp2 ocs
iq ckinstallq - check the pending install queue for &rel&
ex expandgz - expand gz created by f2 and check permissions
pr propagate - propagate new files from propfiles.txt to current release
4. pu propupdate - propagate update files from &relold& to &rel& using propfiles.txt
pt ptrotect - sets protection on tape dirs
uf cvsupdatefile - can run update file for rel &rel& on a list of file names in file: cvsupdatef
gv getversions - gets the versions of 3 party software products for &rel&
vc vercheck - compares the cvs compressed file with the uncompressed file and copy mismatches into
current dir
vr vosrels - finds the VOS and NMA releases the customers are using
cw cklibpath - checks the library paths are using the latest release of VOS and NMA see mklibpath
mw mklibpath - makes dirs and updates the library paths to the latest release of VOS and NMA see
cklibpath
tw tstlibpath - compiles and binds files for f3, f2 and ct for &rel&. -debug will only do f3 in
foreground
he histerr - checks for errors in show_history for the past day in &rel&
vn cvsckin - creates a file listing only checkins from cvs_show_history output into show_history.txt
see formdiff
md metricsdiff- metrics_diff_ncsl.pm check for correct version on ia and f2 platforms
m3 mk3psw - rebuilds 3PS libssh2/xerces and copies 3SP into the system dirs - run tstlibpath
afterwards
sv sendvers - emails version information for brass,libssh,gnu and snmp to Joe and Gregor
mz cmpmysize - compares the size of gz files between &rel& and &relold&
bm backmeup - backup local files to nmamut via ftp
doallchks - runs summary report cks:
bucketck/errckpm/pmsck/testenv/ckbuilderr/ckmakeme/ckrulescrp/cmpcvstape/mmsucful/rsdi