Class: RBT::PackageRbtScripts

Inherits:
Base show all
Defined in:
lib/rbt/utility_scripts/package_rbt_scripts.rb

Overview

RBT::PackageRbtScripts

Constant Summary collapse

ARCHIVES_BASE_DIRECTORY =
#

ARCHIVES_BASE_DIRECTORY

#
'/Depot/Archives/'
NAME_OF_THE_PROJECT =
#

NAME_OF_THE_PROJECT

#
'rbt'

Constants inherited from LeanPrototype

LeanPrototype::ALL_COLOUR_METHODS, LeanPrototype::ARRAY_KDE_KONSOLE_COLOURS_IN_USE, LeanPrototype::DAY_NAMES, LeanPrototype::NAMESPACE, LeanPrototype::SILENT_REDIRECTION

Instance Method Summary collapse

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

Methods inherited from LeanPrototype

#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, #otomato, #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_name, #return_program_name_for_gobolinux_systems, #return_program_name_via_program_information, #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, #rpn, #run_simulation=, #run_simulation?, #sdir, #sdir_return_pwd, #set_be_silent, #set_be_verbose, #set_first_commandline_argument, #set_namespace, #set_use_colours, #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(run_already = true) ⇒ PackageRbtScripts

#

initialize

#


39
40
41
42
43
44
# File 'lib/rbt/utility_scripts/package_rbt_scripts.rb', line 39

def initialize(
    run_already = true
  )
  reset
  run if run_already
end

Instance Method Details

#archive_dir?Boolean

#

archive_dir?

#

Returns:

  • (Boolean)


86
87
88
# File 'lib/rbt/utility_scripts/package_rbt_scripts.rb', line 86

def archive_dir?
  @archive_dir
end

#ensure_that_the_archive_directory_existsObject

#

ensure_that_the_archive_directory_exists

#


77
78
79
80
81
# File 'lib/rbt/utility_scripts/package_rbt_scripts.rb', line 77

def ensure_that_the_archive_directory_exists
  unless Dir.exist? ARCHIVES_BASE_DIRECTORY
    mkdir(ARCHIVES_BASE_DIRECTORY)
  end
end

#report_where_the_archive_dir_will_beObject

#

report_where_the_archive_dir_will_be

#


67
68
69
70
71
72
# File 'lib/rbt/utility_scripts/package_rbt_scripts.rb', line 67

def report_where_the_archive_dir_will_be
  archive_dir = ARCHIVES_BASE_DIRECTORY+'rbt-'+return_date
  set_archive_dir(archive_dir)
  opne 'The archive directory will be stored '\
       'at `'+sdir(@archive_dir)+'`.'
end

#resetObject

#

reset

#


49
50
51
52
# File 'lib/rbt/utility_scripts/package_rbt_scripts.rb', line 49

def reset
  super()
  infer_the_namespace
end

#runObject

#

run

#


152
153
154
# File 'lib/rbt/utility_scripts/package_rbt_scripts.rb', line 152

def run
  run_everything
end

#run_everythingObject

#

run_everything

#


93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
# File 'lib/rbt/utility_scripts/package_rbt_scripts.rb', line 93

def run_everything
  require 'roebe/toplevel_methods/copy_setup_rb_file.rb'
  ensure_that_the_archive_directory_exists # The archive dir must exist.
  report_where_the_archive_dir_will_be
  _ = RUBY_SRC_DIR
  rbt_base_dir = _+'rbt/' # Keep a trailing / here.
  # ======================================================================= #
  # Now it is time to (1) delete an old archive directory, and then to
  # (2) create the archive directory.
  # ======================================================================= #
  remove_directory(archive_dir?) if Dir.exist? archive_dir?
  opnn; create_directory(archive_dir?, :be_verbose)
  # ======================================================================= #
  # The next step is to enter the RBT base directory.
  # ======================================================================= #
  change_directory(rbt_base_dir, :be_verbose)
  opne "We are now in the directory `#{sdir(return_pwd)}`."
  opne 'Will copy '+sdir(rbt_base_dir)+' into the directory '
  opne sdir('  '+archive_dir?)
  # ======================================================================= #
  # Copy recursively next.
  # ======================================================================= #
  copy_recursively(rbt_base_dir, archive_dir?)
  # ======================================================================= #
  # Ok, we have created the target directory, and a pointer to the
  # old directory. Next, we copy setup.rb but only into the newly
  # created file.
  # ======================================================================= #
  Roebe.copy_setup_rb_file
  # ======================================================================= #
  # Next, change to the dir below archive_dir?.
  # ======================================================================= #
  cd File.dirname(archive_dir?)
  # ======================================================================= #
  # Remove setup.rb first. No longer necessary I think.
  # ======================================================================= #
  # remove(archive_dir?+'setup.rb')
  # ======================================================================= #
  # === Package it up via ToTarXt
  #
  # We will delegate towards class ToTarXz for the packaging.
  # ======================================================================= #
  # new_dir_name is now the new name of the directory.
  _ = File.basename(archive_dir?)
  result = ToTarXz.new(_){ :be_verbose }.location?.dup
  set_archive_dir log_dir?.dup # Reassign here.
  opne 'Now moving '+sfancy(result)+' to '+sdir(archive_dir?)
  move_file(result, archive_dir?)
  opne 'Finished packaging up the '+orange('RBT Scripts')+
       ' from '
  e sdir("   #{rbt_base_dir}")+' into '
  target = archive_dir?+File.basename(result).dup
  target << '.tar.xz' unless target.end_with?('.tar.xz')
  edir "   #{target}"
end

#set_archive_dir(i = ARCHIVES_BASE_DIRECTORY) ⇒ Object

#

set_archive_dir

#


57
58
59
60
61
62
# File 'lib/rbt/utility_scripts/package_rbt_scripts.rb', line 57

def set_archive_dir(
    i = ARCHIVES_BASE_DIRECTORY
  )
  i = ARCHIVES_BASE_DIRECTORY if i.nil?
  @archive_dir = i
end