backup_gnv_curl_src.com 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. $! File: Backup_gnv_curl_src.com
  2. $!
  3. $! $Id$
  4. $!
  5. $! Procedure to create backup save sets for installing in a PCSI kit.
  6. $!
  7. $! To comply with most Open Source licenses, the source used for building
  8. $! a kit will be packaged with the distribution kit for the binary.
  9. $!
  10. $! Backup save sets are the only storage format that I can expect a
  11. $! VMS system to be able to extract ODS-5 filenames and directories.
  12. $!
  13. $! The make_pcsi_kit_name.com needs to be run before this procedure to
  14. $! properly name the files that will be created.
  15. $!
  16. $! This file is created from a template file for the purpose of making it
  17. $! easier to port Unix code, particularly open source code to VMS.
  18. $! Therefore permission is freely granted for any use.
  19. $!
  20. $! Copyright 2009, John Malmberg
  21. $!
  22. $! Permission to use, copy, modify, and/or distribute this software for any
  23. $! purpose with or without fee is hereby granted, provided that the above
  24. $! copyright notice and this permission notice appear in all copies.
  25. $!
  26. $! THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  27. $! WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  28. $! MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
  29. $! ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  30. $! WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  31. $! ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
  32. $! OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  33. $!
  34. $! 13-Jun-2009 J. Malmberg
  35. $!
  36. $!===========================================================================
  37. $!
  38. $! Save default
  39. $ default_dir = f$environment("DEFAULT")
  40. $!
  41. $ arch_type = f$getsyi("ARCH_NAME")
  42. $ arch_code = f$extract(0, 1, arch_type)
  43. $!
  44. $ if arch_code .nes. "V"
  45. $ then
  46. $ set proc/parse=extended
  47. $ endif
  48. $!
  49. $ ss_abort = 44
  50. $ status = ss_abort
  51. $!
  52. $ kit_name = f$trnlnm("GNV_PCSI_KITNAME")
  53. $ if kit_name .eqs. ""
  54. $ then
  55. $ write sys$output "@MAKE_PCSI_BASH_KIT_NAME.COM has not been run."
  56. $ goto all_exit
  57. $ endif
  58. $ producer = f$trnlnm("GNV_PCSI_PRODUCER")
  59. $ if producer .eqs. ""
  60. $ then
  61. $ write sys$output "@MAKE_PCSI_BASH_KIT_NAME.COM has not been run."
  62. $ goto all_exit
  63. $ endif
  64. $ filename_base = f$trnlnm("GNV_PCSI_FILENAME_BASE")
  65. $ if filename_base .eqs. ""
  66. $ then
  67. $ write sys$output "@MAKE_PCSI_BASH_KIT_NAME.COM has not been run."
  68. $ goto all_exit
  69. $ endif
  70. $!
  71. $ node_swvers = f$getsyi("NODE_SWVERS")
  72. $ node_swvers_type = f$extract(0, 1, node_swvers)
  73. $ node_swvers_vers = f$extract(1, f$length(node_swvers), node_swvers)
  74. $ swvers_maj = f$element(0, ".", node_swvers_vers)
  75. $ node_swvers_min_update = f$element(1, ".", node_swvers_vers)
  76. $ swvers_min = f$element(0, "-", node_swvers_min_update)
  77. $ swvers_update = f$element(1, "-", node_swvers_min_update)
  78. $!
  79. $ if swvers_update .eqs. "-" then swvers_update = ""
  80. $!
  81. $ vms_vers = f$fao("!2ZB!2ZB!AS", 'swvers_maj', 'swvers_min', swvers_update)
  82. $!
  83. $!
  84. $!
  85. $! If available make an interchange save set
  86. $!-------------------------------------------
  87. $ interchange = ""
  88. $ if arch_code .eqs. "V"
  89. $ then
  90. $ interchange = "/interchange"
  91. $ endif
  92. $ if (swvers_maj .ges. "8") .and. (swvers_min .ges. 4)
  93. $ then
  94. $ interchange = "/interchange/noconvert"
  95. $ endif
  96. $!
  97. $!
  98. $! Move to the base directories
  99. $ set def [--]
  100. $!
  101. $! Put things back on error.
  102. $ on warning then goto all_exit
  103. $!
  104. $ current_default = f$environment("DEFAULT")
  105. $ my_dir = f$parse(current_default,,,"DIRECTORY") - "[" - "<" - ">" - "]"
  106. $!
  107. $ src_root = "src_root:"
  108. $ if f$trnlnm("src_root1") .nes. "" then src_root = "src_root1:"
  109. $ backup'interchange' 'src_root'[curl...]*.*;0 -
  110. 'filename_base'_original_src.bck/sav
  111. $ status = $status
  112. $!
  113. $! There may be a VMS specific source kit
  114. $!-----------------------------------------
  115. $ vms_root = "vms_root:"
  116. $ if f$trnlnm("vms_root1") .nes. "" then vms_root = "vms_root1:"
  117. $ files_found = 0
  118. $ define/user sys$error nl:
  119. $ define/user sys$output nl:
  120. $ directory 'vms_root'[...]*.*;*/exc=*.dir
  121. $ if '$severity' .eq. 1 then files_found = 1
  122. $!
  123. $ if files_found .eq. 1
  124. $ then
  125. $ backup'interchange' 'vms_root'[curl...]*.*;0 -
  126. 'filename_base'_vms_src.bck/sav
  127. $ status = $status
  128. $ endif
  129. $!
  130. $all_exit:
  131. $ set def 'default_dir'
  132. $ exit