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.
- checksums.yaml +4 -4
- data/README.md +5 -5
- data/doc/README.gen +1 -1
- data/doc/todo/numbered_todo_entries_for_the_RBT_project.md +2 -14
- data/lib/rbt/actions/individual_actions/cookbooks/sanitize_cookbook/sanitize_cookbook.rb +6 -5
- data/lib/rbt/actions/individual_actions/create_app_dir_skeleton/create_app_dir_skeleton.rb +1 -1
- data/lib/rbt/actions/individual_actions/installer/aggregate.rb +0 -111
- data/lib/rbt/actions/individual_actions/software_manager/actions.rb +61 -0
- data/lib/rbt/actions/individual_actions/software_manager/extract_related_code.rb +26 -9
- data/lib/rbt/actions/individual_actions/software_manager/logic_related_code.rb +59 -77
- data/lib/rbt/actions/individual_actions/software_manager/menu.rb +92 -94
- data/lib/rbt/actions/individual_actions/software_manager/misc.rb +1427 -1644
- data/lib/rbt/actions/individual_actions/software_manager/query_related_methods.rb +158 -22
- data/lib/rbt/actions/individual_actions/software_manager/reset.rb +7 -7
- data/lib/rbt/actions/individual_actions/software_manager/setters.rb +278 -163
- data/lib/rbt/version/version.rb +1 -1
- data/lib/rbt/yaml/cookbooks/exiv2.yml +1 -0
- data/lib/rbt/yaml/cookbooks/glibnetworking.yml +1 -0
- data/lib/rbt/yaml/cookbooks/kitinerary.yml +5 -0
- data/lib/rbt/yaml/cookbooks/ncurses.yml +1 -2
- data/lib/rbt/yaml/cookbooks/wordpress.yml +4 -2
- data/lib/rbt/yaml/expanded_cookbooks/cbindgen.yml +16 -13
- data/lib/rbt/yaml/expanded_cookbooks/erlang.yml +1 -1
- data/lib/rbt/yaml/expanded_cookbooks/exiv2.yml +1 -1
- data/lib/rbt/yaml/expanded_cookbooks/gdkpixbuf.yml +2 -2
- data/lib/rbt/yaml/expanded_cookbooks/kitinerary.yml +3 -3
- data/lib/rbt/yaml/expanded_cookbooks/libmpeg3.yml +2 -1
- data/lib/rbt/yaml/expanded_cookbooks/nuvie.yml +1 -1
- data/lib/rbt/yaml/expanded_cookbooks/qt.yml +5 -5
- data/lib/rbt/yaml/expanded_cookbooks/sendmail.yml +14 -7
- data/lib/rbt/yaml/expanded_cookbooks/sharutils.yml +1 -1
- data/lib/rbt/yaml/expanded_cookbooks/squashfstools.yml +3 -3
- data/lib/rbt/yaml/expanded_cookbooks/wordpress.yml +10 -10
- data/lib/rbt/yaml/programs_version/available_programs_versions.md +3 -3
- 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
|