rbt 0.16.13 → 0.16.15

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of rbt might be problematic. Click here for more details.

Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -5
  3. data/doc/README.gen +1 -1
  4. data/doc/todo/numbered_todo_entries_for_the_RBT_project.md +2 -14
  5. data/lib/rbt/actions/individual_actions/cookbooks/sanitize_cookbook/sanitize_cookbook.rb +6 -5
  6. data/lib/rbt/actions/individual_actions/create_app_dir_skeleton/create_app_dir_skeleton.rb +1 -1
  7. data/lib/rbt/actions/individual_actions/installer/aggregate.rb +0 -111
  8. data/lib/rbt/actions/individual_actions/software_manager/actions.rb +61 -0
  9. data/lib/rbt/actions/individual_actions/software_manager/extract_related_code.rb +26 -9
  10. data/lib/rbt/actions/individual_actions/software_manager/logic_related_code.rb +59 -77
  11. data/lib/rbt/actions/individual_actions/software_manager/menu.rb +92 -94
  12. data/lib/rbt/actions/individual_actions/software_manager/misc.rb +1427 -1644
  13. data/lib/rbt/actions/individual_actions/software_manager/query_related_methods.rb +158 -22
  14. data/lib/rbt/actions/individual_actions/software_manager/reset.rb +7 -7
  15. data/lib/rbt/actions/individual_actions/software_manager/setters.rb +278 -163
  16. data/lib/rbt/version/version.rb +1 -1
  17. data/lib/rbt/yaml/cookbooks/exiv2.yml +1 -0
  18. data/lib/rbt/yaml/cookbooks/glibnetworking.yml +1 -0
  19. data/lib/rbt/yaml/cookbooks/kitinerary.yml +5 -0
  20. data/lib/rbt/yaml/cookbooks/ncurses.yml +1 -2
  21. data/lib/rbt/yaml/cookbooks/wordpress.yml +4 -2
  22. data/lib/rbt/yaml/expanded_cookbooks/cbindgen.yml +16 -13
  23. data/lib/rbt/yaml/expanded_cookbooks/erlang.yml +1 -1
  24. data/lib/rbt/yaml/expanded_cookbooks/exiv2.yml +1 -1
  25. data/lib/rbt/yaml/expanded_cookbooks/gdkpixbuf.yml +2 -2
  26. data/lib/rbt/yaml/expanded_cookbooks/kitinerary.yml +3 -3
  27. data/lib/rbt/yaml/expanded_cookbooks/libmpeg3.yml +2 -1
  28. data/lib/rbt/yaml/expanded_cookbooks/nuvie.yml +1 -1
  29. data/lib/rbt/yaml/expanded_cookbooks/qt.yml +5 -5
  30. data/lib/rbt/yaml/expanded_cookbooks/sendmail.yml +14 -7
  31. data/lib/rbt/yaml/expanded_cookbooks/sharutils.yml +1 -1
  32. data/lib/rbt/yaml/expanded_cookbooks/squashfstools.yml +3 -3
  33. data/lib/rbt/yaml/expanded_cookbooks/wordpress.yml +10 -10
  34. data/lib/rbt/yaml/programs_version/available_programs_versions.md +3 -3
  35. metadata +2 -2
@@ -12,6 +12,156 @@ class Action
12
12
 
13
13
  class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
14
14
 
15
+ # ========================================================================== #
16
+ # === cookbook_dataset_manual_steps?
17
+ # ========================================================================== #
18
+ def cookbook_dataset_manual_steps?
19
+ cookbook_dataset?.manual_steps?
20
+ end
21
+
22
+ # ========================================================================== #
23
+ # === extract_to_this_directory?
24
+ #
25
+ # This query-method tells us where we will extract (our archive) to.
26
+ #
27
+ # The temp-directory is initially the same as RBT.rbt_log_directory?.
28
+ # ========================================================================== #
29
+ def extract_to_this_directory?
30
+ _ = @internal_hash[:extract_to_this_directory]
31
+ # ======================================================================== #
32
+ # Allow the user to overrule this value.
33
+ # ======================================================================== #
34
+ if extract_to_this_directory_as_specified_by_the_user?
35
+ _ = extract_to_this_directory_as_specified_by_the_user?
36
+ end
37
+ return _
38
+ end; alias extract_to_which_directory? extract_to_this_directory? # === extract_to_which_directory?
39
+ alias extract_to? extract_to_this_directory? # === extract_to?
40
+ alias extract_where_to? extract_to_this_directory? # === extract_where_to?
41
+ alias extracted_directory? extract_to_this_directory? # === extracted_directory?
42
+ alias extracted_dir? extract_to_this_directory? # === extracted_dir?
43
+ alias dir? extract_to_this_directory? # === dir?
44
+ alias extract_to_this_dir? extract_to_this_directory? # === extract_to_this_dir?
45
+ alias extracted_path? extract_to_this_directory? # === extracted_path?
46
+ alias extracted_towards? extract_to_this_directory? # === extracted_towards?
47
+
48
+ # ========================================================================== #
49
+ # === extract_to_this_directory_as_specified_by_the_user?
50
+ # ========================================================================== #
51
+ def extract_to_this_directory_as_specified_by_the_user?
52
+ @internal_hash[:extract_to_this_directory_as_specified_by_the_user]
53
+ end
54
+
55
+ # ========================================================================== #
56
+ # === show_flexbox?
57
+ # ========================================================================== #
58
+ def show_flexbox?
59
+ @internal_hash[:show_the_flexbox]
60
+ end; alias show_the_flexbox? show_flexbox? # === show_the_flexbox?
61
+ alias show_the_infobox? show_flexbox? # === show_the_infobox?
62
+ alias show_infobox? show_flexbox? # === show_infobox?
63
+
64
+ # ========================================================================== #
65
+ # === will_the_extracted_source_archive_be_removed?
66
+ #
67
+ # A boolean value will be returned by this method. This boolean value
68
+ # determines whether the archive will be kept after it was extracted,
69
+ # or whether it will be removed again after it was extracted.
70
+ # ========================================================================== #
71
+ def will_the_extracted_source_archive_be_removed?
72
+ result = !cookbook_dataset_keep_extracted? # ← The default.
73
+ # ======================================================================== #
74
+ # Next check whether the user overrided this behaviour or not, via
75
+ # the appropriate commandline-flag:
76
+ # ======================================================================== #
77
+ user_variable = retain_the_extracted_source_archive?
78
+ if user_variable.nil? # Do nothing in this case.
79
+ else
80
+ result = !user_variable
81
+ end
82
+ return result
83
+ end
84
+
85
+ # ========================================================================== #
86
+ # === keep_the_extracted_archive?
87
+ # ========================================================================== #
88
+ def keep_the_extracted_archive?
89
+ !will_the_extracted_source_archive_be_removed?
90
+ end; alias keep_extracted_archive? keep_the_extracted_archive? # === keep_extracted_archive?
91
+
92
+ # ========================================================================== #
93
+ # === retain_the_extracted_source_archive?
94
+ #
95
+ # This is a query method towards the variable kept in the
96
+ # @instance_hash variable.
97
+ #
98
+ # It may only query, and never modify anything.
99
+ # ========================================================================== #
100
+ def retain_the_extracted_source_archive?
101
+ @internal_hash[:retain_the_extracted_source_archive]
102
+ end; alias keep_extracted? retain_the_extracted_source_archive? # === keep_extracted?
103
+
104
+ # ========================================================================== #
105
+ # === cookbook_dataset_keep_extracted?
106
+ #
107
+ # This method simply wraps over the cookbook_dataset keep_extracted value.
108
+ # ========================================================================== #
109
+ def cookbook_dataset_keep_extracted?
110
+ cookbook_dataset?.keep_extracted?
111
+ end; alias dataset_keep_extracted? cookbook_dataset_keep_extracted? # === dataset_keep_extracted?
112
+
113
+ # ========================================================================== #
114
+ # === will_be_extracted_towards?
115
+ #
116
+ # This method will tell us the full path of the extracted directory for
117
+ # the program at hand.
118
+ #
119
+ # A trailing '/' is required for the result of this method.
120
+ #
121
+ # Returns: a String.
122
+ # ========================================================================== #
123
+ def will_be_extracted_towards?
124
+ "#{rbt_log_directory?}#{program_name_and_program_version?}/"
125
+ end; alias extracted_source_archive_directory? will_be_extracted_towards? # === extracted_source_archive_directory?
126
+
127
+ # ========================================================================== #
128
+ # === cookbook_dataset_use_this_build_system?
129
+ #
130
+ # Query which build-system is to be used. This will determine how we
131
+ # will install a given program at hand.
132
+ # ========================================================================== #
133
+ def cookbook_dataset_use_this_build_system?
134
+ cookbook_dataset?.use_which_build_system?
135
+ end; alias use_this_build_system? cookbook_dataset_use_this_build_system? # === use_this_build_system?
136
+ alias build_system_in_use? cookbook_dataset_use_this_build_system? # === build_system_in_use?
137
+ alias cookbookset_dataset_use_which_build_system? cookbook_dataset_use_this_build_system? # === cookbookset_dataset_use_which_build_system?
138
+ alias cookbook_build_system? cookbook_dataset_use_this_build_system? # === cookbook_build_system?
139
+
140
+ # ========================================================================== #
141
+ # === can_be_compiled_statically?
142
+ # ========================================================================== #
143
+ def can_be_compiled_statically?
144
+ cookbooks_dataset?.send(__method__)
145
+ end
146
+
147
+ # ========================================================================== #
148
+ # === use_autoconf?
149
+ #
150
+ # This method determines as to whether we will use autoconf or whether
151
+ # we will not. By default the value of @internal_hash[:use_autoconf]
152
+ # is nil. If a user modifies this value from the commandline, to
153
+ # either true or false, then we will use that value; otherwise we
154
+ # will use the value defined in the cookbook-dataset for this
155
+ # particular program at hand.
156
+ # ========================================================================== #
157
+ def use_autoconf?
158
+ _ = cookbook_use_autoconf? # ← This is the default.
159
+ unless @internal_hash[:use_autoconf].nil?
160
+ _ = @internal_hash[:use_autoconf]
161
+ end
162
+ return _
163
+ end
164
+
15
165
  # ========================================================================= #
16
166
  # === is_this_a_registered_binary?
17
167
  # ========================================================================= #
@@ -201,9 +351,9 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
201
351
  # ========================================================================== #
202
352
  def program_version?
203
353
  _ = cookbook_dataset_program_version? # ← Default value.
204
- # ======================================================================= #
354
+ # ======================================================================== #
205
355
  # The user can override it.
206
- # ======================================================================= #
356
+ # ======================================================================== #
207
357
  if @internal_hash[:use_this_specific_program_version]
208
358
  _ = @internal_hash[:use_this_specific_program_version]
209
359
  end
@@ -900,20 +1050,6 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
900
1050
  action(:chained_programs) # Load the chained actions, then return it.
901
1051
  end
902
1052
 
903
- # ========================================================================== #
904
- # === will_be_extracted_towards?
905
- #
906
- # This method will tell us the full path of the extracted directory for
907
- # the program at hand.
908
- #
909
- # A trailing '/' is required for the result of this method.
910
- #
911
- # Returns: a String.
912
- # ========================================================================== #
913
- def will_be_extracted_towards?
914
- "#{log_directory?}#{program_name_and_program_version?}/"
915
- end
916
-
917
1053
  # ========================================================================== #
918
1054
  # === cookbook_aliases?
919
1055
  # ========================================================================== #
@@ -1018,9 +1154,9 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
1018
1154
  result = @internal_hash[:an_error_has_occurred]
1019
1155
  ignore_errors = ignore_errors?
1020
1156
  case ignore_errors
1021
- # ======================================================================= #
1157
+ # ======================================================================== #
1022
1158
  # === :infer
1023
- # ======================================================================= #
1159
+ # ======================================================================== #
1024
1160
  when :infer
1025
1161
  ignore_errors = cookbook_dataset_ignore_errors?
1026
1162
  end
@@ -1190,9 +1326,9 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
1190
1326
  i = compile_which_program?
1191
1327
  )
1192
1328
  dependencies = required_dependencies_on?
1193
- # ======================================================================= #
1329
+ # ======================================================================== #
1194
1330
  # Simplify the dependencies next.
1195
- # ======================================================================= #
1331
+ # ======================================================================== #
1196
1332
  dependencies.map! {|entry|
1197
1333
  if entry.include?(' >') or entry.include?(' <')
1198
1334
  entry = entry.split(' ').first.strip
@@ -1331,10 +1467,10 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
1331
1467
  # === use_which_build_system?
1332
1468
  # ========================================================================== #
1333
1469
  def use_which_build_system?
1334
- # ======================================================================= #
1470
+ # ======================================================================== #
1335
1471
  # We default to the cookbook dataset when it comes to a specific
1336
1472
  # build system.
1337
- # ======================================================================= #
1473
+ # ======================================================================== #
1338
1474
  _ = cookbookset_dataset_use_which_build_system?
1339
1475
  unless @internal_hash[:use_this_build_system].nil?
1340
1476
  _ = @internal_hash[:use_this_build_system]
@@ -280,6 +280,13 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
280
280
  # ======================================================================= #
281
281
  @internal_hash[:cookbook_dataset] = nil
282
282
  # ======================================================================= #
283
+ # === :retain_the_extracted_source_archive
284
+ #
285
+ # This variable will retain the extracted source archive, aka
286
+ # "keep the extracted archive", rather than to remove it.
287
+ # ======================================================================= #
288
+ @internal_hash[:retain_the_extracted_source_archive] = nil
289
+ # ======================================================================= #
283
290
  # === :user_prefix
284
291
  #
285
292
  # This prefix can be determined by the user.
@@ -565,13 +572,6 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
565
572
  # ======================================================================= #
566
573
  @internal_hash[:keep_la_files] = nil
567
574
  # ======================================================================= #
568
- # === :keep_the_archive_extracted
569
- #
570
- # The keep-extracted setting will lateron be sanitized. The default
571
- # value will be nil.
572
- # ======================================================================= #
573
- @internal_hash[:keep_the_archive_extracted] = nil
574
- # ======================================================================= #
575
575
  # === :may_we_download
576
576
  # ======================================================================= #
577
577
  @internal_hash[:may_we_download] = RBT::TRY_TO_DOWNLOAD_IF_NOT_FOUND