Blame vms/gawk_alias_setup.com

Packit 575503
$! File: gawk_alias_setup.com
Packit 575503
$!
Packit 575503
$! The PCSI procedure needs a helper script to set up and remove aliases.
Packit 575503
$!
Packit 575503
$! If p1 starts with "R" then remove instead of install.
Packit 575503
$!
Packit 575503
$!
Packit 575503
$! 02-Jan-2014  J. Malmberg - Gawk Version
Packit 575503
$!
Packit 575503
$!===========================================================================
Packit 575503
$!
Packit 575503
$ mode = "install"
Packit 575503
$ code = f$extract(0, 1, p1)
Packit 575503
$ if code .eqs. "R" .or. code .eqs. "r" then mode = "remove"
Packit 575503
$!
Packit 575503
$ arch_type = f$getsyi("ARCH_NAME")
Packit 575503
$ arch_code = f$extract(0, 1, arch_type)
Packit 575503
$!
Packit 575503
$ if arch_code .nes. "V"
Packit 575503
$ then
Packit 575503
$   set proc/parse=extended
Packit 575503
$ endif
Packit 575503
$!
Packit 575503
$!
Packit 575503
$ call do_alias "gawk" "[usr.bin]"
Packit 575503
$ call do_alias "gawk" "[usr.bin]" "awk"
Packit 575503
$ call do_alias "gawk.1" "[usr.share.man.man1]" "awk.1"
Packit 575503
$!
Packit 575503
$ exit
Packit 575503
$!!
Packit 575503
$!
Packit 575503
$do_alias: subroutine
Packit 575503
$ if mode .eqs. "install"
Packit 575503
$ then
Packit 575503
$   call add_alias "''p1'" "''p2'" "''p3'" "''p4'"
Packit 575503
$ else
Packit 575503
$   call remove_alias "''p1'" "''p2'" "''p3'" "''p4'"
Packit 575503
$ endif
Packit 575503
$ exit
Packit 575503
$ENDSUBROUTINE ! do_alias
Packit 575503
$!
Packit 575503
$!
Packit 575503
$! P1 is the filename, p2 is the directory prefix,
Packit 575503
$! p3 is the alias name if different than p1
Packit 575503
$! p4 is the alias directory if different than p2
Packit 575503
$add_alias: subroutine
Packit 575503
$ if p3 .eqs. "" then p3 = p1
Packit 575503
$ if p4 .eqs. "" then p4 = p2
Packit 575503
$ ftype = f$element(1, ".", p1)
Packit 575503
$ if ftype .eqs. "."
Packit 575503
$ then
Packit 575503
$    file = "gnv$gnu:''p2'gnv$''p1'.EXE"
Packit 575503
$    alias = "gnv$gnu:''p4'''p3'."
Packit 575503
$ else
Packit 575503
$    file = "gnv$gnu:''p2'''p1'"
Packit 575503
$    alias = "gnv$gnu:''p4'''p3'"
Packit 575503
$ endif
Packit 575503
$ if f$search(file) .nes. ""
Packit 575503
$ then
Packit 575503
$   fid = ""
Packit 575503
$   mess = f$environment("message")
Packit 575503
$   if f$search(alias) .nes. ""
Packit 575503
$   then
Packit 575503
$      on warn then goto fix_link
Packit 575503
$      set message/nofac/nosev/noident/notext
Packit 575503
$      fid = f$file_attributes(alias, "FID")
Packit 575503
$   endif
Packit 575503
$   goto fix_link_end
Packit 575503
$fix_link:
Packit 575503
$    set file/remove 'alias';
Packit 575503
$fix_link_end:
Packit 575503
$   set message'mess'
Packit 575503
$   if f$search(alias) .eqs. ""
Packit 575503
$   then
Packit 575503
$       set file/enter='alias' 'file'
Packit 575503
$   endif
Packit 575503
$   alias1 = alias + "exe"
Packit 575503
$   if (ftype .eqs. ".")
Packit 575503
$   then
Packit 575503
$     fid = ""
Packit 575503
$     mess = f$environment("message")
Packit 575503
$     if f$search(alias1) .nes. ""
Packit 575503
$     then
Packit 575503
$       on warn then goto fix_link1
Packit 575503
$       set message/nofac/nosev/noident/notext
Packit 575503
$       fid = f$file_attributes(alias1, "FID")
Packit 575503
$     endif
Packit 575503
$     goto fix_link_end1
Packit 575503
$fix_link1:
Packit 575503
$    set file/remove 'alias1';
Packit 575503
$fix_link_end1:
Packit 575503
$   set message'mess'
Packit 575503
$     if (f$search(alias1) .eqs. "")
Packit 575503
$     then
Packit 575503
$       set file/enter='alias1' 'file'
Packit 575503
$     endif
Packit 575503
$   endif
Packit 575503
$ endif
Packit 575503
$ exit
Packit 575503
$ENDSUBROUTINE ! add_alias
Packit 575503
$!
Packit 575503
$remove_alias: subroutine
Packit 575503
$ if p3 .eqs. "" then p3 = p1
Packit 575503
$ if p4 .eqs. "" then p4 = p2
Packit 575503
$ ftype = f$element(1, ".", p1)
Packit 575503
$ if ftype .eqs. "."
Packit 575503
$ then
Packit 575503
$   file = "gnv$gnu:''p2'gnv$''p1'.EXE"
Packit 575503
$   alias = "gnv$gnu:''p4'''p3'."
Packit 575503
$ else
Packit 575503
$   file = "gnv$gnu:''p2'''p1'"
Packit 575503
$   alias = "gnv$gnu:''p4'''p3'"
Packit 575503
$ endif
Packit 575503
$ file_fid = "No_file_fid"
Packit 575503
$ if f$search(file) .nes. ""
Packit 575503
$ then
Packit 575503
$   fid = f$file_attributes(file, "FID")
Packit 575503
$   if f$search(alias) .nes. ""
Packit 575503
$   then
Packit 575503
$       afid = f$file_attributes(alias, "FID")
Packit 575503
$       if (afid .eqs. fid)
Packit 575503
$       then
Packit 575503
$           set file/remove 'alias';
Packit 575503
$       endif
Packit 575503
$   endif
Packit 575503
$   alias1 = alias + "exe"
Packit 575503
$   if (ftype .eqs. ".") .and. (f$search(alias1) .nes. "")
Packit 575503
$   then
Packit 575503
$       afid = f$file_attributes(alias1, "FID")
Packit 575503
$       if (afid .eqs. fid)
Packit 575503
$       then
Packit 575503
$           set file/remove 'alias1';
Packit 575503
$       endif
Packit 575503
$   endif
Packit 575503
$ endif
Packit 575503
$ exit
Packit 575503
$ENDSUBROUTINE ! remove_alias