backup_gnv_curl_src.com 4.1 KB

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