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,7 +12,152 @@ class Action
|
|
12
12
|
|
13
13
|
class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
|
14
14
|
|
15
|
-
#
|
15
|
+
# ========================================================================== #
|
16
|
+
# === set_extract_to_this_directory_as_specified_by_the_user
|
17
|
+
#
|
18
|
+
# This method can be used by the user to specify a certain directory.
|
19
|
+
# ========================================================================== #
|
20
|
+
def set_extract_to_this_directory_as_specified_by_the_user(
|
21
|
+
i = :random
|
22
|
+
)
|
23
|
+
case i
|
24
|
+
# ======================================================================== #
|
25
|
+
# === :random
|
26
|
+
# ======================================================================== #
|
27
|
+
when :random
|
28
|
+
# ====================================================================== #
|
29
|
+
# In this case we will use a random subdirectory, but within the
|
30
|
+
# temp directory still.
|
31
|
+
# ====================================================================== #
|
32
|
+
i = rbt_temp_dir?+return_n_random_characters(10)
|
33
|
+
end
|
34
|
+
unless i.end_with? '/'
|
35
|
+
i = i.dup if i.frozen?
|
36
|
+
i << '/'
|
37
|
+
end
|
38
|
+
@internal_hash[:extract_to_this_directory_as_specified_by_the_user] = i
|
39
|
+
end
|
40
|
+
|
41
|
+
# ========================================================================== #
|
42
|
+
# === set_retain_the_extracted_source_archive
|
43
|
+
# ========================================================================== #
|
44
|
+
def set_retain_the_extracted_source_archive(
|
45
|
+
i = true
|
46
|
+
)
|
47
|
+
@internal_hash[:retain_the_extracted_source_archive] = true
|
48
|
+
end; alias set_keep_the_extracted_archive set_retain_the_extracted_source_archive # === set_keep_the_extracted_archive
|
49
|
+
|
50
|
+
# ========================================================================== #
|
51
|
+
# === do_retain_the_extracted_source_archive
|
52
|
+
#
|
53
|
+
# This delegates towards the method called
|
54
|
+
# .set_retain_the_extracted_source_archive().
|
55
|
+
#
|
56
|
+
# It may also optionally report to the user as to what is being done.
|
57
|
+
# ========================================================================== #
|
58
|
+
def do_retain_the_extracted_source_archive(
|
59
|
+
be_verbose = be_verbose?
|
60
|
+
)
|
61
|
+
case be_verbose
|
62
|
+
# ======================================================================= #
|
63
|
+
# === :be_silent
|
64
|
+
# ======================================================================= #
|
65
|
+
when :be_silent,
|
66
|
+
:be_quiet
|
67
|
+
be_verbose = false
|
68
|
+
end
|
69
|
+
if be_verbose
|
70
|
+
orev 'The extracted directory will not be removed after'
|
71
|
+
orev 'compilation / installation has finished.'
|
72
|
+
end
|
73
|
+
set_retain_the_extracted_source_archive(true)
|
74
|
+
end; alias do_set_keep_extracted do_retain_the_extracted_source_archive # === do_set_keep_extracted
|
75
|
+
alias do_set_keep_extracted_archive do_retain_the_extracted_source_archive # === do_set_keep_extracted_archive
|
76
|
+
|
77
|
+
# ========================================================================== #
|
78
|
+
# === set_dont_keep_archive
|
79
|
+
#
|
80
|
+
# Use this method when you don't want to keep the extracted archive.
|
81
|
+
# ========================================================================== #
|
82
|
+
def set_dont_keep_archive(
|
83
|
+
be_verbose = true
|
84
|
+
)
|
85
|
+
if be_verbose
|
86
|
+
orev 'We will not keep our extracted archive.'
|
87
|
+
end
|
88
|
+
@internal_hash[:keep_the_extracted_archive] = false
|
89
|
+
end
|
90
|
+
|
91
|
+
# ========================================================================== #
|
92
|
+
# === set_keep_the_extracted_archive
|
93
|
+
#
|
94
|
+
# This method will keep the source-archive extracted. Note that this
|
95
|
+
# is not the default - by default we will remove the extracted
|
96
|
+
# archive.
|
97
|
+
# ========================================================================== #
|
98
|
+
def set_keep_the_extracted_archive(
|
99
|
+
i = true
|
100
|
+
)
|
101
|
+
@internal_hash[:keep_the_extracted_archive] = i
|
102
|
+
end; alias set_keep_extracted_archive set_keep_the_extracted_archive # === set_keep_extracted_archive
|
103
|
+
alias set_keep_extracted set_keep_the_extracted_archive # === set_keep_extracted
|
104
|
+
alias do_not_remove_the_extracted_archive set_keep_the_extracted_archive # === do_not_remove_the_extracted_archive
|
105
|
+
alias do_not_remove_extracted_archive set_keep_the_extracted_archive # === do_not_remove_extracted_archive
|
106
|
+
|
107
|
+
# ========================================================================== #
|
108
|
+
# === set_short_name
|
109
|
+
# ========================================================================== #
|
110
|
+
def set_short_name(i)
|
111
|
+
cookbook_dataset?.set_short_name(i)
|
112
|
+
end; alias set_real_short_name set_short_name # === set_real_short_name
|
113
|
+
|
114
|
+
# ========================================================================== #
|
115
|
+
# === set_permanently_extract_to
|
116
|
+
#
|
117
|
+
# This method will permanently set a new directory to which we
|
118
|
+
# will extract to.
|
119
|
+
#
|
120
|
+
# To invoke this method, do something such as:
|
121
|
+
#
|
122
|
+
# ry --permanently_extract_to=/Depot
|
123
|
+
# ry --permanently_extract_to=/opt
|
124
|
+
# ry --permanently_extract_to=$TEMP_DIR
|
125
|
+
#
|
126
|
+
# ========================================================================== #
|
127
|
+
def set_permanently_extract_to(
|
128
|
+
i = nil
|
129
|
+
)
|
130
|
+
if i
|
131
|
+
target = RBT.permanently_set_temp_directory(i)
|
132
|
+
orev "The RBT scripts will henceforthwith be extracted "\
|
133
|
+
"towards `#{sdir(target)}#{rev}`."
|
134
|
+
else
|
135
|
+
orev 'Please provide an argument.'
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
139
|
+
# ========================================================================== #
|
140
|
+
# === set_user_prefix_to_nil
|
141
|
+
# ========================================================================== #
|
142
|
+
def set_user_prefix_to_nil
|
143
|
+
set_user_prefix(nil)
|
144
|
+
end
|
145
|
+
|
146
|
+
# ========================================================================== #
|
147
|
+
# === set_archive_type
|
148
|
+
# ========================================================================== #
|
149
|
+
def set_archive_type(i)
|
150
|
+
cookbook_dataset?.set_archive_type(i)
|
151
|
+
end
|
152
|
+
|
153
|
+
# =========================================================================== #
|
154
|
+
# === set_internal_pid
|
155
|
+
# =========================================================================== #
|
156
|
+
def set_internal_pid(i = nil)
|
157
|
+
@internal_hash[:pid] = i
|
158
|
+
end; alias set_pid set_internal_pid # === set_pid
|
159
|
+
|
160
|
+
# ========================================================================== #
|
16
161
|
# === set_these_env_variables
|
17
162
|
#
|
18
163
|
# This method can be used to modify ENV variables.
|
@@ -32,7 +177,7 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
|
|
32
177
|
# set_this_env_variable 'CFLAGS = -gcc'
|
33
178
|
# set_this_env_variable 'LIBS: -lpthread'
|
34
179
|
#
|
35
|
-
#
|
180
|
+
# ========================================================================== #
|
36
181
|
def set_these_env_variables(
|
37
182
|
hash_or_string, # We allow Hash and String as input. But String must be in a special format.
|
38
183
|
do_which_action = :report_only,
|
@@ -47,9 +192,9 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
|
|
47
192
|
end
|
48
193
|
unless @internal_hash[:do_not_use_special_flags]
|
49
194
|
case do_which_action
|
50
|
-
#
|
195
|
+
# ====================================================================== #
|
51
196
|
# === :be_quiet
|
52
|
-
#
|
197
|
+
# ====================================================================== #
|
53
198
|
when :be_quiet,
|
54
199
|
:be_silent
|
55
200
|
be_verbose = false
|
@@ -59,21 +204,21 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
|
|
59
204
|
do_which_action = :do_set_these_variables
|
60
205
|
end
|
61
206
|
case be_verbose
|
62
|
-
#
|
207
|
+
# ====================================================================== #
|
63
208
|
# === :be_verbose
|
64
|
-
#
|
209
|
+
# ====================================================================== #
|
65
210
|
when :be_verbose
|
66
211
|
be_verbose = true
|
67
|
-
#
|
212
|
+
# ====================================================================== #
|
68
213
|
# === :be_quiet
|
69
|
-
#
|
214
|
+
# ====================================================================== #
|
70
215
|
when :be_quiet,
|
71
216
|
:be_silent
|
72
217
|
be_verbose = false
|
73
218
|
end
|
74
|
-
#
|
219
|
+
# ====================================================================== #
|
75
220
|
# === Next, handle Strings
|
76
|
-
#
|
221
|
+
# ====================================================================== #
|
77
222
|
if hash_or_string.is_a? String
|
78
223
|
if hash_or_string.include?('=') or
|
79
224
|
hash_or_string.include?(':')
|
@@ -88,9 +233,9 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
|
|
88
233
|
hash_or_string = { this_key => this_value }
|
89
234
|
end
|
90
235
|
end
|
91
|
-
#
|
236
|
+
# ====================================================================== #
|
92
237
|
# === Next, handle Hashes
|
93
|
-
#
|
238
|
+
# ====================================================================== #
|
94
239
|
hash_or_string.each_pair {|key, value|
|
95
240
|
value.strip! if value.is_a? String
|
96
241
|
# =================================================================== #
|
@@ -121,23 +266,23 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
|
|
121
266
|
end
|
122
267
|
end; alias set_this_env_variable set_these_env_variables # === set_this_env_variable
|
123
268
|
|
124
|
-
#
|
269
|
+
# ========================================================================== #
|
125
270
|
# === set_extracted_base_directory
|
126
|
-
#
|
271
|
+
# ========================================================================== #
|
127
272
|
def set_extracted_base_directory(i)
|
128
273
|
@internal_hash[:extracted_base_directory] = i
|
129
274
|
end
|
130
275
|
|
131
|
-
#
|
276
|
+
# ========================================================================== #
|
132
277
|
# === set_really_compile_this_program
|
133
|
-
#
|
278
|
+
# ========================================================================== #
|
134
279
|
def set_really_compile_this_program(i = :qt)
|
135
280
|
set_compile_this_program(i)
|
136
281
|
set_compile_these_programs(i) if compile_these_programs?.empty?
|
137
282
|
initialize_cookbook_dataset
|
138
283
|
end
|
139
284
|
|
140
|
-
#
|
285
|
+
# ========================================================================== #
|
141
286
|
# === set_user_prefix (set_prefix tag, set prefix tag)
|
142
287
|
#
|
143
288
|
# This method can be used by the user, to designate another prefix in
|
@@ -145,7 +290,7 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
|
|
145
290
|
# which the program will be installed into.
|
146
291
|
#
|
147
292
|
# A specialized class, called RBT::Prefix, will handle the prefix.
|
148
|
-
#
|
293
|
+
# ========================================================================== #
|
149
294
|
def set_user_prefix(
|
150
295
|
i = :appdir_prefix
|
151
296
|
)
|
@@ -167,36 +312,36 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
|
|
167
312
|
end
|
168
313
|
end
|
169
314
|
if i.is_a? Symbol
|
170
|
-
#
|
315
|
+
# ====================================================================== #
|
171
316
|
# Next, perform some sanitize operations.
|
172
317
|
#
|
173
318
|
# This clause will handle Symbols such as :app_dir_like or
|
174
319
|
# :use_ntrad_prefix_at_a_later_time.
|
175
|
-
#
|
320
|
+
# ====================================================================== #
|
176
321
|
case i.to_s # case tag
|
177
|
-
#
|
322
|
+
# ====================================================================== #
|
178
323
|
# === ULOCAL
|
179
324
|
#
|
180
325
|
# This refers to the commonly used /usr/local/ directory.
|
181
|
-
#
|
326
|
+
# ====================================================================== #
|
182
327
|
when 'ULOCAL'
|
183
328
|
i = '/usr/local/'
|
184
|
-
#
|
329
|
+
# ====================================================================== #
|
185
330
|
# === trad
|
186
|
-
#
|
331
|
+
# ====================================================================== #
|
187
332
|
when /^trad$/
|
188
333
|
i = '/usr/'
|
189
|
-
#
|
334
|
+
# ====================================================================== #
|
190
335
|
# === --opt_prefix
|
191
|
-
#
|
336
|
+
# ====================================================================== #
|
192
337
|
when /^-?-?opt(_|-)?prefix$/,
|
193
338
|
:opt
|
194
339
|
i = '/opt/'
|
195
|
-
#
|
340
|
+
# ====================================================================== #
|
196
341
|
# === non_traditional
|
197
342
|
#
|
198
343
|
# This entry point has various aliases such as :ntrad.
|
199
|
-
#
|
344
|
+
# ====================================================================== #
|
200
345
|
when /^app(_|-)?dir$/,
|
201
346
|
/^app(_|-)?dir(_|-)?like$/,
|
202
347
|
/^use(_|-)?appdir(_|-)?prefix$/i,
|
@@ -222,10 +367,10 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
|
|
222
367
|
# =================================================================== #
|
223
368
|
i.delete!('-') if i.respond_to?(:include?) and i.include? '-'
|
224
369
|
end
|
225
|
-
#
|
370
|
+
# ====================================================================== #
|
226
371
|
# === Convert environment variables, if given, and unfreeze frozen
|
227
372
|
# Strings
|
228
|
-
#
|
373
|
+
# ====================================================================== #
|
229
374
|
if i.is_a?(String)
|
230
375
|
# =================================================================== #
|
231
376
|
# Unfreeze frozen Strings.
|
@@ -272,9 +417,9 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
|
|
272
417
|
end
|
273
418
|
end
|
274
419
|
end
|
275
|
-
#
|
420
|
+
# ====================================================================== #
|
276
421
|
# === Ensure a trailing '/' for directories.
|
277
|
-
#
|
422
|
+
# ====================================================================== #
|
278
423
|
unless i.to_s.end_with? '/' # .to_s to protect against Symbols given.
|
279
424
|
i << '/' if File.directory?(i.to_s)
|
280
425
|
end
|
@@ -292,7 +437,28 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
|
|
292
437
|
alias set_prefix set_user_prefix # === set_prefix
|
293
438
|
alias set_prefix_to_use set_user_prefix # === set_prefix_to_use
|
294
439
|
|
295
|
-
#
|
440
|
+
# ========================================================================== #
|
441
|
+
# === cookbook_dataset_set_program_version
|
442
|
+
# ========================================================================== #
|
443
|
+
def cookbook_dataset_set_program_version(i)
|
444
|
+
cookbook_dataset?.set_program_version(i)
|
445
|
+
end
|
446
|
+
|
447
|
+
# ========================================================================== #
|
448
|
+
# === set_description
|
449
|
+
# ========================================================================== #
|
450
|
+
def set_description(i)
|
451
|
+
cookbook_dataset?.set_description(i)
|
452
|
+
end; alias set_desc set_description # === set_desc
|
453
|
+
|
454
|
+
# ========================================================================== ##
|
455
|
+
# === set_is_an_abbreviation
|
456
|
+
# ========================================================================== #
|
457
|
+
def set_is_an_abbreviation(i = true)
|
458
|
+
@internal_hash[:is_an_abbreviation] = i
|
459
|
+
end
|
460
|
+
|
461
|
+
# ========================================================================== #
|
296
462
|
# === set_cflags (cflags tag)
|
297
463
|
#
|
298
464
|
# This method will enable you to set i.e. new cflags. This then also
|
@@ -314,7 +480,7 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
|
|
314
480
|
#
|
315
481
|
# make LDFLAGS=-all-static
|
316
482
|
#
|
317
|
-
#
|
483
|
+
# ========================================================================== #
|
318
484
|
def set_cflags(
|
319
485
|
i = default_cflags?,
|
320
486
|
&block
|
@@ -344,37 +510,37 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
|
|
344
510
|
)
|
345
511
|
end
|
346
512
|
|
347
|
-
#
|
513
|
+
# ========================================================================== #
|
348
514
|
# === set_use_this_prefix
|
349
515
|
#
|
350
516
|
# This variant will only modify the prefix stored by @prefix.
|
351
|
-
#
|
517
|
+
# ========================================================================== #
|
352
518
|
def set_use_this_prefix(i)
|
353
519
|
prefix_object?.set_prefix(i)
|
354
520
|
end; alias set_prefix set_use_this_prefix # === set_prefix
|
355
521
|
|
356
|
-
#
|
522
|
+
# ========================================================================== #
|
357
523
|
# === set_cookbook_program_name
|
358
|
-
#
|
524
|
+
# ========================================================================== #
|
359
525
|
def set_cookbook_program_name(i)
|
360
526
|
cookbook_dataset?.set_program_name(i)
|
361
527
|
end
|
362
528
|
|
363
|
-
#
|
529
|
+
# ========================================================================== #
|
364
530
|
# === set_user_prefix
|
365
|
-
#
|
531
|
+
# ========================================================================== #
|
366
532
|
def set_user_prefix(i)
|
367
533
|
@internal_hash[:user_prefix] = i
|
368
534
|
end
|
369
535
|
|
370
|
-
#
|
536
|
+
# ========================================================================== #
|
371
537
|
# === set_extract_to_this_directory
|
372
538
|
#
|
373
539
|
# This method can be used to keep track onto which directory archives
|
374
540
|
# will be extracted.
|
375
541
|
#
|
376
542
|
# Within RBT, the target is also known as the "homedir" variable.
|
377
|
-
#
|
543
|
+
# ========================================================================== #
|
378
544
|
def set_extract_to_this_directory(
|
379
545
|
i = RBT.log_directory?,
|
380
546
|
be_verbose = false
|
@@ -407,64 +573,27 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
|
|
407
573
|
alias extract_to set_extract_to_this_directory # === extract_to
|
408
574
|
alias set_homedir set_extract_to_this_directory # === set_homedir
|
409
575
|
|
410
|
-
#
|
576
|
+
# ========================================================================== #
|
411
577
|
# === shall_we_use_an_appdir_prefix?
|
412
|
-
#
|
578
|
+
# ========================================================================== #
|
413
579
|
def shall_we_use_an_appdir_prefix?
|
414
580
|
@internal_hash[:shall_we_use_an_appdir_prefix]
|
415
581
|
end; alias appdir_prefix? shall_we_use_an_appdir_prefix? # === appdir_prefix?
|
416
582
|
|
417
|
-
#
|
418
|
-
# === set_extract_to_this_directory_as_specified_by_the_user
|
419
|
-
#
|
420
|
-
# This method can be used by the user to specify a certain directory.
|
421
|
-
# ========================================================================= #
|
422
|
-
def set_extract_to_this_directory_as_specified_by_the_user(
|
423
|
-
i = :random
|
424
|
-
)
|
425
|
-
case i
|
426
|
-
when :random
|
427
|
-
# ===================================================================== #
|
428
|
-
# In this case we will use a random subdirectory, but within the
|
429
|
-
# temp directory still.
|
430
|
-
# ===================================================================== #
|
431
|
-
i = rbt_temp_dir?+return_n_random_characters(10)
|
432
|
-
end
|
433
|
-
unless i.end_with? '/'
|
434
|
-
i = i.dup if i.frozen?
|
435
|
-
i << '/'
|
436
|
-
end
|
437
|
-
@internal_hash[:extract_to_this_directory_as_specified_by_the_user] = i
|
438
|
-
end
|
439
|
-
|
440
|
-
# ========================================================================= #
|
441
|
-
# === set_keep_the_extracted_archive
|
442
|
-
#
|
443
|
-
# This method will keep the source-archive extracted. Note that this
|
444
|
-
# is not the default - by default we will remove the extracted
|
445
|
-
# archive.
|
446
|
-
# ========================================================================= #
|
447
|
-
def set_keep_the_extracted_archive(i = true)
|
448
|
-
@internal_hash[:keep_the_extracted_archive] = i
|
449
|
-
end; alias set_keep_extracted_archive set_keep_the_extracted_archive # === set_keep_extracted_archive
|
450
|
-
alias set_keep_extracted set_keep_the_extracted_archive # === set_keep_extracted
|
451
|
-
alias do_not_remove_the_extracted_archive set_keep_the_extracted_archive # === do_not_remove_the_extracted_archive
|
452
|
-
alias do_not_remove_extracted_archive set_keep_the_extracted_archive # === do_not_remove_extracted_archive
|
453
|
-
|
454
|
-
# ========================================================================= #
|
583
|
+
# ========================================================================== #
|
455
584
|
# === set_program_name_and_program_version
|
456
585
|
#
|
457
586
|
# This is simply a wrapper over the corresponding method in the
|
458
587
|
# cookbook-object.
|
459
|
-
#
|
588
|
+
# ========================================================================== #
|
460
589
|
def set_program_name_and_program_version(i)
|
461
590
|
cookbook_dataset?.send(__method__, i)
|
462
591
|
end
|
463
592
|
|
464
593
|
require 'rbt/utility_scripts/symlink_from_to_current/symlink_from_to_current.rb'
|
465
|
-
#
|
594
|
+
# ========================================================================== #
|
466
595
|
# === set_symlink_program
|
467
|
-
#
|
596
|
+
# ========================================================================== #
|
468
597
|
def set_symlink_program(
|
469
598
|
compile_this_program = compile_which_program?,
|
470
599
|
use_this_program_version = program_version?
|
@@ -482,77 +611,77 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
|
|
482
611
|
@internal_hash[:symlink_program] = _
|
483
612
|
end
|
484
613
|
|
485
|
-
#
|
614
|
+
# ========================================================================== #
|
486
615
|
# === set_url1
|
487
|
-
#
|
616
|
+
# ========================================================================== #
|
488
617
|
def set_url1(i)
|
489
618
|
cookbook_dataset?.set_url1(i)
|
490
619
|
end; alias set_url set_url1 # === set_url
|
491
620
|
|
492
|
-
#
|
621
|
+
# ========================================================================== #
|
493
622
|
# === set_url2
|
494
|
-
#
|
623
|
+
# ========================================================================== #
|
495
624
|
def set_url2(i)
|
496
625
|
cookbook_dataset?.set_url2(i)
|
497
626
|
end
|
498
627
|
|
499
|
-
#
|
628
|
+
# ========================================================================== #
|
500
629
|
# === set_cookbook_dataset_program_version
|
501
630
|
#
|
502
631
|
# For this method to work, cookbook_dataset? must have been instantiated
|
503
632
|
# before.
|
504
|
-
#
|
633
|
+
# ========================================================================== #
|
505
634
|
def set_cookbook_dataset_program_version(i)
|
506
635
|
cookbook_dataset?.set_program_version(i)
|
507
636
|
end; alias set_cookbook_program_version set_cookbook_dataset_program_version # === set_cookbook_program_version
|
508
637
|
|
509
|
-
#
|
638
|
+
# ========================================================================== #
|
510
639
|
# === set_path
|
511
640
|
#
|
512
641
|
# Set the $PATH variable here through this setter-method. This will
|
513
642
|
# directly modify ENV[] as is.
|
514
|
-
#
|
643
|
+
# ========================================================================== #
|
515
644
|
def set_path(i)
|
516
645
|
i = i.dup # Better to always .dup it when we set it.
|
517
646
|
ENV['PATH'] = i # Must re-enable PATH environment as it was.
|
518
647
|
end
|
519
648
|
|
520
|
-
#
|
649
|
+
# ========================================================================== #
|
521
650
|
# === set_postinstallation
|
522
651
|
#
|
523
652
|
# Note that the postinstallation steps will always be stored as
|
524
653
|
# an Array.
|
525
|
-
#
|
654
|
+
# ========================================================================== #
|
526
655
|
def set_postinstallation(i)
|
527
656
|
@internal_hash[:postinstallation] = [i].flatten.compact
|
528
657
|
end; alias set_postinstall set_postinstallation # === set_postinstall
|
529
658
|
|
530
|
-
#
|
659
|
+
# ========================================================================== #
|
531
660
|
# === set_license
|
532
|
-
#
|
661
|
+
# ========================================================================== #
|
533
662
|
def set_license(i)
|
534
663
|
cookbook_dataset?.set_license(i)
|
535
664
|
end
|
536
665
|
|
537
|
-
#
|
666
|
+
# ========================================================================== #
|
538
667
|
# === set_short_desc
|
539
|
-
#
|
668
|
+
# ========================================================================== #
|
540
669
|
def set_short_desc(i)
|
541
670
|
cookbook_dataset?.set_short_desc(i)
|
542
671
|
end
|
543
672
|
|
544
|
-
#
|
673
|
+
# ========================================================================== #
|
545
674
|
# === set_base_dir
|
546
|
-
#
|
675
|
+
# ========================================================================== #
|
547
676
|
def set_base_dir(i)
|
548
677
|
cookbook_dataset?.set_base_dir = i
|
549
678
|
end
|
550
679
|
|
551
|
-
#
|
680
|
+
# ========================================================================== #
|
552
681
|
# === set_program_version
|
553
682
|
#
|
554
683
|
# Use this method to assign to a new program version at hand.
|
555
|
-
#
|
684
|
+
# ========================================================================== #
|
556
685
|
def set_program_version(i)
|
557
686
|
# ======================================================================= #
|
558
687
|
# The program version is presently (December 2018) not allowed
|
@@ -587,7 +716,7 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
|
|
587
716
|
end
|
588
717
|
end; alias set_use_this_version set_program_version # === set_use_this_version
|
589
718
|
|
590
|
-
#
|
719
|
+
# ========================================================================== #
|
591
720
|
# === set_configure_base_directory
|
592
721
|
#
|
593
722
|
# This setter-method sets the @internal_hash[:configure_base_directory],
|
@@ -608,7 +737,7 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
|
|
608
737
|
#
|
609
738
|
# Do note that the cookbook-dataset will also retain the original
|
610
739
|
# configure_base_directory.
|
611
|
-
#
|
740
|
+
# ========================================================================== #
|
612
741
|
def set_configure_base_directory(
|
613
742
|
i = :default
|
614
743
|
)
|
@@ -630,16 +759,16 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
|
|
630
759
|
@internal_hash[:configure_base_directory] = i # ← Finally, assign it.
|
631
760
|
end; alias set_configure_base_dir set_configure_base_directory # === set_configure_base_dir
|
632
761
|
|
633
|
-
#
|
762
|
+
# ========================================================================== #
|
634
763
|
# === set_configure_options
|
635
764
|
#
|
636
765
|
# This will directly modify the cookbook-dataset.
|
637
|
-
#
|
766
|
+
# ========================================================================== #
|
638
767
|
def set_configure_options(i = '')
|
639
768
|
cookbook_dataset?.configure_options = i
|
640
769
|
end
|
641
770
|
|
642
|
-
#
|
771
|
+
# ========================================================================== #
|
643
772
|
# === set_parameters_to_make
|
644
773
|
#
|
645
774
|
# If we have to pass specials options to the program called "make", then
|
@@ -647,7 +776,7 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
|
|
647
776
|
#
|
648
777
|
# These are additional options that can be given to the program called
|
649
778
|
# "make".
|
650
|
-
#
|
779
|
+
# ========================================================================== #
|
651
780
|
def set_parameters_to_make(i)
|
652
781
|
# ======================================================================= #
|
653
782
|
# The parameters must always be kept as an Array.
|
@@ -656,27 +785,27 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
|
|
656
785
|
@internal_hash[:parameters_to_make] = i # Do not change them to a String via .to_s
|
657
786
|
end; alias set_make_options set_parameters_to_make # === set_make_options
|
658
787
|
|
659
|
-
#
|
788
|
+
# ========================================================================== #
|
660
789
|
# === set_cookbook_dataset_program
|
661
|
-
#
|
790
|
+
# ========================================================================== #
|
662
791
|
def set_cookbook_dataset_program(i)
|
663
792
|
cookbook_dataset?.set_program(i)
|
664
793
|
end
|
665
794
|
|
666
|
-
#
|
795
|
+
# ========================================================================== #
|
667
796
|
# === set_program_path
|
668
797
|
#
|
669
798
|
# This will only modify a value on the @internal_hash.
|
670
|
-
#
|
799
|
+
# ========================================================================== #
|
671
800
|
def set_program_path(i)
|
672
801
|
@internal_hash[:program_path] = i
|
673
802
|
end
|
674
803
|
|
675
|
-
#
|
804
|
+
# ========================================================================== #
|
676
805
|
# === set_skip_extracting
|
677
806
|
#
|
678
807
|
# Use this method when we shall skip the extracting phase.
|
679
|
-
#
|
808
|
+
# ========================================================================== #
|
680
809
|
def set_skip_extracting(
|
681
810
|
be_verbose = true
|
682
811
|
)
|
@@ -687,9 +816,9 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
|
|
687
816
|
@internal_hash[:skip_extracting] = true
|
688
817
|
end; alias do_not_extract set_skip_extracting # === do_not_extract
|
689
818
|
|
690
|
-
#
|
819
|
+
# ========================================================================== #
|
691
820
|
# === set_name_for_the_build_directory
|
692
|
-
#
|
821
|
+
# ========================================================================== #
|
693
822
|
def set_name_for_the_build_directory(
|
694
823
|
i = :use_the_default_name,
|
695
824
|
be_verbose = false
|
@@ -717,53 +846,53 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
|
|
717
846
|
alias use_this_build_directory set_name_for_the_build_directory # === use_this_build_directory
|
718
847
|
alias set_use_this_build_directory set_name_for_the_build_directory # === set_use_this_build_directory
|
719
848
|
|
720
|
-
#
|
849
|
+
# ========================================================================== #
|
721
850
|
# === set_use_this_sed_line
|
722
|
-
#
|
851
|
+
# ========================================================================== #
|
723
852
|
def set_use_this_sed_line(i)
|
724
853
|
@internal_hash[:sed] = i
|
725
854
|
end
|
726
855
|
|
727
|
-
#
|
856
|
+
# ========================================================================== #
|
728
857
|
# === set_delay_before_continuing (sleep tag)
|
729
858
|
#
|
730
859
|
# Ensure that the argument passed to us is correct.
|
731
|
-
#
|
860
|
+
# ========================================================================== #
|
732
861
|
def set_delay_before_continuing(n_seconds)
|
733
862
|
sleep(n_seconds.to_i)
|
734
863
|
end
|
735
864
|
|
736
|
-
#
|
865
|
+
# ========================================================================== #
|
737
866
|
# === set_program_full_name
|
738
|
-
#
|
867
|
+
# ========================================================================== #
|
739
868
|
def set_program_full_name(i = :default)
|
740
869
|
cookbook_dataset?.set_program_full_name(i)
|
741
870
|
end
|
742
871
|
|
743
|
-
#
|
872
|
+
# ========================================================================== #
|
744
873
|
# === set_full_configure_command
|
745
|
-
#
|
874
|
+
# ========================================================================== #
|
746
875
|
def set_full_configure_command(i)
|
747
876
|
i.strip! # ← This is mandatory; may be reconsidered in the future though.
|
748
877
|
@internal_hash[:full_configure_command] = i
|
749
878
|
end
|
750
879
|
|
751
|
-
#
|
880
|
+
# ========================================================================== #
|
752
881
|
# === set_use_this_build_system
|
753
882
|
#
|
754
883
|
# Consistently use this method when you modify the value at
|
755
884
|
# @internal_hash[:use_this_build_system].
|
756
885
|
#
|
757
886
|
# We need to ensure that it is a Symbol.
|
758
|
-
#
|
887
|
+
# ========================================================================== #
|
759
888
|
def set_use_this_build_system(i)
|
760
889
|
i = i.to_sym unless i.is_a? Symbol
|
761
890
|
@internal_hash[:use_this_build_system] = i
|
762
891
|
end
|
763
892
|
|
764
|
-
#
|
893
|
+
# ========================================================================== #
|
765
894
|
# === set_pkgconfig_symlink
|
766
|
-
#
|
895
|
+
# ========================================================================== #
|
767
896
|
def set_pkgconfig_symlink(
|
768
897
|
i = true
|
769
898
|
)
|
@@ -792,18 +921,18 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
|
|
792
921
|
end
|
793
922
|
end
|
794
923
|
|
795
|
-
#
|
924
|
+
# ========================================================================== #
|
796
925
|
# === set_program_short_name
|
797
|
-
#
|
926
|
+
# ========================================================================== #
|
798
927
|
def set_program_short_name(i)
|
799
928
|
cookbook_dataset?.set_program_short_name(i)
|
800
929
|
end
|
801
930
|
|
802
|
-
#
|
931
|
+
# ========================================================================== #
|
803
932
|
# === set_preinstall_action
|
804
933
|
#
|
805
934
|
# This method can be used to set different pre-install actions.
|
806
|
-
#
|
935
|
+
# ========================================================================== #
|
807
936
|
def set_preinstall_action(i)
|
808
937
|
if i.is_a? String # Strings will become an Array here.
|
809
938
|
if i.include? ','
|
@@ -815,32 +944,32 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
|
|
815
944
|
cookbook_dataset?.preinstall = i
|
816
945
|
end
|
817
946
|
|
818
|
-
#
|
947
|
+
# ========================================================================== #
|
819
948
|
# === set_cookbook_dataset_program_path
|
820
|
-
#
|
949
|
+
# ========================================================================== #
|
821
950
|
def set_cookbook_dataset_program_path(i)
|
822
951
|
cookbook_dataset?.set_program_path(i)
|
823
952
|
end
|
824
953
|
|
825
|
-
#
|
954
|
+
# ========================================================================== #
|
826
955
|
# === set_configure_options_on_internal_hash
|
827
|
-
#
|
956
|
+
# ========================================================================== #
|
828
957
|
def set_configure_options_on_internal_hash(i)
|
829
958
|
@internal_hash[:configure_options] = i
|
830
959
|
end
|
831
960
|
|
832
|
-
#
|
961
|
+
# ========================================================================== #
|
833
962
|
# === set_use_this_configure_command
|
834
|
-
#
|
963
|
+
# ========================================================================== #
|
835
964
|
def set_use_this_configure_command(i)
|
836
965
|
@internal_hash[:configure_command_to_use] = i.to_s
|
837
966
|
end
|
838
967
|
|
839
|
-
#
|
968
|
+
# ========================================================================== #
|
840
969
|
# === set_use_this_make_command
|
841
970
|
#
|
842
971
|
# This can be used to use another make command, such as "ninja".
|
843
|
-
#
|
972
|
+
# ========================================================================== #
|
844
973
|
def set_use_this_make_command(
|
845
974
|
i = :default
|
846
975
|
)
|
@@ -855,13 +984,13 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
|
|
855
984
|
@internal_hash[:use_this_make_command] = i
|
856
985
|
end
|
857
986
|
|
858
|
-
#
|
987
|
+
# ========================================================================== #
|
859
988
|
# === set_do_not_symlink
|
860
989
|
#
|
861
990
|
# Do not symlink after "make install" stage. This prevents the
|
862
991
|
# symlinking-step from e. g. /Programs/Htop/1.2.0/ into the
|
863
992
|
# /Systemd/Index/ hierarchy.
|
864
|
-
#
|
993
|
+
# ========================================================================== #
|
865
994
|
def set_do_not_symlink(
|
866
995
|
be_verbose = true
|
867
996
|
)
|
@@ -890,41 +1019,27 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
|
|
890
1019
|
@internal_hash[:do_not_symlink] = true
|
891
1020
|
end; alias do_not_symlink set_do_not_symlink # === do_not_symlink
|
892
1021
|
|
893
|
-
#
|
894
|
-
# === set_dont_keep_archive
|
895
|
-
#
|
896
|
-
# Use this method when you don't want to keep the extracted archive.
|
897
|
-
# ========================================================================= #
|
898
|
-
def set_dont_keep_archive(
|
899
|
-
be_verbose = true
|
900
|
-
)
|
901
|
-
if be_verbose
|
902
|
-
orev 'We will not keep our extracted archive.'
|
903
|
-
end
|
904
|
-
@internal_hash[:keep_the_extracted_archive] = false
|
905
|
-
end
|
906
|
-
|
907
|
-
# ========================================================================= #
|
1022
|
+
# ========================================================================== #
|
908
1023
|
# === set_use_these_configure_options
|
909
|
-
#
|
1024
|
+
# ========================================================================== #
|
910
1025
|
def set_use_these_configure_options(i)
|
911
1026
|
i.tr!(N,' ') if i.include? N
|
912
1027
|
i.squeeze!(' ')
|
913
1028
|
@internal_hash[:configure_options] = i
|
914
1029
|
end; alias set_configure_options= set_use_these_configure_options # === set_configure_options=
|
915
1030
|
|
916
|
-
#
|
1031
|
+
# ========================================================================== #
|
917
1032
|
# === set_internal_hash_configure_options
|
918
|
-
#
|
1033
|
+
# ========================================================================== #
|
919
1034
|
def set_internal_hash_configure_options(i)
|
920
1035
|
@internal_hash[:configure_options] = i
|
921
1036
|
end
|
922
1037
|
|
923
|
-
#
|
1038
|
+
# ========================================================================== #
|
924
1039
|
# === set_make_command
|
925
1040
|
#
|
926
1041
|
# This method can be used to set which make command is to be used.
|
927
|
-
#
|
1042
|
+
# ========================================================================== #
|
928
1043
|
def set_make_command(
|
929
1044
|
i = 'make'
|
930
1045
|
)
|