Class: RBT::Cookbooks::Convert_PKGBUILD
- Inherits:
-
Base
- Object
- LeanPrototype
- Base
- RBT::Cookbooks::Convert_PKGBUILD
- Defined in:
- lib/rbt/utility_scripts/convert_pkgbuild.rb
Constant Summary collapse
- DEFAULT_FILE =
#
DEFAULT_FILE
#
"#{HOME_DIRECTORY_FOR_USER_X}DATA/PC/OS/LINUX/DISTRIBUTIONEN/ARCH/example.pkgbuild"
- HASH_MAP_PKGBUILD_VARIABLE_TO_COOKBOOK_ENTRY =
#
HASH_MAP_PKGBUILD_VARIABLE_TO_COOKBOOK_ENTRY
Use a mapping, to map from PKGBUILD variables to our specific Cookbook entries. This may have to be updated every now and then.
#
{ 'makedepends' => 'required_deps_on', 'pkgver' => 'program_version', # The version of the package. 'url' => 'url1', 'license' => 'license', 'pkgname' => 'program_name', # This is program_name. 'pkgdesc' => 'description', 'depends' => 'required_deps_on', 'builddepends' => 'build_deps_on', 'optdepends' => 'recommended_deps_on' }
- H =
Easier alias.
HASH_MAP_PKGBUILD_VARIABLE_TO_COOKBOOK_ENTRY
- ARRAY_ENTRIES_WITHOUT_CORRESPONDING_VERSIONS =
#
The following entries have no corresponding version.
epoch is an integer value, specific to Arch Linux, representing what ‘lifetime’ to compare version numbers against. This value allows overrides of the normal version comparison rules for packages that have inconsistent version numbering, require a downgrade, change numbering schemes, etc. By default, packages are assumed to have an epoch value of 0. Do not use this unless you know what you are doing.
-
arch is an array of architectures that the PKGBUILD file is known
to build and work on. Currently, it should contain i686 or x86_64 or any for architecture-independent packages.
#
-
%w( pkgrel epoch )
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
-
#hash? ⇒ Boolean
(also: #hash)
# === hash? ========================================================================= #.
-
#initialize(this_pkgbuild = DEFAULT_FILE, run_already = true) ⇒ Convert_PKGBUILD
constructor
# === initialize ========================================================================= #.
-
#process_data ⇒ Object
# === process_data.
-
#read_data_from(i = DEFAULT_FILE) ⇒ Object
# === read_data_from.
-
#reset ⇒ Object
# === reset ========================================================================= #.
-
#run ⇒ Object
# === run ========================================================================= #.
-
#split(i) ⇒ Object
# === split.
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, #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(this_pkgbuild = DEFAULT_FILE, run_already = true) ⇒ Convert_PKGBUILD
#
initialize
#
73 74 75 76 77 78 79 80 |
# File 'lib/rbt/utility_scripts/convert_pkgbuild.rb', line 73 def initialize( this_pkgbuild = DEFAULT_FILE, run_already = true ) reset read_data_from(this_pkgbuild) run if run_already end |
Instance Method Details
#hash? ⇒ Boolean Also known as: hash
#
hash?
#
142 143 144 |
# File 'lib/rbt/utility_scripts/convert_pkgbuild.rb', line 142 def hash? @hash end |
#process_data ⇒ Object
#
process_data
We work through @data here.
#
110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 |
# File 'lib/rbt/utility_scripts/convert_pkgbuild.rb', line 110 def process_data @data.each { |line| case line when /^(pkgname)/, /^(pkgver)/, /^(pkgdesc)/, /^(url)/,/^(license)/,/^(depends)/, /^(makedepends)/ @hash[ H[$1] ] = split(line) end } _ = action(:SanitizeCookbook, @hash['program_name']) { :fast } _.clear(false) _.merge(@hash) _.set_archive_type('.tar.gz') # hardcoded for now. cliner e e tomato("DEBUG: STILL NOT FINISHED. SORRY.") e cliner end |
#read_data_from(i = DEFAULT_FILE) ⇒ Object
#
read_data_from
Sets @data variable.
#
101 102 103 |
# File 'lib/rbt/utility_scripts/convert_pkgbuild.rb', line 101 def read_data_from(i = DEFAULT_FILE) @data = File.readlines(i).map(&:chomp) end |
#reset ⇒ Object
#
reset
#
85 86 87 88 89 90 91 92 93 94 |
# File 'lib/rbt/utility_scripts/convert_pkgbuild.rb', line 85 def reset # ======================================================================= # # === @query # ======================================================================= # @query = nil # ======================================================================= # # === @hash # ======================================================================= # @hash = {} end |
#run ⇒ Object
#
run
#
149 150 151 |
# File 'lib/rbt/utility_scripts/convert_pkgbuild.rb', line 149 def run process_data end |
#split(i) ⇒ Object
#
split
Easier to use this method to split at = characters found.
#
135 136 137 |
# File 'lib/rbt/utility_scripts/convert_pkgbuild.rb', line 135 def split(i) i.split('=')[1] end |