Class: RBT::PostinstallationStep
- Inherits:
-
CompileBase
show all
- Defined in:
- lib/rbt/utility_scripts/postinstallation_step/postinstallation_step.rb
Overview
RBT::PostinstallationStep
Constant Summary
CompileBaseModule::FILE_AUTOGEN
LeanPrototype::ALL_COLOUR_METHODS, LeanPrototype::ARRAY_KDE_KONSOLE_COLOURS_IN_USE, LeanPrototype::DAY_NAMES, LeanPrototype::NAMESPACE, LeanPrototype::SILENT_REDIRECTION
Class Method Summary
collapse
-
.[](i = ARGV) ⇒ Object
# === RBT::PostinstallationStep[] ========================================================================= #.
Instance Method Summary
collapse
#always_show_dependencies?, #capitalize_program_names?, #cflags?, #check_whether_we_will_install_only_programs_from_the_bin_subdirectory, #cleanup_system_tag_directory, #config?, #consider_removing_libtool_la_files, #consider_symlinking_cmake_modules, #consider_symlinking_header_files_into_the_usr_include_hierarchy, #consider_symlinking_lib64_into_lib, #cookbook_dataset_autosymlink_lib64?, #cookbook_dataset_program_version?, #create_a_new_current_symlink_here, #create_architecture_file, #do_invoke_symlink_program, #do_play_song, #editor_to_use?, #email?, #exit_on_unregistered_cookbook_entries?, #has_an_error_occurred?, #host_cpu?, #install_only_binaries?, #installer_constant?, make_command?, #no_error_has_occurred?, #play_song?, #recipes_dir?, #register_program, #remove_compiling_is_in_progress, #report_to_developers, #reset_the_module, #return_build_type, #return_chained_programs, #return_files_from_the_profiles_directory, #return_these_programs, #run_ldconfig?, #shall_we_symlink_the_header_files_into_the_usr_include_hierarchy?, #store_full_configure_command_into_resources_directory, #symlink_into_tags, #symlink_into_usr_lib_dir?, #symlink_m4_macros, #symlink_program, #update_kde_apps, #use_ccache?, #use_gobolinux_symlinkprogram?, #use_mrxvt?, #use_porg?, #use_stow?, #uses_appdir_prefix?, #validate_the_cookbook_aliases
Methods inherited from Base
#cat, #cd_back_to_the_current_working_directory, #consider_reporting_how_many_programs_are_registered, #cookbook_files?, #copy_recursively, #delete_code_of_conduct?, #determine_appdir_prefix_from_this_input, #directory_validation?, #do_not_show_names, #fast_return_file_size_of_this_program, #file_last_symlinked_program?, #file_programs_version_url, #gem_version, #is_a_64bit_system?, #is_ccache_available?, #is_porg_available?, #is_this_binary_registered?, #is_this_program_included?, #make_command?, #make_install_command?, #new_cookbook_instance_for, #program_exists?, #publish_list_of_all_programs_version, #rcp, registered_binaries?, #remove_symlink, #rename_kde_konsole_tab, #repackage, #report_n_programs, #report_working_directory, #return_compile_time_statistics, #return_n_random_characters, #return_version_of_this_program, #run_make_then_make_install, #sanitize_url1_entry, #set_source_directory, #show_overview_over_available_utility_scripts, #symlink_all_files_from_this_directory_to_that_directory, #system_tags?, #upload_list_of_all_programs_version, #use_yaml_database_for_tags?, #warn_and_exit, #wget
#a_or_an?, #abbreviations?, #absolute_path, #action, #add_to_the_commandline_arguments, #all_binaries?, #all_files_from, #all_libraries?, #allowed_cookbook_entries?, #appdir_location_of?, #append_onto_the_internal_hash, #append_what_into, #archive_type_of?, #available_programs?, #be_quiet?, #be_verbose?, #begins_with_a_comment?, #capitalize_first_alphabetical_character, #cd_to_the_log_directory, #cd_to_the_temp_directory, #change_directory, #change_permission, #cheering_person?, #chmod, #chop_off_archive, #clear_commandline_arguments, #cliner, #coloured_and_padded_e, #coloured_and_padded_esystem, #coloured_esystem, #colourize_directory_for_system_results, #colourize_this_error, #colourize_this_file_path, #colourize_this_warning, #commandline_arguments?, #commandline_arguments_without_hyphens?, #comment, #convert_dd_mm_yyyy_to_its_long_variant, #convert_env_variable, #copy_directory, #copy_files, #cpr, #create_directory, #current_hour?, #dd_mmm_yyy, #debug, #debug?, #directory_expanded_cookbooks?, #disable_colours, #display_md5sum?, #do_not_debug, #does_the_cookbook_include_this_program?, #does_this_expanded_cookbook_file_exist_for_this_program?, #does_this_file_exist?, #does_this_file_exist_and_is_it_a_file?, #e, #eblue, #ecomment, #ecrimson, #edir, #editor?, #efancy, #eimp, #enable_colours, #enable_debug, #ensure_main_encoding_for, #eparse, #esystem, #esystem_gold, #etomato, #ewarn, #exit_program, #expanded_cookbooks_directory_exists?, #extract_this_archive, #extract_to?, #file_compiled_programs?, #file_dirname_retaining_trailing_slash, #file_predefined_installation_instructions?, #file_specification_of_registered_cookbook_entries, #find_cookbook_alias_for, #find_this_yaml_file, #first_argument?, #first_non_hyphen_argument?, #get_all_directories_from, #get_all_files_from, #get_all_programs, #get_date, #get_extended_date, #get_files_and_directories_from, #go_to_base_dir, #home_dir?, #host_system?, #infer_the_namespace, #internal_hash?, #internal_hash_set_commandline_arguments, #is_an_archive?, #is_directory?, #is_file?, #is_github_url?, #is_make_available?, #is_meson_installed?, #is_on_gobolinux?, #is_on_windows?, #is_roebe?, #is_superuser?, #is_symlink?, #is_this_a_header?, #is_this_a_library?, #is_this_program_included?, #iso_encoding?, #load_dataset_from_this_expanded_cookbook, #load_yaml, #load_yaml_file_from_the_cookbook_directory_for_this_program, #log_directory?, #main_encoding?, #meson_build_file_exists?, #months?, #move_file, #n_programs_are_available?, #n_programs_available?, #namespace?, #no_directory_exists_at, #no_directory_was_found_at, #no_opn, #no_such_file_exists, #open_in_browser, #open_in_editor, #opncomment, #opne, #opnef, #opnerev, #opnerror, #opnesystem, #opnewarn, #opnfancy, #opnn, #packages_directory?, #path_to_this_expanded_cookbooks_dataset, #pkgconfig_directory?, #populate_the_internal_hash_with_default_values, #predefined_installation_instructions?, #prepend_this_commandline_argument, #program_version_of?, #project_base_directory?, #project_yaml_directory?, #query_path?, #rarrow?, #read_file, #read_file_in_default_encoding, #read_file_with_default_encoding, #readlines, #readlines_with_proper_encoding, #register_sigint, #registered_cookbook_entries?, #remove, #remove_archive_from_the_end, #remove_comments_from_each_line, #remove_directory, #remove_double_slashes, #remove_file, #remove_newlines, #remove_parens, #remove_symlink, #remove_the_first_commandline_argument, #remove_this_commandline_argument, #remove_this_entry_from_the_commandline_arguments, #remove_trailing_ANSII_escape_code, #remove_unnecessary_data_from_url, #rename, #report_pwd, #require_the_rbt_aliases, #reset_the_internal_hash, #return_all_archives_from_this_directory, #return_appdir_prefix, #return_commandline_arguments_with_leading_hyphens, #return_current_hour_minutes_second, #return_date, #return_day_of_the_month_based_on_utc, #return_full_time, #return_hours_minutes_seconds_based_on_utc, #return_location_to_this_programs_yaml_file, #return_month_based_on_this_number, #return_month_based_on_utc, #return_opnn, #return_program_information, #return_program_name_for_gobolinux_systems, #return_pwd, #return_unicode_warning_symbol_or_empty_string, #return_utc, #return_utc_time_in_a_format_similar_to_slackware, #return_weekday_based_on_utc, #return_year_based_on_utc, #rev, #run_simulation=, #run_simulation?, #sdir, #sdir_return_pwd, #set_be_silent, #set_be_verbose, #set_first_commandline_argument, #set_namespace, #set_use_opn, #set_xorg_buffer, #sfancy, #sfile, #silent_redirection?, #silently_create_this_directory_if_it_does_not_yet_exist, #simp, #source_base_directory?, #ssym, #stderr, #store_into_this_directory?, #string_right_arrow?, #swarn, #symlink, #sysbin_directory?, #sysetc_directory?, #sysinclude_directory?, #syslib_directory?, #sysshare_directory?, #system_directory?, #temp_directory?, #to_bool, #to_camelcase, #to_iso_encoding, #to_unicode, #today?, #touch, #try_to_require_beautiful_url, #try_to_require_the_environment_information_gem, #try_to_require_the_extracter_gem, #try_to_require_the_open_gem, #try_to_require_the_xorg_buffer, #try_to_require_wget, #try_to_return_a_special_compile_component, #unicode_cliner, #unicode_middle_cliner, #use_colours=, #use_colours?, #use_opn=, #use_opn?, #utf_encoding?, #verbose_truth, #word_wrap, #write_what_into, #write_what_into_via_unicode, #yes_or_no
Constructor Details
#initialize(hash = {}, run_already = true) ⇒ PostinstallationStep
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
# File 'lib/rbt/utility_scripts/postinstallation_step/postinstallation_step.rb', line 29
def initialize(
hash = {},
run_already = true
)
reset
if hash.is_a? String
hash = { compile_which_program: hash }
end
append_onto_the_internal_hash(
hash
)
if block_given?
yielded = yield
if yielded.is_a? Hash
if yielded.has_key?(:use_opn) and
(yielded[:use_opn] == false)
disable_opn
end
else
case yielded
when :do_not_run_yet
run_already = false
end
end
end
run if run_already
end
|
Class Method Details
.[](i = ARGV) ⇒ Object
#
RBT::PostinstallationStep[]
#
371
372
373
|
# File 'lib/rbt/utility_scripts/postinstallation_step/postinstallation_step.rb', line 371
def self.[](i = ARGV)
new(i)
end
|
Instance Method Details
#compile_which_program? ⇒ Boolean
#
compile_which_program?
#
102
103
104
|
# File 'lib/rbt/utility_scripts/postinstallation_step/postinstallation_step.rb', line 102
def compile_which_program?
@internal_hash[:compile_which_program]
end
|
#consider_symlinking_appdir_libraries_into_the_usr_lib_hierarchy ⇒ Object
#
consider_symlinking_appdir_libraries_into_the_usr_lib_hierarchy
#
187
188
189
190
191
192
193
194
195
196
|
# File 'lib/rbt/utility_scripts/postinstallation_step/postinstallation_step.rb', line 187
def consider_symlinking_appdir_libraries_into_the_usr_lib_hierarchy
unless do_not_symlink?
if is_on_roebe? and
uses_appdir_approach? and
no_error_has_occurred?
target = prefix?+'lib/'
RBT.symlink_appdir_libraries_into_usr_lib_directory(target)
end
end
end
|
#create_symlinks(i = compile_which_program?,
, shall_we_invoke_symlink_program = shall_we_invoke_symlink_program?,
, use_this_as_program_version = program_version?
) ⇒ Object
#
create_symlinks
This is only needed when the prefix is not traditional (i.e. Gobolinux prefix). It will be called via the method do_postinstall_actions().
#
355
356
357
358
359
360
361
362
363
364
365
366
|
# File 'lib/rbt/utility_scripts/postinstallation_step/postinstallation_step.rb', line 355
def create_symlinks(
i = compile_which_program?,
shall_we_invoke_symlink_program = shall_we_invoke_symlink_program?,
use_this_as_program_version = program_version?
)
if shall_we_invoke_symlink_program
opne "#{rev}Now running #{sfancy('RBT::SymlinkFromToCurrent')} "\
"#{rev}to symlink"
opne "the content of `#{sdir(i)}#{rev}`."
do_invoke_symlink_program(i, use_this_as_program_version)
end
end
|
#dataset_to_use? ⇒ Boolean
Also known as:
cookbook_dataset?, dataset?
#
dataset_to_use?
Which dataset is to be used - this reader method returns that result.
#
83
84
85
|
# File 'lib/rbt/utility_scripts/postinstallation_step/postinstallation_step.rb', line 83
def dataset_to_use?
@internal_hash[:dataset_to_use]
end
|
123
124
125
|
# File 'lib/rbt/utility_scripts/postinstallation_step/postinstallation_step.rb', line 123
def delete_libtool_files?
@internal_hash[:delete_libtool_files]
end
|
#do_not_symlink? ⇒ Boolean
176
177
178
179
180
181
182
|
# File 'lib/rbt/utility_scripts/postinstallation_step/postinstallation_step.rb', line 176
def do_not_symlink?
if dataset_to_use?
dataset_to_use?.do_not_symlink == true
else
false
end
end
|
#do_register_the_program? ⇒ Boolean
#
do_register_the_program?
#
109
110
111
|
# File 'lib/rbt/utility_scripts/postinstallation_step/postinstallation_step.rb', line 109
def do_register_the_program?
@internal_hash[:do_register_the_program]
end
|
#do_run_fetch_all_m4_macros? ⇒ Boolean
#
do_run_fetch_all_m4_macros?
#
130
131
132
|
# File 'lib/rbt/utility_scripts/postinstallation_step/postinstallation_step.rb', line 130
def do_run_fetch_all_m4_macros?
@internal_hash[:do_run_fetch_all_m4_macros]
end
|
#ensure_that_useful_internal_values_exist ⇒ Object
#
ensure_that_useful_internal_values_exist (default tag, def tag)
This method will ensure that some default internal-values exist.
#
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
|
# File 'lib/rbt/utility_scripts/postinstallation_step/postinstallation_step.rb', line 229
def ensure_that_useful_internal_values_exist
unless @internal_hash.has_key? :use_tags
@internal_hash[:use_tags] = false
end
unless @internal_hash.has_key? :do_register_the_program
@internal_hash[:do_register_the_program] = true end
unless @internal_hash.has_key? :do_run_fetch_all_m4_macros
@internal_hash[:do_run_fetch_all_m4_macros] = true end
@internal_hash[:symlink_program] = RBT::SymlinkFromToCurrent.new { :do_not_run_yet }
end
|
#
The @full_configure_command contains the full configure command that we will use. The advantage in using this is that we can easily copy/paste this at a later time, should we need to do so.
#
95
96
97
|
# File 'lib/rbt/utility_scripts/postinstallation_step/postinstallation_step.rb', line 95
def full_configure_command?
@internal_hash[:full_configure_command]
end
|
#postinstall? ⇒ Boolean
153
154
155
|
# File 'lib/rbt/utility_scripts/postinstallation_step/postinstallation_step.rb', line 153
def postinstall?
@internal_hash[:postinstall]
end
|
#prefix? ⇒ Boolean
137
138
139
|
# File 'lib/rbt/utility_scripts/postinstallation_step/postinstallation_step.rb', line 137
def prefix?
real_prefix?.to_s
end
|
#program_version? ⇒ Boolean
201
202
203
204
205
206
207
208
|
# File 'lib/rbt/utility_scripts/postinstallation_step/postinstallation_step.rb', line 201
def program_version?
_ = internal_hash?
if _.has_key? :dataset_to_use
_ = _[:dataset_to_use]
end
_ = _.internal_hash? _['program_version']
end
|
#reset ⇒ Object
72
73
74
75
|
# File 'lib/rbt/utility_scripts/postinstallation_step/postinstallation_step.rb', line 72
def reset
super()
infer_the_namespace
end
|
#run ⇒ Object
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
|
# File 'lib/rbt/utility_scripts/postinstallation_step/postinstallation_step.rb', line 257
def run
ensure_that_useful_internal_values_exist
prefix = real_prefix?
if use_appdir_prefix?
symlink_program?.set_prefix(prefix?)
opnn; create_a_new_current_symlink_here(prefix.to_s)
consider_removing_libtool_la_files consider_symlinking_cmake_modules
if symlink_into_usr_lib_dir?
RBT::SymlinkIntoUsrLibDirectory.new(
rds("#{prefix}/lib/")
)
end
end
run_post_install_class_unless_postinstall_is_empty
cleanup_system_tag_directory
check_whether_we_will_install_only_programs_from_the_bin_subdirectory
if prefix.include? programs_directory?
create_architecture_file
create_symlinks(prefix)
symlink_m4_macros(prefix)
consider_symlinking_lib64_into_lib
consider_symlinking_appdir_libraries_into_the_usr_lib_hierarchy
register_program(prefix) store_full_configure_command_into_resources_directory
else
if is_on_roebe? and prefix.start_with?(home_dir?)
run_post_install_class_unless_postinstall_is_empty
end
end
symlink_into_tags(
compile_which_program?,
real_prefix?.to_s,
cookbook_dataset?,
use_tags?
)
remove_compiling_is_in_progress
play_song if play_song?
end
|
#run_post_install_class_unless_postinstall_is_empty ⇒ Object
#
run_post_install_class_unless_postinstall_is_empty
#
161
162
163
164
165
166
167
168
169
170
171
|
# File 'lib/rbt/utility_scripts/postinstallation_step/postinstallation_step.rb', line 161
def run_post_install_class_unless_postinstall_is_empty
unless postinstall?.empty?
RBT::PostInstall.new(dataset?) {{
use_this_compile_prefix: real_prefix?.to_s
}}
end
end
|
#shall_we_invoke_symlink_program? ⇒ Boolean
#
shall_we_invoke_symlink_program?
#
220
221
222
|
# File 'lib/rbt/utility_scripts/postinstallation_step/postinstallation_step.rb', line 220
def shall_we_invoke_symlink_program?
@internal_hash[:shall_we_invoke_symlink_program]
end
|
#symlink_program? ⇒ Boolean
213
214
215
|
# File 'lib/rbt/utility_scripts/postinstallation_step/postinstallation_step.rb', line 213
def symlink_program?
@internal_hash[:symlink_program]
end
|
116
117
118
|
# File 'lib/rbt/utility_scripts/postinstallation_step/postinstallation_step.rb', line 116
def use_tags?
@internal_hash[:use_tags]
end
|
#use_this_prefix? ⇒ Boolean
Also known as:
real_prefix?, return_proper_prefix?, return_proper_prefix
144
145
146
|
# File 'lib/rbt/utility_scripts/postinstallation_step/postinstallation_step.rb', line 144
def use_this_prefix?
@internal_hash[:use_this_prefix]
end
|