home *** CD-ROM | disk | FTP | other *** search
/ business-86-101-185-173.business.broadband.hu / business-86-101-185-173.business.broadband.hu.zip / business-86-101-185-173.business.broadband.hu / air.zip / 2.0.2.ZIP / 2.0.2 / w32-ix86 / lib / rules.spr < prev   
Text File  |  2005-05-10  |  48KB  |  2,798 lines

  1. #######################################
  2. #
  3. #
  4. # (C) Copyright IBM Corporation 2000
  5. # Unpublished Work
  6. # All Rights Reserved
  7. # Licensed Material - Property of IBM Corporation.
  8. #
  9. # Tivoli Software Distribution
  10. #
  11. #    Author: Michele Crudele - Massimiliano Celli
  12. #
  13. #    Description:  This file contains the stanzas descriptions for all the
  14. #                       objects and actions manageable by
  15. #                       Tivoli Software Distribution.
  16. #
  17. #
  18. #######################################
  19.  
  20. #######################################
  21. #######################################
  22. ##
  23. ##  WARNING WARNING WARNING WARNING WARNING
  24. ##
  25. ##  If you need to modify this file you should follow some rules:
  26. ##
  27. ##  1 - you can only modify the default values of the attributes
  28. ##  2 - boolean values can be only 'y' or 'n'
  29. ##  3 - default value for single_choice attributes MUST be specified
  30. ##       after the 'choice' field definition.
  31. ##  4 - the default value for single_choice attributes MUST be
  32. ##       one of the numeric values associated to the possible
  33. ##       choices enumerated into the 'choice' field
  34. ##  5 - the default value for multi_choice attributes MUST be
  35. ##       the sum of one or more values associated to the possible
  36. ##       choices enumerated into the 'choice' field
  37. ##  6 - default value for numeric attributes MUST be numbers
  38. ##
  39. ##
  40. #######################################
  41. #######################################
  42.  
  43. ## versions
  44. #
  45. # The valid SPD versions are the following colon-separated ones
  46. # NB: the latest version must be put in first position
  47. #
  48. versions = "4.2.3:4.2.2:4.2.1:4.2:4.1:4.0"
  49.  
  50. ## signature
  51. signature = "TIVOLI Software Package v*** - SPDF"
  52.  
  53.  
  54. ##-----------------------------------------------------
  55. #
  56. # General  Stanzas
  57. #
  58. #------------------------------------------------------
  59.  
  60. ## log_object_list
  61. log_object_list {
  62.   location {
  63.     type = pathname
  64.     mandatory = y
  65.     default = "$(product_dir)/logs"
  66.   }
  67.   unix_user_id {
  68.     type = numeric
  69.   }
  70.   unix_group_id {
  71.     type = numeric
  72.   }
  73.   unix_attributes {
  74.     type = character_mask
  75.     mask = rwxsl,rwxs,rwx
  76.   }
  77. }
  78. ## cm_command
  79. cm_command {
  80.   context = any
  81.  
  82.   caption {
  83.     type = string
  84.   }
  85.   condition {
  86.     type = string
  87.   }
  88.   is_per_user {
  89.     type = boolean
  90.     default = n
  91.   }
  92. }
  93. ## cm_composite_command
  94. cm_composite_command {
  95.   context = package,cm_composite_command
  96.   inherits = cm_command
  97.  
  98.   stop_on_failure {
  99.     type = boolean
  100.     default = y
  101.   }
  102. }
  103. ## generic_container
  104. generic_container {
  105.   context = package,generic_container,cm_composite_command
  106.   builder = make_CmGenericContainer
  107.   inherits = cm_composite_command
  108.   # This "name" is a valid attribute only for 4.0 and 4.1 SWD releases
  109.   # We leave it here just for backward compatibility
  110.   # In 4.2 we can use the attribute "caption" inherited by cm_command
  111.   name {
  112.     type = string
  113.   }
  114. }
  115.  
  116. ## contained_signature
  117. contained_signature {
  118.   context = package
  119.   builder = make_CmContainedSignature
  120.   inherits = cm_command
  121.   file_name {
  122.     type = string
  123.   }
  124.   file_size {
  125.     type = numeric
  126.   }
  127.   add_if_non_existing {
  128.     type = boolean
  129.     default = n
  130.   }
  131.   inventory_description {
  132.     type = string
  133.   }
  134.   inventory_version {
  135.     type = string
  136.   }
  137. }
  138. ## cm_add_object
  139. cm_add_object {
  140.   inherits = cm_command
  141.   replace_if_existing {
  142.     type = boolean
  143.     default = y
  144.   }
  145.   replace_if_newer {
  146.     type = boolean
  147.     default = n
  148.   }
  149.   remove_if_modified {
  150.     type = boolean
  151.     default = n
  152.   }
  153.   is_shared {
  154.     type = boolean
  155.     default = n
  156.   }
  157.   shared_counter {
  158.     type = numeric
  159.     default = 1
  160.   }
  161. }
  162. ## cm_remove_object
  163. cm_remove_object {
  164.   inherits = cm_command
  165. }
  166.  
  167. ## packge
  168. package {
  169.   builder = make_CmPackage
  170.   context = root
  171.   inherits = cm_command,cm_composite_command
  172.  
  173.   nested_software_package {
  174.     type = object
  175.     object_builder = make_NestedPackageList
  176.   }
  177.   copyright {
  178.     type = string
  179.   }
  180.   description {
  181.     type = string
  182.   }
  183.   name {
  184.     type = string
  185.     mandatory = y
  186.   }
  187.   title {
  188.     type = string
  189.   }
  190.   version {
  191.     type = string
  192.     mandatory = y
  193.   }
  194.   undoable {
  195.     type = single_choice
  196.     choice = n:1,o:2,y:4
  197.       default = 2
  198.   }
  199.   committable {
  200.     type = single_choice
  201.     choice = n:1,o:2,y:4
  202.       default = 2
  203.   }
  204.   history_reset {
  205.     type = boolean
  206.     default = n
  207.   }
  208.   after_as_uid {
  209.     type = numeric
  210.     default = 0
  211.   }
  212.   after_input_path {
  213.     type = pathname
  214.   }
  215.   after_prog_env {
  216.     type = string
  217.   }
  218.   after_program_path{
  219.     type = pathname
  220.   }
  221.   before_as_uid {
  222.     type = numeric
  223.     default = 0
  224.   }
  225.   before_input_path{
  226.     type = pathname
  227.   }
  228.   before_prog_env{
  229.     type = string
  230.   }
  231.   before_program_path{
  232.     type = pathname
  233.   }
  234.   default_operation {
  235.     type = single_choice
  236.     choice = install,remove,accept,undo,commit
  237.   }
  238.   lenient_distribution {
  239.     type = boolean
  240.     default = n
  241.   }
  242.   log_gid {
  243.     type = numeric
  244.     default = -1
  245.   }
  246.   log_mode {
  247.     type = numeric
  248.     default = -1
  249.   }
  250.   log_user_id {
  251.     type = numeric
  252.     default = -1
  253.   }
  254.   log_path {
  255.     type = string
  256.   }
  257.   log_host_name {
  258.     type = string
  259.   }
  260.   mail_id{
  261.     type = string
  262.   }
  263.   move_removing_host {
  264.     type = boolean
  265.     default = y
  266.   }
  267.   no_check_source_host {
  268.     type = boolean
  269.     default = y
  270.   }
  271.   no_chk_on_rm {
  272.     type = boolean
  273.     default = y
  274.   }
  275.   operation_mode {
  276.     type = multi_choice
  277.     choice = not_transactional:1,preferably_not_transactional:2,transactional:4,auto_commit:8,undoable:16,preferably_undoable:32,auto_accept:64,undo_ability_transactional:128,prefer_not_reboot:256,during_reboot:512,auto_reboot:1024,preview_only:2048,force:4096,install_any:8192,install_src:16384,binary_file:32768,repair_from_spb:65536,enable_dependency:131072,delta:262144,no_reboot:524288
  278.     default = 1
  279.   }
  280.   post_notice {
  281.     type = boolean
  282.     default = n
  283.   }
  284.   save_default_variables {
  285.     type = boolean
  286.     default = n
  287.   }
  288.   server_mode {
  289.     type = multi_choice
  290.     choice = all:1,src:2,repair:4,check:16,force:32,ignore:64,preview:128
  291.   }
  292.   skip_non_zero {
  293.     type = boolean
  294.     default = n
  295.   }
  296.   source_host_name{
  297.     type = string
  298.   }
  299.   spb_path{
  300.     type = string
  301.   }
  302.   stage_area{
  303.     type = string
  304.   }
  305.   web_view_mode {
  306.     type = single_choice
  307.     choice = public:4,subscriber:2,hidden:1
  308.     default = 1
  309.   }
  310.   creation_time {
  311.     type = string
  312.   }
  313.   last_modification_time {
  314.     type = string
  315.   }
  316.   default_variables {
  317.     type = object
  318.     object_builder = make_VariableList
  319.   }
  320.   log_object_list {
  321.     type = object
  322.     object_builder = make_LogObjectList
  323.   }
  324.   versioning_type {
  325.     type = single_choice
  326.     choice = none:0,swd:1
  327.     default = 1
  328.   }
  329.   package_type {
  330.     type = single_choice
  331.     choice = refresh:0,patch:1
  332.     default = 0
  333.   }
  334.   dependency {
  335.     type = string
  336.   }
  337.  
  338.   sharing_control {
  339.     type = single_choice
  340.     choice = auto:4,only_shared:2,none:1
  341.     default = 1
  342.   }
  343.   lcf_before_program_path {
  344.     type = pathname
  345.   }
  346.   lcf_before_program_arguments {
  347.     type = string
  348.   }
  349.   lcf_before_program_timeout {
  350.     type = numeric
  351.     default = -1
  352.   }
  353.   lcf_after_program_path {
  354.     type = pathname
  355.   }
  356.   lcf_after_program_arguments {
  357.     type = string
  358.   }
  359.   lcf_after_program_timeout {
  360.     type = numeric
  361.     default = -1
  362.   }
  363.  
  364. }
  365.  
  366. ## nested_software_package
  367. nested_software_package {
  368.   name {
  369.     type = string
  370.   }
  371.   version {
  372.     type = string
  373.   }
  374. }
  375.  
  376. #############################################################
  377. ##
  378. ## OBJECTS
  379. ##
  380. #############################################################
  381.  
  382. ##-----------------------------------------------------
  383. #
  384. # File System Objects
  385. #
  386. #------------------------------------------------------
  387.  
  388. ## file_system_object
  389.  
  390. file_system_object {
  391.   remove_extraneous {
  392.     type = boolean
  393.     default = n
  394.   }
  395.   substitute_variables {
  396.     type = boolean
  397.     default = n
  398.   }
  399.   compute_crc {
  400.     type = boolean
  401.     default = n
  402.   }
  403.   verify_crc {
  404.     type = boolean
  405.     default = n
  406.   }
  407.   fat_attributes {
  408.     type = character_mask
  409.     mask = rahs
  410.   }
  411.   netware_attributes {
  412.     type = character_mask
  413.     mask = xbtpndchsra
  414.   }
  415.   ntfs_attributes {
  416.     type = character_mask
  417.     mask = rahsc
  418.   }
  419.   unix_attributes {
  420.     type = character_mask
  421.     mask = rwxsl,rwxs,rwx
  422.   }
  423.   unix_owner {
  424.     type = string
  425.   }
  426.   unix_group {
  427.     type = string
  428.   }
  429.   unix_group_id {
  430.     type = numeric
  431.   }
  432.   unix_user_id {
  433.     type = numeric
  434.   }
  435.   create_dirs {
  436.     type = boolean
  437.     default = y
  438.   }
  439.   remove_empty_dirs {
  440.     type = boolean
  441.     default = y
  442.   }
  443.   remote {
  444.     type = boolean
  445.     default = n
  446.   }
  447.   compression_method {
  448.     type = single_choice
  449.     choice = deflated:8,stored:0
  450.     default = 0
  451.   }
  452.   temporary {
  453.     type = boolean
  454.     default = n
  455.   }
  456.   rename_if_locked {
  457.     type = boolean
  458.     default = n
  459.   }
  460.   delta_compressible {
  461.     type = single_choice
  462.     choice = y:1,d:0,n:-1
  463.     default = 0
  464.   }
  465.   #
  466.   # delta_compressable
  467.   # manteined only for 4.1 compatibility
  468.   # because it has been changed in 'delta_compressible'
  469.   #
  470.   delta_compressable {
  471.     type = single_choice
  472.     choice = y:1,d:0,n:-1
  473.     default = 0
  474.   }
  475.   is_signature {
  476.     type = single_choice
  477.     choice = y:1,d:0,n:-1
  478.     default = -1
  479.   }
  480.   inventory_description {
  481.     type = string
  482.   }
  483.   inventory_version {
  484.     type = string
  485.   }
  486. }
  487.  
  488. ## add_directory
  489.  
  490. add_directory {
  491.   builder = make_CmAddFSObjectsContainer
  492.   context = package,generic_container,add_directory,corequisite_files
  493.   inherits = cm_composite_command,cm_add_object,generic_container,file_system_object
  494.  
  495.   add {
  496.     type = boolean
  497.     default = y
  498.   }
  499.   location {
  500.     type = pathname
  501.   }
  502.   name {
  503.     type = pathname
  504.   }
  505.   destination {
  506.     type = pathname
  507.   }
  508.   descend_dirs {
  509.     type = boolean
  510.     default = n
  511.   }
  512.   translate {
  513.     type = boolean
  514.     default = n
  515.   }
  516. }
  517.  
  518. ## remove_directory
  519.  
  520. remove_directory {
  521.   builder = make_CmRemoveFSObjectsContainer
  522.   context = package,generic_container,remove_directory
  523.   inherits = cm_composite_command,generic_container,cm_remove_object,file_system_object
  524.  
  525.   remove {
  526.     type = boolean
  527.     default = y
  528.   }
  529.   descend_dirs {
  530.     type = boolean
  531.     default = n
  532.   }
  533.   destination {
  534.     type = pathname
  535.     mandatory = y
  536.   }
  537. }
  538.  
  539. ## add_file
  540.  
  541. add_file {
  542.   builder = make_CmAddFile
  543.   context = add_directory,corequisite_files
  544.   inherits = cm_add_object,file_system_object
  545.  
  546.   name {
  547.     type = pathname
  548.   }
  549.   destination {
  550.     type = pathname
  551.   }
  552.   translate {
  553.     type = boolean
  554.     default = n
  555.   }
  556. }
  557.  
  558. ## remove_file
  559.  
  560. remove_file {
  561.   builder = make_CmRemoveFile
  562.   context = remove_directory
  563.   inherits = cm_command,file_system_object
  564.  
  565.   destination {
  566.     type = pathname
  567.     mandatory = y
  568.   }
  569. }
  570.  
  571. ## add_link
  572.  
  573. add_link {
  574.   builder = make_CmAddLink
  575.   context = add_directory
  576.   inherits = cm_command,cm_add_object
  577.  
  578.   source_file {
  579.     type = pathname
  580.   }
  581.   follow_links {
  582.     type = boolean
  583.     default = y
  584.   }
  585.   hard_link {
  586.     type = boolean
  587.     default = n
  588.   }
  589.   destination {
  590.     type = pathname
  591.   }
  592.   translate {
  593.     type = boolean
  594.     default = n
  595.   }
  596. }
  597.  
  598. ## remove_link
  599.  
  600. remove_link {
  601.   builder = make_CmRemoveLink
  602.   context = remove_directory
  603.   inherits = cm_command
  604.  
  605.   destination {
  606.     type = pathname
  607.   }
  608.   source_file {
  609.     type = pathname
  610.   }
  611.   follow_links {
  612.     type = boolean
  613.     default = n
  614.   }
  615.   hard_link {
  616.     type = boolean
  617.     default = n
  618.   }
  619.  
  620. }
  621.  
  622. ##-----------------------------------------------------
  623. #
  624. # Windows Profile Objects
  625. #
  626. #------------------------------------------------------
  627.  
  628. ## add_win_profile_objects
  629.  
  630. add_win_profile_objects {
  631.   builder = make_CmAddWinProfileObjectsContainer
  632.   context = package,generic_container
  633.   inherits = cm_command,cm_composite_command,cm_add_object
  634.  
  635.   # This "name" is a valid attribute only for 4.0 and 4.1 SWD releases
  636.   # We leave it here just for backward compatibility
  637.   # In 4.2 we can use the attribute "caption" inherited by cm_command
  638.   name {
  639.     type = string
  640.   }
  641.   file {
  642.     type = pathname
  643.     mandatory = y
  644.   }
  645. }
  646.  
  647. ## add_section
  648.  
  649. add_section {
  650.   context = add_win_profile_objects
  651.   builder =  make_CmAddWinProfileObjectsContainer
  652.   inherits = cm_command,cm_add_object,cm_composite_command
  653.  
  654.   add {
  655.     type = boolean
  656.     default = y
  657.   }
  658.   name {
  659.     type = string
  660.     mandatory = y
  661.   }
  662. }
  663.  
  664. ## add_item
  665.  
  666. add_item {
  667.   context = add_section
  668.   builder = make_CmAddWinProfileItem
  669.   inherits = cm_add_object
  670.  
  671.   duplicate {
  672.     type = boolean
  673.     default = y
  674.   }
  675.   key {
  676.     type = string
  677.   }
  678.   value {
  679.     type = string
  680.   }
  681. }
  682.  
  683. ## remove_win_profile_objects
  684.  
  685. remove_win_profile_objects {
  686.   builder = make_CmRemoveWinProfileObjectsContainer
  687.   context = package,generic_container
  688.   inherits = cm_command,cm_composite_command,cm_remove_object
  689.  
  690.   file {
  691.     type = pathname
  692.     mandatory = y
  693.   }
  694. }
  695.  
  696. ## remove_section
  697.  
  698. remove_section {
  699.   context = remove_win_profile_objects
  700.   builder = make_CmRemoveWinProfileObjectsContainer
  701.   inherits = cm_command,cm_remove_object,cm_composite_command
  702.  
  703.   remove {
  704.     type = boolean
  705.     default = y
  706.   }
  707.   name {
  708.     type = string
  709.     mandatory = y
  710.   }
  711. }
  712.  
  713. ## remove_item
  714.  
  715. remove_item {
  716.   context = remove_section
  717.   builder = make_CmRemoveWinProfileItem
  718.   inherits = cm_remove_object
  719.  
  720.   key {
  721.     type = string
  722.   }
  723.   value {
  724.     type = string
  725.   }
  726. }
  727.  
  728. ##-----------------------------------------------------
  729. #
  730. # Windows Shell Objects
  731. #
  732. #------------------------------------------------------
  733.  
  734. ## add_win_shell_folder
  735.  
  736. add_win_shell_folder {
  737.   builder = make_CmAddWinShellObjectsContainer
  738.   context = package,generic_container,add_win_shell_folder
  739.   inherits = cm_command,cm_composite_command,cm_add_object
  740.  
  741.   location {
  742.     type = pathname
  743.   }
  744.   display_name {
  745.     type = string
  746.   }
  747.   add {
  748.     type = boolean
  749.     default = y
  750.   }
  751. }
  752.  
  753. ## remove_win_shell_folder
  754.  
  755. remove_win_shell_folder {
  756.   builder = make_CmRemoveWinShellObjectsContainer
  757.   context = package,generic_container,remove_win_shell_folder
  758.   inherits = cm_command,cm_composite_command
  759.  
  760.   location {
  761.     type = pathname
  762.   }
  763.   display_name {
  764.     type = string
  765.   }
  766.   remove {
  767.     type = boolean
  768.     default = y
  769.   }
  770. }
  771.  
  772. ## add_link
  773.  
  774. add_link {
  775.   builder = make_CmAddWinShellLink
  776.   context = add_win_shell_folder
  777.   inherits = cm_command,cm_add_object
  778.  
  779.   arguments {
  780.     type = string
  781.   }
  782.   command {
  783.     type = pathname
  784.     mandatory = y
  785.   }
  786.   display_name {
  787.     type = string
  788.   }
  789.   hotkey {
  790.     type = numeric
  791.   }
  792.   icon_index {
  793.     type = numeric
  794.     default = 0
  795.   }
  796.   icon_location {
  797.     type = pathname
  798.   }
  799.   show {
  800.     type = single_choice
  801.     choice = normal:0,minimized:1,maximized:2
  802.     default = 0
  803.   }
  804.   working_dir {
  805.     type = pathname
  806.   }
  807. }
  808.  
  809. ## remove_link
  810.  
  811. remove_link {
  812.   builder = make_CmRemoveWinShellLink
  813.   context = remove_win_shell_folder
  814.   inherits = cm_command
  815.  
  816.   display_name {
  817.     type = string
  818.     mandatory = y
  819.   }
  820. }
  821.  
  822. ##-----------------------------------------------------
  823. #
  824. # Windows Registry Objects
  825. #
  826. #------------------------------------------------------
  827.  
  828. ## win_registry_object
  829.  
  830. win_registry_object {
  831.   override_permissions {
  832.     type = boolean
  833.     default = n
  834.   }
  835. }
  836.  
  837. ## add_win_registry_key
  838.  
  839. add_win_registry_key {
  840.   builder = make_CmAddWinRegistryObjectsContainer
  841.   context = package,generic_container,add_win_registry_key
  842.   inherits = cm_command,cm_composite_command,cm_add_object,win_registry_object,generic_container
  843.  
  844.   parent_key {
  845.     type = string
  846.     mandatory = y
  847.   }
  848.   key {
  849.     type = string
  850.  
  851.   }
  852.   class {
  853.     type = string
  854.   }
  855.   add {
  856.     type = boolean
  857.     default = y
  858.   }
  859. }
  860.  
  861. ## remove_win_registry_key
  862.  
  863. remove_win_registry_key {
  864.   builder = make_CmRemoveWinRegistryObjectsContainer
  865.   context = package,generic_container,remove_win_registry_key
  866.   inherits = cm_command,cm_composite_command,cm_remove_object,win_registry_object,generic_container
  867.  
  868.   parent_key {
  869.     type = string
  870.     mandatory = y
  871.   }
  872.   key {
  873.     type = string
  874.   }
  875.   remove {
  876.     type = boolean
  877.     default = y
  878.   }
  879. }
  880.  
  881. ## add_value
  882.  
  883. add_value {
  884.   builder = make_CmAddWinRegistryValue
  885.   context = add_win_registry_key
  886.   inherits = cm_add_object,win_registry_object
  887.  
  888.   name {
  889.     type = string
  890.   }
  891.   type {
  892.     type = single_choice
  893.     choice = string:0,expand_string:1,binary:2,dword:3,multi_string:4
  894.     default = 0
  895.   }
  896.   position {
  897.     type = single_choice
  898.     choice = begin:0,end:1,replace:2
  899.     default = 2
  900.   }
  901.   data {
  902.     type = string
  903.   }
  904. }
  905.  
  906. ## remove_value
  907.  
  908. remove_value {
  909.   builder = make_CmRemoveWinRegistryValue
  910.   context = remove_win_registry_key
  911.   inherits = cm_remove_object,win_registry_object
  912.  
  913.   name {
  914.     type = string
  915.   }
  916.   type {
  917.     type = single_choice
  918.     choice = string:0,expand_string:1,binary:2,dword:3,multi_string:4
  919.     default = 0
  920.   }
  921. }
  922.  
  923. ##-----------------------------------------------------
  924. #
  925. # Windows NT Services Objects
  926. #
  927. #------------------------------------------------------
  928.  
  929. ## add_win_nt_service
  930.  
  931. add_win_nt_service {
  932.   builder = make_CmAddWinNTService
  933.   context = package,generic_container
  934.   inherits = cm_command,cm_add_object
  935.  
  936.  
  937.   add {
  938.     type = boolean
  939.     default = y
  940.   }
  941.   name {
  942.     type = string
  943.     mandatory = y
  944.   }
  945.   display_name {
  946.     type = string
  947.   }
  948.   path {
  949.     type = pathname
  950.     mandatory = y
  951.   }
  952.   type {
  953.     type = single_choice
  954.     choice = win32_own_process:0,win32_share_process:1,kernel_driver:2,file_system_driver:3
  955.     default = 0
  956.   }
  957.   interact_with_desktop {
  958.     type = boolean
  959.     default = n
  960.   }
  961.   start_type {
  962.     type = single_choice
  963.     choice = boot:0,system:1,auto:2,demand:3,disabled:4
  964.     default = 3
  965.   }
  966.   error_control {
  967.     type = single_choice
  968.     choice = ignore:0,normal:1,severe:2,critical:3
  969.     default = 1
  970.   }
  971.   load_ordering_group {
  972.     type = string
  973.   }
  974.   dependency_groups {
  975.     type = string
  976.   }
  977.   dependency_services {
  978.     type = string
  979.   }
  980.   account {
  981.     type = string
  982.   }
  983.   password {
  984.     type = string
  985.   }
  986. }
  987.  
  988. ## remove_win_nt_service
  989.  
  990. remove_win_nt_service {
  991.   builder = make_CmRemoveWinNTService
  992.   context = package,generic_container
  993.   inherits = cm_command
  994.  
  995.   name {
  996.     type = string
  997.     mandatory = y
  998.   }
  999.   remove {
  1000.     type = boolean
  1001.     default = y
  1002.   }
  1003. }
  1004.  
  1005. ##-----------------------------------------------------
  1006. #
  1007. # OS/2 Profile Objects
  1008. #
  1009. #------------------------------------------------------
  1010.  
  1011. ## add_os2_profile_objects
  1012.  
  1013. add_os2_profile_objects {
  1014.   builder = make_CmAddOS2ProfileObjectsContainer
  1015.   context = package,generic_container
  1016.   inherits = cm_command,cm_composite_command,cm_add_object
  1017.  
  1018.   file {
  1019.     type = pathname
  1020.     mandatory = y
  1021.   }
  1022. }
  1023.  
  1024. ## add_item
  1025.  
  1026. add_item {
  1027.   context = add_os2_profile_objects
  1028.   builder = make_CmAddOS2ProfileItem
  1029.   inherits = cm_add_object
  1030.  
  1031.   position {
  1032.     type = single_choice
  1033.     choice = replace:2,begin:0,end:1
  1034.     default = 2
  1035.   }
  1036.   type {
  1037.     type = single_choice
  1038.     choice = string:1,binary:0
  1039.     default = 1
  1040.   }
  1041.   section {
  1042.     type = string
  1043.     mandatory = y
  1044.   }
  1045.   key {
  1046.     type = string
  1047.     mandatory = y
  1048.   }
  1049.   value {
  1050.     type = string
  1051.   }
  1052. }
  1053.  
  1054. ## remove_os2_profile_objects
  1055.  
  1056. remove_os2_profile_objects {
  1057.   builder = make_CmRemoveOS2ProfileObjectsContainer
  1058.   context = package,generic_container
  1059.   inherits = cm_command,cm_composite_command,cm_remove_object
  1060.  
  1061.   file {
  1062.     type = pathname
  1063.     mandatory = y
  1064.   }
  1065. }
  1066.  
  1067. ## remove_item
  1068.  
  1069. remove_item {
  1070.   context = remove_os2_profile_objects
  1071.   builder = make_CmRemoveOS2ProfileItem
  1072.   inherits = cm_remove_object
  1073.  
  1074.   position {
  1075.     type = single_choice
  1076.     choice = replace:2,begin:0,end:1
  1077.     default = 2
  1078.   }
  1079.   type {
  1080.     type = single_choice
  1081.     choice = string:1,binary:0
  1082.     default = 1
  1083.   }
  1084.   section {
  1085.     type = string
  1086.     mandatory = y
  1087.   }
  1088.   key {
  1089.     type = string
  1090.     mandatory = y
  1091.   }
  1092.   value {
  1093.     type = string
  1094.   }
  1095. }
  1096.  
  1097.  
  1098. ##-----------------------------------------------------
  1099. #
  1100. # OS/2 Desktop Objects
  1101. #
  1102. #------------------------------------------------------
  1103.  
  1104. ## add_os2_desktop_folder
  1105.  
  1106. add_os2_desktop_folder {
  1107.   builder = make_CmAddOS2DesktopObjectsContainer
  1108.   context = package,generic_container,add_os2_desktop_folder
  1109.   inherits = cm_command,cm_composite_command,cm_add_object,generic_container,os2_desktop_folder
  1110.  
  1111.   location {
  1112.     type = string
  1113.     mandatory = y
  1114.   }
  1115.   title {
  1116.     type = string
  1117.   }
  1118.   object_id {
  1119.     type = string
  1120.   }
  1121.   icon_location {
  1122.     type = pathname
  1123.   }
  1124.   icon_index {
  1125.     type = numeric
  1126.     default = -1
  1127.   }
  1128.   template {
  1129.     type = boolean
  1130.     default = n
  1131.   }
  1132.   background_image_file {
  1133.     type = pathname
  1134.   }
  1135.   background_image_mode {
  1136.     type = single_choice
  1137.     # the choices are the ASCII codes
  1138.     # for 'N', 'T' and 'S'
  1139.     choice = normal:78,tiled:84,scaled:83
  1140.     default = 78
  1141.   }
  1142.   background_color {
  1143.     type = string
  1144.   }
  1145.   scaling_factor {
  1146.     type = numeric
  1147.   }
  1148.   animation_icon_location {
  1149.     type = pathname
  1150.   }
  1151.   animation_icon_index {
  1152.     type = numeric
  1153.     default = 0
  1154.   }
  1155.   default_view {
  1156.     type = single_choice
  1157.     choice = icon:0,tree:1,details:2
  1158.     default = 0
  1159.   }
  1160.   add {
  1161.     type = boolean
  1162.     default = y
  1163.   }
  1164. }
  1165.  
  1166. ## add_program
  1167. add_program {
  1168.   context = add_os2_desktop_folder
  1169.   builder = make_CmAddOS2DesktopProgram
  1170.   inherits = cm_add_object
  1171.  
  1172.   title {
  1173.     type = string
  1174.   }
  1175.   object_id {
  1176.     type = string
  1177.   }
  1178.   icon_location {
  1179.     type = pathname
  1180.   }
  1181.   icon_index {
  1182.     type = numeric
  1183.     default = -1
  1184.   }
  1185.   template {
  1186.     type = boolean
  1187.     default = n
  1188.   }
  1189.   command {
  1190.     type = pathname
  1191.     mandatory = y
  1192.   }
  1193.   arguments {
  1194.     type = string
  1195.   }
  1196.   type {
  1197.     type = single_choice
  1198.     choice = fullscreen:0,pm:1,standard_compatibility_fullscreen:2,enhanced_compatibility_fullscreen:3,winos2_enhanced_common_session:4,winos2_enhanced_separate_session:5,standard_compatibility_fullscreen31:6,winos2_standard_common_session:7,winos2_standard_separate_session:8,winos2_separate_vdm:9,dos_fullscreen:10,winos2_fullscreen:11,os2_window:12,dos_window:13,winos2_window:14
  1199.     default = 12
  1200.   }
  1201.   working_dir {
  1202.     type = pathname
  1203.   }
  1204. }
  1205.  
  1206.  
  1207. ## add_shadow
  1208.  
  1209. add_shadow {
  1210.   context = add_os2_desktop_folder
  1211.   builder = make_CmAddOS2DesktopShadow
  1212.   inherits = cm_add_object
  1213.  
  1214.   object_id {
  1215.     type = string
  1216.   }
  1217.   shadowed_object_id {
  1218.     type = string
  1219.   }
  1220.   shadowed_object_location {
  1221.     type = string
  1222.   }
  1223.   shadowed_object_title {
  1224.     type = string
  1225.   }
  1226. }
  1227.  
  1228. ## add_object
  1229.  
  1230. add_object {
  1231.   context = add_os2_desktop_folder
  1232.   builder = make_CmAddOS2DesktopObject
  1233.   inherits = cm_add_object
  1234.  
  1235.   class {
  1236.     type = string
  1237.     mandatory = y
  1238.   }
  1239.   title {
  1240.     type = string
  1241.   }
  1242.   object_id {
  1243.     type = string
  1244.   }
  1245.   icon_location {
  1246.     type = pathname
  1247.   }
  1248.   icon_index {
  1249.     type = numeric
  1250.     default = -1
  1251.   }
  1252.   template {
  1253.     type = boolean
  1254.     default = n
  1255.   }
  1256.   setup_string {
  1257.     type = string
  1258.   }
  1259. }
  1260.  
  1261. ## remove_os2_desktop_folder
  1262.  
  1263. remove_os2_desktop_folder {
  1264.   builder = make_CmRemoveOS2DesktopObjectsContainer
  1265.   context = package,generic_container,remove_os2_desktop_folder
  1266.   inherits = cm_command,cm_composite_command,cm_remove_object,generic_container,os2_desktop_folder
  1267.  
  1268.   remove {
  1269.     type = boolean
  1270.     default = y
  1271.   }
  1272.   location {
  1273.     type = string
  1274.     mandatory = y
  1275.   }
  1276.     title {
  1277.     type = string
  1278.   }
  1279.   object_id {
  1280.     type = string
  1281.   }
  1282. }
  1283.  
  1284. ## remove_program
  1285.  
  1286. remove_program {
  1287.   context = remove_os2_desktop_folder
  1288.   builder = make_CmRemoveOS2DesktopProgram
  1289.   inherits = cm_remove_object
  1290.  
  1291.   title {
  1292.     type = string
  1293.   }
  1294.   object_id {
  1295.     type = string
  1296.   }
  1297. }
  1298.  
  1299. ## remove_shadow
  1300.  
  1301. remove_shadow {
  1302.   context = remove_os2_desktop_folder
  1303.   builder = make_CmRemoveOS2DesktopShadow
  1304.   inherits = cm_remove_object
  1305.  
  1306.   object_id {
  1307.     type = string
  1308.   }
  1309.   shadowed_object_id {
  1310.     type = string
  1311.   }
  1312.   shadowed_object_location {
  1313.     type = string
  1314.   }
  1315.   shadowed_object_title {
  1316.     type = string
  1317.   }
  1318. }
  1319.  
  1320. ## remove_object
  1321.  
  1322. remove_object {
  1323.   context = remove_os2_desktop_folder
  1324.   builder = make_CmRemoveOS2DesktopObject
  1325.   inherits = cm_remove_object
  1326.  
  1327.   title {
  1328.     type = string
  1329.   }
  1330.   object_id {
  1331.     type = string
  1332.   }
  1333. }
  1334.  
  1335.  
  1336. ##-----------------------------------------------------
  1337. #
  1338. # Text File Objects
  1339. #
  1340. #------------------------------------------------------
  1341.  
  1342. ## add_text_file_objects
  1343.  
  1344. add_text_file_objects {
  1345.   builder = make_CmAddTextFileObjectsContainer
  1346.   context = package,generic_container
  1347.   inherits = cm_command,cm_composite_command,cm_add_object
  1348.  
  1349.   file {
  1350.     type = pathname
  1351.     mandatory = y
  1352.   }
  1353.   name {
  1354.     type = string
  1355.   }
  1356. }
  1357.  
  1358. ## remove_text_file_objects
  1359.  
  1360. remove_text_file_objects {
  1361.   builder = make_CmRemoveTextFileObjectsContainer
  1362.   context = package,generic_container
  1363.   inherits = cm_command,cm_composite_command
  1364.  
  1365.   file {
  1366.     type = pathname
  1367.     mandatory = y
  1368.   }
  1369. }
  1370.  
  1371. ## add_line
  1372.  
  1373. add_line {
  1374.   context = add_text_file_objects
  1375.   builder = make_CmAddTextFileLine
  1376.   inherits = cm_add_object
  1377.  
  1378.   pattern {
  1379.     type = string
  1380.   }
  1381.   position {
  1382.     type = single_choice
  1383.     choice = end:0,begin:1,before_first:2,after_first:3,after_last:4
  1384.     default = 0
  1385.   }
  1386.   text {
  1387.     type = string
  1388.     mandatory = y
  1389.   }
  1390. }
  1391.  
  1392. ## remove_line
  1393.  
  1394. remove_line {
  1395.   context = remove_text_file_objects
  1396.   builder = make_CmRemoveTextFileLine
  1397.   inherits = cm_remove_object
  1398.  
  1399.   pattern {
  1400.     type = string
  1401.   }
  1402.   text {
  1403.     type = string
  1404.     mandatory = y
  1405.   }
  1406. }
  1407.  
  1408. ## add_command_line
  1409.  
  1410. add_command_line {
  1411.   context = add_text_file_objects
  1412.   builder = make_CmAddTextFileCommandLine
  1413.   inherits = cm_add_object
  1414.  
  1415.   command {
  1416.     type = string
  1417.     mandatory = y
  1418.   }
  1419.   key {
  1420.     type = string
  1421.     mandatory = y
  1422.   }
  1423.   pattern {
  1424.     type = string
  1425.   }
  1426.   position {
  1427.     type = single_choice
  1428.     choice = end:0,begin:1,before_first:2,after_first:3,after_last:4
  1429.     default = 0
  1430.   }
  1431.   text {
  1432.     type = string
  1433.     mandatory = y
  1434.   }
  1435. }
  1436.  
  1437. ## remove_command_line
  1438.  
  1439. remove_command_line {
  1440.   context = remove_text_file_objects
  1441.   builder = make_CmRemoveTextFileCommandLine
  1442.   inherits = cm_remove_object
  1443.  
  1444.   command {
  1445.     type = string
  1446.     mandatory = y
  1447.   }
  1448.   key {
  1449.     type = string
  1450.     mandatory = y
  1451.   }
  1452.   pattern {
  1453.     type = string
  1454.   }
  1455.   text {
  1456.     type = string
  1457.     mandatory = y
  1458.   }
  1459. }
  1460.  
  1461. ## add_token
  1462.  
  1463. add_token {
  1464.   context = add_text_file_objects
  1465.   builder = make_CmAddTextFileToken
  1466.   inherits = cm_add_object
  1467.  
  1468.   key {
  1469.     type = string
  1470.     mandatory = y
  1471.   }
  1472.   position {
  1473.     type = single_choice
  1474.     choice = begin:1,end:0
  1475.     default = 0
  1476.   }
  1477.   token_separator {
  1478.     type = string
  1479.     default = ";"
  1480.   }
  1481.   text {
  1482.     type = string
  1483.     mandatory = y
  1484.   }
  1485. }
  1486.  
  1487. ## remove_token
  1488.  
  1489. remove_token {
  1490.   context = remove_text_file_objects
  1491.   builder = make_CmRemoveTextFileToken
  1492.   inherits = cm_remove_object
  1493.  
  1494.   key {
  1495.     type = string
  1496.     mandatory = y
  1497.   }
  1498.   token_separator {
  1499.     type = string
  1500.     default = ";"
  1501.   }
  1502.   text {
  1503.     type = string
  1504.     mandatory = y
  1505.   }
  1506. }
  1507.  
  1508. ##-----------------------------------------------------
  1509. #
  1510. # OS/400 Objects
  1511. #
  1512. #------------------------------------------------------
  1513.  
  1514. #
  1515. os400_object {
  1516.   location {
  1517.     type = pathname
  1518.   }
  1519.   name {
  1520.     type = pathname
  1521.   }
  1522.   destination {
  1523.     type = pathname
  1524.   }
  1525.   target_release {
  1526.     type = string
  1527.   }
  1528.   replace_option {
  1529.     type = single_choice
  1530.     choice = *ALL:1,*NEW:2,*OLD:4
  1531.     default = 1
  1532.   }
  1533.   remote {
  1534.     type = boolean
  1535.     default = n
  1536.   }
  1537. }
  1538.  
  1539. #
  1540. add_os400_lib {
  1541.   builder = make_CmAddOs400ObjectsContainer
  1542.   context = package,generic_container
  1543.   inherits = cm_composite_command,cm_add_object,generic_container,os400_object
  1544.  
  1545.   add {
  1546.     type = boolean
  1547.     default = y
  1548.   }
  1549.   descend {
  1550.     type = boolean
  1551.     default = n
  1552.   }
  1553.   changed_obj_only {
  1554.     type = boolean
  1555.     default = n
  1556.   }
  1557.   reference_date {
  1558.     type = string
  1559.   }
  1560.   reference_time {
  1561.     type = string
  1562.   }
  1563. }
  1564.  
  1565. #
  1566. remove_os400_lib {
  1567.   builder = make_CmRemoveOs400ObjectsContainer
  1568.   context = package,generic_container
  1569.   inherits = cm_composite_command,cm_remove_object,generic_container,os400_object
  1570.  
  1571.   remove {
  1572.     type = boolean
  1573.     default = y
  1574.   }
  1575.   descend {
  1576.     type = boolean
  1577.     default = n
  1578.   }
  1579. }
  1580.  
  1581. #
  1582. add_os400_obj {
  1583.   builder = make_CmAddOs400Obj
  1584.   context = add_os400_lib
  1585.   inherits = cm_add_object,os400_object
  1586. }
  1587.  
  1588. #
  1589. remove_os400_obj {
  1590.   builder = make_CmRemoveOs400Obj
  1591.   context = remove_os400_lib
  1592.   inherits = cm_remove_object,os400_object
  1593. }
  1594.  
  1595. #
  1596. add_os400_licpgm {
  1597.   builder = make_CmAddOs400LicPgm
  1598.   context = package,generic_container
  1599.   inherits = cm_command,cm_add_object,os400_object
  1600.  
  1601.   add {
  1602.     type = boolean
  1603.     default = y
  1604.   }
  1605.   licpgm_ID {
  1606.     type = string
  1607.     mandatory =y
  1608.   }
  1609.   licpgm_option {
  1610.     type = string
  1611.   }
  1612.   release {
  1613.     type = string
  1614.   }
  1615.   restore_object {
  1616.     type = single_choice
  1617.     choice = *ALL:1,*PGM:2,*LNG:4
  1618.     default = 1
  1619.   }
  1620.   device {
  1621.     type = pathname
  1622.   }
  1623.   source {
  1624.     type = pathname
  1625.   }
  1626.   language {
  1627.     type = string
  1628.   }
  1629. }
  1630.  
  1631. #
  1632. remove_os400_licpgm {
  1633.   builder = make_CmRemoveOs400LicPgm
  1634.   context = package,generic_container
  1635.   inherits = cm_command,cm_remove_object,os400_object
  1636.  
  1637.   remove {
  1638.     type = boolean
  1639.     default = y
  1640.   }
  1641.   licpgm_ID {
  1642.     type = string
  1643.     mandatory = y
  1644.   }
  1645.   licpgm_option {
  1646.     type = string
  1647.   }
  1648.   language {
  1649.     type = string
  1650.   }
  1651.   release {
  1652.     type = string
  1653.   }
  1654. }
  1655.  
  1656. #
  1657. os400_sysval {
  1658.   builder = make_CmChangeOs400Sysval
  1659.   context = package,generic_container
  1660.   inherits = cm_command
  1661.  
  1662.   sysval_name {
  1663.     type = string
  1664.   }
  1665.   value {
  1666.     type = string
  1667.   }
  1668. }
  1669.  
  1670.  
  1671.  
  1672.  
  1673. #############################################################
  1674. ##
  1675. ## ACTIONS
  1676. ##
  1677. #############################################################
  1678.  
  1679.  
  1680. ##-----------------------------------------------------
  1681. #
  1682. # Restart
  1683. #
  1684. #------------------------------------------------------
  1685.  
  1686. #
  1687. restart {
  1688.   inherits = cm_command
  1689.   context = package,generic_container
  1690.   builder = make_CmRestart
  1691.  
  1692.   during_install {
  1693.     type = single_choice
  1694.     choice = none:0,after:1,immediately:2
  1695.     default = 1
  1696.   }
  1697.   during_remove {
  1698.     type = single_choice
  1699.     choice = none:0,after:1,immediately:2
  1700.     default = 1
  1701.   }
  1702.   during_undo {
  1703.     type = single_choice
  1704.     choice = none:0,after:1,immediately:2
  1705.     default = 1
  1706.   }
  1707.  
  1708.   during_commit {
  1709.     type = single_choice
  1710.     choice = none:0,after:1,immediately:2
  1711.     default = 1
  1712.   }
  1713.  
  1714.   timeout {
  1715.     type = numeric
  1716.     default = -1
  1717.   }
  1718.  
  1719.   force_restart {
  1720.     type = boolean
  1721.     default = n
  1722.   }
  1723.  
  1724. }
  1725.  
  1726. ##-----------------------------------------------------
  1727. #
  1728. # Execute User Program
  1729. #
  1730. #------------------------------------------------------
  1731.  
  1732. ## exit_codes
  1733. exit_codes {
  1734.   success {
  1735.     type = range
  1736.     range = 0,65535
  1737.     default = 0,0
  1738.   }
  1739.   success_reboot_now {
  1740.     type = range
  1741.     range = 0,65535
  1742.   }
  1743.   success_reboot_now_reexecute {
  1744.     type = range
  1745.     range = 0,65535
  1746.   }
  1747.   success_reboot_after {
  1748.     type = range
  1749.     range = 0,65535
  1750.   }
  1751.   success_reboot_after_reexecute {
  1752.     type = range
  1753.     range = 0,65535
  1754.   }
  1755.   success_in_a_reboot {
  1756.     type = range
  1757.     range = 0,65535
  1758.   }
  1759.   warning {
  1760.     type = range
  1761.     range = 0,65535
  1762.   }
  1763.   failure {
  1764.     type = range
  1765.     range = 0,65535
  1766.   }
  1767.   fatal_failure {
  1768.     type = range
  1769.     range = 0,65535
  1770.   }
  1771. }
  1772.  
  1773.  
  1774.  
  1775. ## user_program
  1776. user_program {
  1777.  
  1778.   #
  1779.   # program class attributes
  1780.   ##
  1781.   path {
  1782.     type = pathname
  1783.     mandatory = y
  1784.   }
  1785.   input_file {
  1786.     type = pathname
  1787.   }
  1788.   arguments {
  1789.     type = string
  1790.   }
  1791.   inhibit_parsing {
  1792.     type = boolean
  1793.     default = n
  1794.   }
  1795.   working_dir {
  1796.     type = pathname
  1797.   }
  1798.   timeout {
  1799.     type = numeric
  1800.     default = -1
  1801.   }
  1802.   unix_user_id {
  1803.     type = numeric
  1804.     default = 0
  1805.   }
  1806.   unix_group_id {
  1807.     type = numeric
  1808.     default = 0
  1809.   }
  1810.   user_name {
  1811.     type = string
  1812.   }
  1813.   group_name {
  1814.     type = string
  1815.   }
  1816.   user_input_required {
  1817.     type = boolean
  1818.     default = n
  1819.   }
  1820.   environment {
  1821.     type = string
  1822.   }
  1823.  
  1824.   #
  1825.   # specific user_program attributes
  1826.   ##
  1827.  
  1828.   exit_codes {
  1829.     type = object
  1830.     object_builder = make_RangeValueList
  1831.   }
  1832.   bootable {
  1833.     type = boolean
  1834.     default = n
  1835.   }
  1836.   error_file {
  1837.     type = pathname
  1838.   }
  1839.   max_stderr_size {
  1840.     type = numeric
  1841.     default = 10000
  1842.   }
  1843.   max_stdout_size {
  1844.     type = numeric
  1845.     default = 10000
  1846.   }
  1847.   output_file {
  1848.     type = pathname
  1849.   }
  1850.   output_file_append {
  1851.     type = boolean
  1852.     default = n
  1853.   }
  1854.   error_file_append {
  1855.     type = boolean
  1856.     default = n
  1857.   }
  1858.   reporting_stdout_on_server {
  1859.     type = boolean
  1860.     default = n
  1861.   }
  1862.   reporting_stderr_on_server {
  1863.     type=boolean
  1864.     default = n
  1865.   }
  1866.   retry {
  1867.     type = numeric
  1868.     default = 0
  1869.   }
  1870.   corequisite_files {
  1871.     type = object
  1872.     object_builder = make_CmAddFSObjectsContainer
  1873.   }
  1874. }
  1875.  
  1876. ## corequisite_files
  1877. corequisite_files {
  1878.   inherits = cm_add_object,add_file,add_directory
  1879. }
  1880. ## during_install
  1881. during_install {
  1882.   inherits = user_program,mssetup_program,installshield_program,cid_program
  1883. }
  1884. ## during_remove
  1885. during_remove {
  1886.   inherits = user_program,mssetup_program,cid_program
  1887. }
  1888. ## during_verify
  1889. during_verify {
  1890.   inherits = user_program,cid_program
  1891. }
  1892. ## during_undo
  1893. during_undo {
  1894.   inherits = user_program,cid_program
  1895. }
  1896. ## during_cleanup
  1897. during_cleanup {
  1898.   inherits = user_program,cid_program
  1899. }
  1900. ## during_backup
  1901. during_backup {
  1902.   inherits = user_program,cid_program
  1903. }
  1904. ## during_accept
  1905. during_accept {
  1906.   inherits = user_program,cid_program
  1907. }
  1908. ## during_commit
  1909. during_commit {
  1910.   inherits = user_program,cid_program
  1911. }
  1912. ## execute_user_program
  1913. execute_user_program {
  1914.   builder = make_CmExecuteUserProgram
  1915.   context = package,generic_container
  1916.   inherits = cm_command
  1917.  
  1918.   name {
  1919.     type = string
  1920.   }
  1921.   transactional {
  1922.     type = boolean
  1923.     default = n
  1924.   }
  1925.   during_install {
  1926.     type = object
  1927.     object_builder = make_CmUserProgram
  1928.   }
  1929.   during_remove {
  1930.     type = object
  1931.     object_builder = make_CmUserProgram
  1932.   }
  1933.   during_verify {
  1934.     type = object
  1935.     object_builder = make_CmUserProgram
  1936.   }
  1937.   during_undo {
  1938.     type = object
  1939.     object_builder = make_CmUserProgram
  1940.   }
  1941.   during_cleanup {
  1942.     type = object
  1943.     object_builder = make_CmUserProgram
  1944.   }
  1945.   during_backup {
  1946.     type = object
  1947.     object_builder = make_CmUserProgram
  1948.   }
  1949.   during_accept {
  1950.     type = object
  1951.     object_builder = make_CmUserProgram
  1952.   }
  1953.   during_commit {
  1954.     type = object
  1955.     object_builder = make_CmUserProgram
  1956.   }
  1957. }
  1958. ##-----------------------------------------------------
  1959. #
  1960. # Execute CID Program
  1961. #
  1962. #------------------------------------------------------
  1963.  
  1964. #
  1965. execute_cid_program {
  1966.   builder = make_CmExecuteCIDProgram
  1967.   context = package,generic_container
  1968.   inherits = cm_command,execute_program
  1969.  
  1970.   name {
  1971.     type = string
  1972.   }
  1973.   transactional {
  1974.     type = boolean
  1975.     default = n
  1976.   }
  1977.   during_install {
  1978.     type = object
  1979.     object_builder = make_CmCIDProgram
  1980.   }
  1981.   during_remove {
  1982.     type = object
  1983.     object_builder = make_CmCIDProgram
  1984.   }
  1985.   during_verify {
  1986.     type = object
  1987.     object_builder = make_CmCIDProgram
  1988.   }
  1989.   during_undo {
  1990.     type = object
  1991.     object_builder = make_CmCIDProgram
  1992.   }
  1993.   during_cleanup {
  1994.     type = object
  1995.     object_builder = make_CmCIDProgram
  1996.   }
  1997.   during_backup {
  1998.     type = object
  1999.     object_builder = make_CmCIDProgram
  2000.   }
  2001.   during_accept {
  2002.     type = object
  2003.     object_builder = make_CmCIDProgram
  2004.   }
  2005.   during_commit {
  2006.     type = object
  2007.     object_builder = make_CmCIDProgram
  2008.   }
  2009.   maintenance_programs {
  2010.     type = object
  2011.     object_builder = make_CidProgramList
  2012.   }
  2013. }
  2014.  
  2015. #
  2016. maintenance_programs {
  2017.   cid_program {
  2018.     type = object
  2019.     object_builder = make_CmCIDProgram
  2020.   }
  2021. }
  2022. #
  2023. cid_program {
  2024.   inherits = user_program
  2025.  
  2026.   reboot {
  2027.     type = boolean
  2028.     default = n
  2029.   }
  2030.  
  2031.   failure_as_fatal {
  2032.     type = boolean
  2033.     default = n
  2034.   }
  2035. }
  2036.  
  2037. ##-----------------------------------------------------
  2038. #
  2039. # Execute MS-Setup Program
  2040. #
  2041. #------------------------------------------------------
  2042.  
  2043. #
  2044. mssetup_program {
  2045.   inherits = user_program
  2046. }
  2047.  
  2048. #
  2049. execute_mssetup_program {
  2050.   builder = make_CmExecuteMSSetupProgram
  2051.   context = package,generic_container
  2052.   inherits = cm_command,execute_user_program
  2053.  
  2054.   name {
  2055.     type = string
  2056.   }
  2057.   during_install {
  2058.     type = object
  2059.     object_builder = make_CmMSSetupProgram
  2060.   }
  2061.   during_remove {
  2062.     type = object
  2063.     object_builder = make_CmMSSetupProgram
  2064.   }
  2065. }
  2066.  
  2067.  
  2068. ##-----------------------------------------------------
  2069. #
  2070. # Execute InstallShield Program
  2071. #
  2072. #------------------------------------------------------
  2073.  
  2074. #
  2075. installshield_program {
  2076.   inherits = user_program
  2077.  
  2078.   log_file_path {
  2079.     type = pathname
  2080.     default = "instshld.log"
  2081.   }
  2082.   response_file_path {
  2083.     type = pathname
  2084.     default = "setup.iss"
  2085.   }
  2086.   uninstall_response_file_path {
  2087.     type = pathname
  2088.     default = "remsetup.iss"
  2089.   }
  2090.   silent {
  2091.     type = boolean
  2092.     default = y
  2093.   }
  2094. }
  2095.  
  2096.  
  2097. #
  2098. execute_installshield_program {
  2099.   builder = make_CmExecuteInstallShieldProgram
  2100.   context = package,generic_container
  2101.   inherits = cm_command,execute_user_program
  2102.  
  2103.   automatic_uninstall {
  2104.     type = boolean
  2105.     default = y
  2106.   }
  2107.   name {
  2108.     type = string
  2109.   }
  2110.   during_install {
  2111.     type = object
  2112.     object_builder = make_CmInstallShieldProgram
  2113.   }
  2114. }
  2115.  
  2116. ##-----------------------------------------------------
  2117. #
  2118. # Install Native Package
  2119. #
  2120. #------------------------------------------------------
  2121. #
  2122. install_native_package {
  2123.   context = package,generic_container
  2124.   inherits = cm_command
  2125.  
  2126.   image_dir {
  2127.     type = pathname
  2128.     mandatory = y
  2129.   }
  2130.   source_dir {
  2131.     type = pathname
  2132.   }
  2133.   is_image_remote {
  2134.     type = boolean
  2135.     default = n
  2136.   }
  2137.   keep_images {
  2138.     type = boolean
  2139.     default = n
  2140.   }
  2141.   compression_method {
  2142.     type = single_choice
  2143.     choice = deflated:8,stored:0
  2144.     default = 0
  2145.   }
  2146. }
  2147.  
  2148. ##-----------------------------------------------------
  2149. #
  2150. # Install AIX package
  2151. #
  2152. #------------------------------------------------------
  2153. #
  2154. install_aix_package {
  2155.   builder = make_InstallAIXPackage
  2156.   context = package,generic_container
  2157.   inherits = install_native_package
  2158.  
  2159.   package_file {
  2160.     type = string
  2161.   }
  2162.   log_mode {
  2163.     type = single_choice
  2164.     choice = disabled:1,default:2,low:4,medium:8,high:16
  2165.     default = 1
  2166.   }
  2167.   log_path {
  2168.     type = pathname
  2169.   }
  2170.   report_log {
  2171.     type = boolean
  2172.     default = n
  2173.   }
  2174.   block_size{
  2175.     type = numeric
  2176.     default = 512
  2177.   }
  2178.   override_files {
  2179.     type = boolean
  2180.     default = n
  2181.   }
  2182.   install_corequisites {
  2183.     type = boolean
  2184.     default = n
  2185.   }
  2186.   is_update {
  2187.     type = boolean
  2188.     default = n
  2189.   }
  2190.   install_root {
  2191.     type = boolean
  2192.     default = n
  2193.   }
  2194.   install_share {
  2195.     type = boolean
  2196.     default = n
  2197.   }
  2198.   install_usr {
  2199.     type = boolean
  2200.     default = n
  2201.   }
  2202.   cdrom_volume {
  2203.     type = boolean
  2204.     default = n
  2205.   }
  2206.   expand_fs {
  2207.     type = boolean
  2208.     default = n
  2209.   }
  2210.   save_directory {
  2211.     type = pathname
  2212.   }
  2213.   fileset {
  2214.     type = object
  2215.     object_builder = make_FileSet
  2216.   }
  2217. }
  2218.  
  2219. #
  2220. fileset {
  2221.   name {
  2222.     type = string
  2223.     mandatory = y
  2224.   }
  2225.   level {
  2226.     type = string
  2227.   }
  2228.   description {
  2229.     type = string
  2230.   }
  2231. }
  2232.  
  2233.  
  2234. ##-----------------------------------------------------
  2235. #
  2236. # Install solaris package
  2237. #
  2238. #------------------------------------------------------
  2239. #
  2240. install_solaris_package {
  2241.   builder = make_InstallSolarisPackage
  2242.   context = package,generic_container
  2243.   inherits = install_native_package
  2244.  
  2245.   package_file {
  2246.     type = pathname
  2247.   }
  2248.   administration_file {
  2249.     type = pathname
  2250.   }
  2251.   spool_directory {
  2252.     type = pathname
  2253.   }
  2254.   client_root_path {
  2255.     type = pathname
  2256.   }
  2257.   use_root_path {
  2258.     type = boolean
  2259.     default =n
  2260.   }
  2261.   interactive {
  2262.     type = boolean
  2263.     default =n
  2264.   }
  2265.   response_file {
  2266.     type = pathname
  2267.   }
  2268.   remove_absolutely {
  2269.     type = boolean
  2270.     default =n
  2271.   }
  2272.  
  2273.   report_output_to_server {
  2274.     type = boolean
  2275.     default =n
  2276.   }
  2277.  
  2278.   fs_file {
  2279.     type = pathname
  2280.   }
  2281.   package_instance {
  2282.     type = object
  2283.     object_builder = make_PackageInstance
  2284.   }
  2285. }
  2286.  
  2287. #
  2288. package_instance {
  2289.   name {
  2290.     type = string
  2291.     mandatory = y
  2292.   }
  2293.   description {
  2294.     type = string
  2295.   }
  2296.   platform {
  2297.     type = string
  2298.   }
  2299.   version {
  2300.     type = string
  2301.   }
  2302.   revision {
  2303.     type = string
  2304.   }
  2305. }
  2306.  
  2307. ##-----------------------------------------------------
  2308. #
  2309. # Install solaris patch
  2310. #
  2311. #------------------------------------------------------
  2312. #
  2313. install_solaris_patch {
  2314.   builder = make_InstallSolarisPatch
  2315.   context = package,generic_container
  2316.   inherits = install_native_package
  2317.  
  2318.   install_unconditionally {
  2319.     type = boolean
  2320.     default = n
  2321.   }
  2322.   client_root_path {
  2323.     type = pathname
  2324.   }
  2325.   backout_directory {
  2326.     type = pathname
  2327.   }
  2328.   service {
  2329.     type = string
  2330.   }
  2331.   patch_id {
  2332.     type = string
  2333.     mandatory = y
  2334.   }
  2335.   net_install_image {
  2336.     type = pathname
  2337.   }
  2338.   force {
  2339.     type = boolean
  2340.     default = n
  2341.   }
  2342.  
  2343.   report_output_to_server {
  2344.     type = boolean
  2345.     default = n
  2346.   }
  2347.  
  2348. }
  2349.  
  2350.  
  2351. ##-----------------------------------------------------
  2352. #
  2353. # Install MSI product/patch
  2354. #
  2355. #------------------------------------------------------
  2356.  
  2357. #
  2358. install_msi_product {
  2359.   builder = make_InstallMSIProduct
  2360.   context = package,generic_container
  2361.   inherits = install_native_package
  2362.  
  2363.   package_file {
  2364.     type = string
  2365.     mandatory = y
  2366.   }
  2367.   destination_folder {
  2368.     type = pathname
  2369.   }
  2370.   reinstall_mode {
  2371.     type = multi_choice
  2372.     choice = file_missing:2,file_older_version:4,file_equal_version:8,file_exact:16,file_verify:32,file_replace:64,user_data:128,machine_data:256,shortcut:512,package:1024
  2373.     default = 904
  2374.   }
  2375.   log_mode {
  2376.     type = multi_choice
  2377.     choice = disabled:1,fatal_exit:2,error:4,warning:8,user:16,info:32,resolve_source:64,out_of_disk_space:128,action_start:256,action_data:512,common_data:1024,property_dump:2048,verbose:4096
  2378.     default = 6
  2379.   }
  2380.   log_path {
  2381.     type = pathname
  2382.   }
  2383.   report_log {
  2384.     type = boolean
  2385.     default = n
  2386.   }
  2387.   ui_level {
  2388.     type = single_choice
  2389.     choice = full:0,reduced:1,basic:2,default:3,none:4,end_dialog:5,progress_only:6
  2390.     default = 4
  2391.   }
  2392.   properties {
  2393.     type = string
  2394.   }
  2395.   product_code {
  2396.     type = string
  2397.   }
  2398.   product_name {
  2399.     type = string
  2400.   }
  2401.   product_version {
  2402.     type = string
  2403.   }
  2404.   feature {
  2405.     type = object
  2406.     object_builder = make_MSIFeature
  2407.   }
  2408.   all_users {
  2409.     type = boolean
  2410.     default = y
  2411.   }
  2412. }
  2413. #
  2414. install_msi_patch {
  2415.   builder = make_InstallMSIPatch
  2416.   context = package,generic_container
  2417.   inherits = install_native_package
  2418.  
  2419.   package_file {
  2420.     type = string
  2421.     mandatory = y
  2422.   }
  2423.   reinstall_mode {
  2424.     type = multi_choice
  2425.     choice = file_missing:2,file_older_version:4,file_equal_version:8,file_exact:16,file_verify:32,file_replace:64,user_data:128,machine_data:256,shortcut:512
  2426.     default = 904
  2427.   }
  2428.   log_mode {
  2429.     type = multi_choice
  2430.     choice = disabled:1,fatal_exit:2,error:4,warning:8,user:16,info:32,resolve_source:64,out_of_disk_space:128,action_start:256,action_data:512,common_data:1024,property_dump:2048,verbose:4096
  2431.     default = 6
  2432.   }
  2433.   log_path {
  2434.     type = pathname
  2435.   }
  2436.   report_log {
  2437.     type = boolean
  2438.     default = n
  2439.   }
  2440.   ui_level {
  2441.     type = single_choice
  2442.     choice = full:0,reduced:1,basic:2,default:3,none:4,end_dialog:5,progress_only:6
  2443.     default = 4
  2444.   }
  2445.   properties {
  2446.     type = string
  2447.   }
  2448. }
  2449.  
  2450. #
  2451. feature {
  2452.   name {
  2453.     type = string
  2454.     mandatory = y
  2455.   }
  2456.   action {
  2457.     type = single_choice
  2458.     choice = default_action:0,install_local:1,install_when_required:2,install_when_source:3,remove:4
  2459.     mandatory = y
  2460.   }
  2461.   title {
  2462.     type = string
  2463.   }
  2464.   parent {
  2465.     type = string
  2466.   }
  2467.  
  2468. }
  2469.  
  2470. ##-----------------------------------------------------
  2471. #
  2472. # Install rpm package
  2473. #
  2474. #------------------------------------------------------
  2475. #
  2476. install_rpm_package {
  2477.     builder = make_InstallRpmPackage
  2478.     context = package,generic_container
  2479. #     inherits = install_native_package
  2480.      inherits = cm_command
  2481.  
  2482.     package_file {
  2483.       type = pathname
  2484.     }
  2485.  
  2486.     rpm_options {
  2487.       type = string
  2488.     }
  2489.     rpm_install_type {
  2490.       type = string
  2491.     }
  2492.      rpm_install_options {
  2493.       type = string
  2494.     }
  2495.     rpm_install_force {
  2496.       type = boolean
  2497.     }
  2498.     rpm_install_nodeps {
  2499.       type = boolean
  2500.     }
  2501.     rpm_verify_options {
  2502.       type = string
  2503.     }
  2504.     rpm_remove_options {
  2505.       type = string
  2506.     }
  2507.     rpm_remove_nodeps {
  2508.       type = boolean
  2509.     }
  2510.  
  2511.     rpm_report_log {
  2512.         type = boolean
  2513.         default =n
  2514.     }
  2515.  
  2516.     rpm_file  {
  2517.       type = object
  2518.        object_builder = make_RpmFile
  2519.     }
  2520.  
  2521. }
  2522. #
  2523. rpm_file {
  2524. #    builder = make_RpmFile
  2525.     context = package,generic_container
  2526.     inherits = install_native_package
  2527.     rpm_package_name {
  2528.       type = string
  2529.     }
  2530.     rpm_package_file {
  2531.       type = string
  2532.     }
  2533.  
  2534. }
  2535.  
  2536. ##-----------------------------------------------------
  2537. #
  2538. # Install HP package
  2539. #
  2540. #------------------------------------------------------
  2541. #
  2542. install_hp_package {
  2543.   builder = make_InstallHPPackage
  2544.   context = package,generic_container
  2545.   inherits = install_native_package
  2546.  
  2547.   package_file {
  2548.     type = string
  2549.   }
  2550.   log_mode {
  2551.     type = single_choice
  2552.     choice = none:1,low:2,medium:4,high:8,very_high:16
  2553.     default = 1
  2554.   }
  2555.   log_path {
  2556.     type = pathname
  2557.   }
  2558.   report_log {
  2559.     type = boolean
  2560.     default = n
  2561.   }
  2562.   gui_interaction {
  2563.     type = boolean
  2564.     default = n
  2565.   }
  2566.   gui_options {
  2567.     type = string
  2568.     default = "bg=black, fg=green, name=ITCM4.2.1"
  2569.   }
  2570.   response_files_catalog {
  2571.     type = pathname
  2572.   }
  2573.   input_session_file {
  2574.     type = pathname
  2575.   }
  2576.   output_session_file {
  2577.     type = pathname
  2578.   }
  2579.   options {
  2580.     type = string
  2581.   }
  2582.   options_file {
  2583.     type = pathname
  2584.   }
  2585.   is_patch {
  2586.     type = boolean
  2587.     default = n
  2588.   }
  2589.   software_file {
  2590.     type = pathname
  2591.   }
  2592.   software_selection {
  2593.     type = object
  2594.     object_builder = make_SoftwareSelection
  2595.   }
  2596. }
  2597.  
  2598. #
  2599. software_selection {
  2600.   name {
  2601.     type = string
  2602.     mandatory = y
  2603.   }
  2604.   revision {
  2605.     type = string
  2606.   }
  2607.   description {
  2608.     type = string
  2609.   }
  2610. }
  2611.  
  2612. ##-----------------------------------------------------
  2613. #
  2614. # Check Disk Space
  2615. #
  2616. #------------------------------------------------------
  2617.  
  2618. #
  2619. check_disk_space {
  2620.   builder = make_CmCheckDiskSpace
  2621.   context = package,generic_container
  2622.   inherits = cm_command
  2623.  
  2624.   volume {
  2625.     type = string
  2626.   }
  2627. }
  2628.  
  2629.  
  2630. ##-----------------------------------------------------
  2631. #
  2632. # Device Actions
  2633. #
  2634. #------------------------------------------------------
  2635.  
  2636. device_objects {
  2637.   builder = make_CmAddDeviceObjectsContainer
  2638.   context = package,generic_container
  2639.   inherits = cm_command
  2640.  
  2641.   name {
  2642.     type = string
  2643.   }
  2644.   version {
  2645.     type = string
  2646.   }
  2647.   device_type {
  2648.     type = string
  2649.   }
  2650.   version_check {
  2651.     type = boolean
  2652.     default = y
  2653.   }
  2654.   stop_on_failure {
  2655.     type = boolean
  2656.     default = y
  2657.   }
  2658. }
  2659.  
  2660. add_device_directory {
  2661.   builder = make_CmAddDeviceFSObjectsContainer
  2662.   context = device_objects,add_device_directory
  2663.   inherits = add_directory
  2664.  
  2665.   name {
  2666.     type = string
  2667.   }
  2668.   location {
  2669.     type = pathname
  2670.   }
  2671.   destination {
  2672.     type = pathname
  2673.   }
  2674.   descend_dirs {
  2675.     type = boolean
  2676.     default = n
  2677.   }
  2678. }
  2679.  
  2680. add_device_file {
  2681.   builder = make_CmAddDeviceFile
  2682.   context = device_objects,add_device_directory
  2683.   inherits = add_file
  2684.  
  2685.   name {
  2686.     type = string
  2687.   }
  2688.   destination {
  2689.     type = pathname
  2690.   }
  2691.   need_space {
  2692.     type = string
  2693.     default = 0
  2694.   }
  2695. }
  2696.  
  2697.  
  2698. device_execute_palm_program {
  2699.   builder = make_CmDeviceExecutePalmProgram
  2700.   context = device_objects
  2701.   inherits = add_device_file
  2702.  
  2703.   type {
  2704.     type = single_choice
  2705.     choice = Application:1,Database:2
  2706.     default = 1
  2707.   }
  2708.   launch_code {
  2709.     type = numeric
  2710.     default = 0
  2711.   }
  2712.  
  2713. }
  2714.  
  2715.  
  2716.  
  2717. device_execute_program {
  2718.   builder = make_CmDeviceExecuteProgram
  2719.   context = device_objects
  2720.   inherits = cm_command
  2721.  
  2722.   path {
  2723.     type = pathname
  2724.   }
  2725.   arguments {
  2726.     type = string
  2727.   }
  2728.   need_space {
  2729.     type = string
  2730.     default = 0
  2731.   }
  2732.  
  2733. }
  2734.  
  2735. device_configuration_settings {
  2736.   builder = make_CmDeviceConfigurationSettings
  2737.   context = device_objects
  2738.   inherits = cm_composite_command
  2739. }
  2740.  
  2741. device_item {
  2742.   builder = make_CmDeviceItem
  2743.   context = device_configuration_settings
  2744.   inherits = cm_command
  2745.  
  2746.   key {
  2747.     type = string
  2748.   }
  2749.   value {
  2750.     type = string
  2751.   }
  2752. }
  2753.  
  2754. device_action {
  2755.   builder = make_CmDeviceAction
  2756.   context = package,generic_container
  2757.   inherits = cm_command
  2758.  
  2759.   device_type {
  2760.     type = single_choice
  2761.  
  2762.     #
  2763.     # The available choices MUST be sequential numbers (1,2,3,4.....)
  2764.     # instead of 2-powers like all the other single_choice values defined into
  2765.     # this rules.spr file.
  2766.     # This because the allowed device types could be more than 32
  2767.     # (there are just 32 possible values using the 2-powers
  2768.     #
  2769.     choice = Nokia9500:1,Nokia9300:2
  2770.     mandatory = y
  2771.     default = 1
  2772.   }
  2773.   action_type {
  2774.     type = single_choice
  2775.     choice = application_distribution:1,base_configuration:2,device_configuration:3,device_provisioning:4,notification:8
  2776.     mandatory = y
  2777.     default = 1
  2778.   }
  2779.   action_parameter {
  2780.     type = object
  2781.     object_builder = make_DeviceActionParameter
  2782.   }
  2783. }
  2784.  
  2785. action_parameter {
  2786.   key {
  2787.     type = single_choice
  2788.     choice = SourceFilePath:1,SendNotification:2
  2789.     mandatory = y
  2790.     default = 1
  2791.   }
  2792.   value {
  2793.     type = string
  2794.     mandatory = y
  2795.   }
  2796. }
  2797.  
  2798.