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.

Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -5
  3. data/doc/README.gen +1 -1
  4. data/doc/todo/numbered_todo_entries_for_the_RBT_project.md +2 -14
  5. data/lib/rbt/actions/individual_actions/cookbooks/sanitize_cookbook/sanitize_cookbook.rb +6 -5
  6. data/lib/rbt/actions/individual_actions/create_app_dir_skeleton/create_app_dir_skeleton.rb +1 -1
  7. data/lib/rbt/actions/individual_actions/installer/aggregate.rb +0 -111
  8. data/lib/rbt/actions/individual_actions/software_manager/actions.rb +61 -0
  9. data/lib/rbt/actions/individual_actions/software_manager/extract_related_code.rb +26 -9
  10. data/lib/rbt/actions/individual_actions/software_manager/logic_related_code.rb +59 -77
  11. data/lib/rbt/actions/individual_actions/software_manager/menu.rb +92 -94
  12. data/lib/rbt/actions/individual_actions/software_manager/misc.rb +1427 -1644
  13. data/lib/rbt/actions/individual_actions/software_manager/query_related_methods.rb +158 -22
  14. data/lib/rbt/actions/individual_actions/software_manager/reset.rb +7 -7
  15. data/lib/rbt/actions/individual_actions/software_manager/setters.rb +278 -163
  16. data/lib/rbt/version/version.rb +1 -1
  17. data/lib/rbt/yaml/cookbooks/exiv2.yml +1 -0
  18. data/lib/rbt/yaml/cookbooks/glibnetworking.yml +1 -0
  19. data/lib/rbt/yaml/cookbooks/kitinerary.yml +5 -0
  20. data/lib/rbt/yaml/cookbooks/ncurses.yml +1 -2
  21. data/lib/rbt/yaml/cookbooks/wordpress.yml +4 -2
  22. data/lib/rbt/yaml/expanded_cookbooks/cbindgen.yml +16 -13
  23. data/lib/rbt/yaml/expanded_cookbooks/erlang.yml +1 -1
  24. data/lib/rbt/yaml/expanded_cookbooks/exiv2.yml +1 -1
  25. data/lib/rbt/yaml/expanded_cookbooks/gdkpixbuf.yml +2 -2
  26. data/lib/rbt/yaml/expanded_cookbooks/kitinerary.yml +3 -3
  27. data/lib/rbt/yaml/expanded_cookbooks/libmpeg3.yml +2 -1
  28. data/lib/rbt/yaml/expanded_cookbooks/nuvie.yml +1 -1
  29. data/lib/rbt/yaml/expanded_cookbooks/qt.yml +5 -5
  30. data/lib/rbt/yaml/expanded_cookbooks/sendmail.yml +14 -7
  31. data/lib/rbt/yaml/expanded_cookbooks/sharutils.yml +1 -1
  32. data/lib/rbt/yaml/expanded_cookbooks/squashfstools.yml +3 -3
  33. data/lib/rbt/yaml/expanded_cookbooks/wordpress.yml +10 -10
  34. data/lib/rbt/yaml/programs_version/available_programs_versions.md +3 -3
  35. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 35235690bbf8442083fabf545236ba3295c12ea5c52c325c82a3807f8df67e51
4
- data.tar.gz: e3e598dc3eb898558155b26abd0ce45b2a424828f1da84d8e706559ce70ac15f
3
+ metadata.gz: 650fe74758b23b34d56386d771c4f553acd3be566ca41532fd6406129fff3610
4
+ data.tar.gz: ee17ad81a638b5f0d5dfdf5fb497fb14fb510c7c2b1588c03896ce39f580e07b
5
5
  SHA512:
6
- metadata.gz: c26486d7c7b9798ec1b24abc4833839e3ea77cf252702374ebd1730525037e9713ff11e38d5b18f672939ba7205dda09c1265f05c096d74a2a503462034670b9
7
- data.tar.gz: 11c6044995974aab323c5243c3f8d42e1bb28439baa0520d866b23eb4214e49ed822ba84faf4834e8c281f56f1fb805b93323d9e0872114ae3794f85496976be
6
+ metadata.gz: c371c9a20d8573e217b3a03095d5ea58b1b3c527c27f68412592f73e8755656318ed03235dc6c89eac0dd9834b806eb42d1815c3e60a6a6122ae321e8e3552d2
7
+ data.tar.gz: 92850591bc2a12399f7c9fd5c6937e37524e95ab9ee2b4d4f8084c1e31f205ce4dff8837b5a610328508160407774fb1b2e36bbfd1fff24aa67fb6c8bebb3f3e
data/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  [![forthebadge](https://forthebadge.com/images/badges/made-with-ruby.svg)](https://www.ruby-lang.org/en/)
6
6
  [![Gem Version](https://badge.fury.io/rb/rbt.svg)](https://badge.fury.io/rb/rbt)
7
7
 
8
- This gem was <b>last updated</b> on the <span style="color: darkblue; font-weight: bold">03.04.2024</span> (dd.mm.yyyy notation), at <span style="color: steelblue; font-weight: bold">00:37:58</span> o'clock.
8
+ This gem was <b>last updated</b> on the <span style="color: darkblue; font-weight: bold">03.04.2024</span> (dd.mm.yyyy notation), at <span style="color: steelblue; font-weight: bold">08:43:26</span> o'clock.
9
9
 
10
10
  ## Introduction to the "Ruby Build Tools" Project (RBT)
11
11
 
@@ -110,7 +110,7 @@ long run.
110
110
 
111
111
  Let us now briefly explain how RBT approaches compiling from a source
112
112
  archive: after all that is <b>the main goal for the</b>
113
- <span style="color: darkgreen; font-weight: bold">RBT project?</span></b>.
113
+ <span style="color: darkgreen; font-weight: bold">RBT project</span></b>.
114
114
 
115
115
  Let's take any random remote URL to some tarball archive,
116
116
  such as the <b>.tar.xz file</b> for <b>evince</b> that may
@@ -11141,7 +11141,7 @@ caribou 0.4.20 16 February 2016 http://ftp.gnome.org/pub
11141
11141
  castlecombat 0.8.1 28 July 2016 http://prdownloads.sourceforge.net/castle-combat/castle-combat-0.8.1.tar.gz
11142
11142
  caxlsx 3.2.0 27 May 2022 https://rubygems.org/downloads/caxlsx-3.2.0.gem
11143
11143
  cbase 1.3.7 28 September 2019 http://www.hyperrealm.com/packages/cbase-1.3.7.tar.gz
11144
- cbindgen 0.24.3 11 September 2022 https://github.com/eqrion/cbindgen/archive/v0.24.3/cbindgen-0.24.3.tar.gz
11144
+ cbindgen 0.26.0 11 September 2022 https://github.com/mozilla/cbindgen/archive/refs/tags/0.26.0.tar.gz
11145
11145
  ccache 4.8.2 14 June 2023 https://github.com/ccache/ccache/releases/download/v4.8.2/ccache-4.8.2.tar.gz
11146
11146
  ccaudio2 2.2.0 19 March 2019 http://ftp.gnu.org/pub/gnu/ccaudio/ccaudio2-2.2.0.tar.gz
11147
11147
  ccmath 2.2.1 01 June 2014 http://www.ibiblio.org/pub/Linux/libs/ccmath-2.2.1.tar.gz
@@ -13697,7 +13697,7 @@ qqc2desktopstyle 5.115.0 20 February 2024 https://download.kde.org
13697
13697
  qqwing 1.3.4 09 August 2015 https://github.com/stephenostermiller/qqwing/archive/v1.3.4.zip
13698
13698
  qrencode 4.1.1 22 December 2021 https://fukuchi.org/works/qrencode/qrencode-4.1.1.tar.bz2
13699
13699
  qsynth 0.5.5 16 March 2019 https://downloads.sourceforge.net/qsynth/qsynth-0.5.5.tar.gz
13700
- qt 6.6.3 25 March 2024 https://download.qt-project.org/official_releases/qt/6.5/6.5.0/single/qt-everywhere-6.5.0.tar.xz
13700
+ qt 6.6.3 02 April 2024 https://download.qt-project.org/official_releases/qt/6.7/6.7.0/single/qt-everywhere-6.7.0.tar.xz
13701
13701
  qterminal 1.1.0 30 August 2022 https://github.com/lxqt/qterminal/releases/download/1.1.0/qterminal-1.1.0.tar.xz
13702
13702
  qtermwidget 1.4.0 02 February 2024 https://github.com/lxqt/qtermwidget/releases/download/1.4.0/qtermwidget-1.4.0.tar.xz
13703
13703
  qtgstreamer 1.2.0 10 July 2015 http://gstreamer.freedesktop.org/src/qt-gstreamer/qt-gstreamer-1.2.0.tar.xz
@@ -14334,7 +14334,7 @@ wlassistant 0.5.7 01 May 2014 http://wlassistant.sourcefor
14334
14334
  wmctrl 1.07 01 May 2014 http://www.sweb.cz/tripie/utils/wmctrl/dist/wmctrl-1.07.tar.gz
14335
14335
  wmii 3 01 May 2014 http://www.suckless.org/snaps/wmii-20071003.tgz
14336
14336
  woff2 1.0.2 22 December 2021 https://github.com/google/woff2/archive/v1.0.2/woff2-1.0.2.tar.gz
14337
- wordpress 5.9.1 23 February 2022 https://wordpress.org/wordpress-5.9.1.tar.gz
14337
+ wordpress 6.5 03 April 2024 https://wordpress.org/wordpress-6.5.tar.gz
14338
14338
  worker 4.7.0 10 March 2021 http://www.boomerangsworld.de/cms/worker/downloads/worker-4.7.0.tar.bz2
14339
14339
  wpasupplicant 2.10 11 October 2022 https://w1.fi/releases/wpa_supplicant-2.10.tar.gz
14340
14340
  wpebackendfdo 1.14.2 03 April 2023 https://wpewebkit.org/releases/wpebackend-fdo-1.14.2.tar.xz
data/doc/README.gen CHANGED
@@ -106,7 +106,7 @@ long run.
106
106
 
107
107
  Let us now briefly explain how RBT approaches compiling from a source
108
108
  archive: after all that is <b>the main goal for the</b>
109
- <span style="color: darkgreen; font-weight: bold">RBT project?</span></b>.
109
+ <span style="color: darkgreen; font-weight: bold">RBT project</span></b>.
110
110
 
111
111
  Let's take any random remote URL to some tarball archive,
112
112
  such as the <b>.tar.xz file</b> for <b>evince</b> that may
@@ -1,18 +1,6 @@
1
1
  --------------------------------------------------------------------------------
2
- (1) Expand RBT.action() until we have listed ALL actions there.
3
- Evaluate at some point in the future when this will be
4
- achieved.
5
- ^^^ continue here. All bin/ files are now executable, since as
6
- of September 2022. But we probably should add even more
7
- actions here, in particular several troublemaking
8
- steps within RBT::Compile.
9
- Then also look at menu.rb of class RBT::Compile to see which
10
- individual tasks can be made "actionable" still.
11
- Once that is all done, perhaps in 2023 or so,
12
- remove this todo entry here.
13
- Ok, bin/ is now complete, we must go through menu() still
14
- and see.
15
- ^^^ we are doing this RIGHT NOW.
2
+ (1) always work on an Array for compiling something in RBT.
3
+ ^^^
16
4
  --------------------------------------------------------------------------------
17
5
  (2) → Handle these commandline instructions, which originated from the old
18
6
  class RBT::Commandline but are not yet completely ported:
@@ -4260,11 +4260,6 @@ class SanitizeCookbook < RBT::Action # === RBT::Action::Cookbooks::SanitizeCookb
4260
4260
  when /^program(-|_| )?name(-|_| )?and(-|_| )?program(-|_| )?version\??$/i
4261
4261
  program_name_and_program_version?
4262
4262
  # ======================================================================= #
4263
- # === extract_to?
4264
- # ======================================================================= #
4265
- when /^extract(-|_| )?to\??$/i
4266
- extract_to?
4267
- # ======================================================================= #
4268
4263
  # === "Build system to be used:"
4269
4264
  # ======================================================================= #
4270
4265
  when /^Build(-|_| )?system(-|_| )?to(-|_| )?be(-|_| )?used$/i
@@ -4280,6 +4275,12 @@ class SanitizeCookbook < RBT::Action # === RBT::Action::Cookbooks::SanitizeCookb
4280
4275
  when /^URL(-|_| )?to(-|_| )?the(-|_| )?source(-|_| )?archive$/i
4281
4276
  url_to_the_source_archive?
4282
4277
  # ======================================================================= #
4278
+ # === extract_to?
4279
+ # ======================================================================= #
4280
+ when /^extract(-|_| )?to\??$/i,
4281
+ /^extract(-|_| )?to(-|_| )?which(-|_| )?directory\??$/i
4282
+ extract_to?
4283
+ # ======================================================================= #
4283
4284
  # === "Keep the archive extracted"
4284
4285
  # ======================================================================= #
4285
4286
  when /^Keep(-|_| )?the(-|_| )?archive(-|_| )?extracted$/i
@@ -494,7 +494,7 @@ class CreateAppDirSkeleton < RBT::Action # === RBT::Action::CreateAppDirSkeleton
494
494
  def notify_the_user_what_will_be_done
495
495
  opnn; ee sfancy(return_program_name_and_program_version.downcase)
496
496
  if be_verbose?
497
- ee " #{rev}(#{simp('Program name')}: #{sfancy(program_name?)}"\
497
+ ee " #{rev}(#{simp('Program name')}#{rev}: #{sfancy(program_name?)}"\
498
498
  "#{rev} and #{simp('Program Version')}#{rev}: "\
499
499
  "#{sfancy(program_version?)}#{rev})"
500
500
  end
@@ -1,116 +1,5 @@
1
1
  class OBSOLETE
2
2
 
3
- # ========================================================================= #
4
- # === invoke_extracter
5
- #
6
- # Delegate towards class Extracter next.
7
- # ========================================================================= #
8
- def invoke_extracter(
9
- i = program_path?,
10
- extract_to_this_directory = extract_where_to?,
11
- keep_the_old_directory_if_it_exists = false
12
- )
13
-
14
- case extract_to_this_directory
15
- when nil
16
- extract_to_this_directory = will_be_extracted_towards?
17
- @internal_hash[:extract_to_this_directory_as_specified_by_the_user] =
18
- extract_to_this_directory
19
- set_extract_to_this_directory(extract_to_this_directory)
20
- end
21
- yielded = nil
22
- case keep_the_old_directory_if_it_exists # case tag.
23
- # ======================================================================= #
24
- # === :do_keep_the_old_directory_if_it_exists,
25
- # ======================================================================= #
26
- when :do_keep_the_old_directory_if_it_exists,
27
- :keep_the_old_directory_if_it_exists
28
- keep_the_old_directory_if_it_exists = true
29
- end
30
- # ======================================================================= #
31
- # === Handle blocks given to this method next:
32
- # ======================================================================= #
33
- if block_given?
34
- yielded = yield
35
- case yielded
36
- # ===================================================================== #
37
- # === :keep_the_old_directory_if_it_exists
38
- # ===================================================================== #
39
- when :keep_the_old_directory_if_it_exists
40
- keep_the_old_directory_if_it_exists = true
41
- else
42
- # =================================================================== #
43
- # === Handle Hashes next
44
- # =================================================================== #
45
- if yielded.is_a? Hash
46
- # ================================================================= #
47
- # === :append_to_the_commandline
48
- # ================================================================= #
49
- if yielded.has_key? :append_to_the_commandline
50
- append_to_the_commandline << yielded[:append_to_the_commandline]
51
- end
52
- end
53
- end
54
- end
55
- unless skip_extracting?
56
- case extract_to_this_directory
57
- # ===================================================================== #
58
- # === :default
59
- # ===================================================================== #
60
- when :default
61
- extract_to_this_directory = will_be_extracted_towards?
62
- end
63
- # ===================================================================== #
64
- # Remove the extracted directory if it exists next. This will,
65
- # however had, NOT be done if we extract to another target
66
- # directory, such as when issuing a command like
67
- # "ry htop --extract-to=/opt/test".
68
- # ===================================================================== #
69
- # possibly_existing_old_extracted_archive = cookbooks_dataset_extracted_towards?
70
- # unless possibly_existing_old_extracted_archive.include? extract_to?
71
- # =================================================================== #
72
- # In this case we reasonably assume that the user has NOT given a
73
- # --extract-to value.
74
- #
75
- # Keep in mind that the user may specify another temp-directory,
76
- # which explains the check for user-input.
77
- # =================================================================== #
78
- if cookbooks_for? and !keep_the_old_directory_if_it_exists
79
- _ = will_be_extracted_towards?
80
- if @internal_hash.has_key?(:extract_to_this_directory_as_specified_by_the_user) and
81
- @internal_hash[:extract_to_this_directory_as_specified_by_the_user]
82
- _ = @internal_hash[:extract_to_this_directory_as_specified_by_the_user]
83
- end
84
- unless (_.squeeze('/').strip == '/') # Prevent erroneous removal of /.
85
- if File.directory?(_)
86
- _ = _.dup if _.frozen?
87
- if (_ == rbt_log_dir?)
88
- opnerror 'A problem was encountered, but this should never happen.'
89
- opnerror 'RBT::Action::SoftwareManager tried to remove the base directory at '+
90
- sdir(rbt_log_dir?)
91
- opnerror 'which was the same as the passed directory `'+sdir(_)+'`.'
92
- e
93
- opnerror 'Something must be wrong in the information-chain, such as a'
94
- opnerror 'faulty .yml file. Please review the information shown above'
95
- opnerror 'and make sure that the used .yml file is correct.'
96
- e
97
- exit_program { :exit_no_matter_what }
98
- else
99
- _.strip!
100
- _.squeeze!('/')
101
- # =========================================================== #
102
- # Notify the user that we will remove the old directory next.
103
- # =========================================================== #
104
- notify_the_user_that_this_old_directory_will_be_removed_next(_)
105
- remove_directory(_)
106
- end
107
- end
108
- end
109
- end
110
- # end
111
- end
112
- end
113
-
114
3
  # ========================================================================= #
115
4
  # === run_system_or_ioparser_command (iopen tag)
116
5
  #
@@ -12,6 +12,67 @@ class Action
12
12
 
13
13
  class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
14
14
 
15
+ # ========================================================================== #
16
+ # === query_configuration_options
17
+ #
18
+ # This method will query the configuration option of a given program.
19
+ #
20
+ # Invocation example:
21
+ #
22
+ # ry glibc qco
23
+ #
24
+ # ========================================================================== #
25
+ def query_configuration_options(
26
+ i = compile_this_program?
27
+ )
28
+ action(:show_configuration_options, i)
29
+ exit_program
30
+ end
31
+
32
+ # ========================================================================== #
33
+ # === check_for_available_versions
34
+ #
35
+ # Use this method if you wish to check for available program versions.
36
+ #
37
+ # Usage examples:
38
+ #
39
+ # ry bluefish available_versions
40
+ # ry gcc available_versions
41
+ #
42
+ # ========================================================================== #
43
+ def check_for_available_versions(
44
+ for_this_program = program?
45
+ )
46
+ action(:CheckForAvailableVersions, for_this_program) { :be_verbose }
47
+ end
48
+
49
+ # ========================================================================== #
50
+ # === search_for_tag (search tag)
51
+ #
52
+ # Use this to search for a tag.
53
+ #
54
+ # Usage examples:
55
+ #
56
+ # ry htop --tags pdf
57
+ # ry htop --tags term
58
+ #
59
+ # ========================================================================== #
60
+ def search_for_tag(
61
+ this_tag,
62
+ shall_we_exit = true
63
+ )
64
+ results = action(:SearchForTags, this_tag)
65
+ exit_program if shall_we_exit
66
+ return results
67
+ end
68
+
69
+ # ========================================================================== #
70
+ # === batch_validate_the_cookbooks
71
+ # ========================================================================== #
72
+ def batch_validate_the_cookbooks
73
+ action(:BatchValidateTheCookbookRecipes)
74
+ end
75
+
15
76
  # ========================================================================= #
16
77
  # === action_generate_a_big_shell_script
17
78
  # ========================================================================= #
@@ -24,10 +24,27 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
24
24
  def extract_what_to(
25
25
  local_path = cookbook_dataset_program_path?,
26
26
  extract_to_this_directory = extract_where_to?,
27
- shall_we_report_to_the_user_if_the_archive_does_not_exist = true # This should come last.
27
+ shall_we_report_to_the_user_if_the_archive_does_not_exist = true, # This should come last.
28
+ &block
28
29
  )
29
30
  append_to_the_commandline = ''.dup
30
31
  # ======================================================================== #
32
+ # === Handle blocks next
33
+ # ======================================================================== #
34
+ if block_given?
35
+ # ====================================================================== #
36
+ # === Handle Hashes next
37
+ # ====================================================================== #
38
+ if yielded.is_a? Hash
39
+ # ==================================================================== #
40
+ # === :append_to_the_commandline
41
+ # ==================================================================== #
42
+ if yielded.has_key? :append_to_the_commandline
43
+ append_to_the_commandline << yielded[:append_to_the_commandline]
44
+ end
45
+ end
46
+ end
47
+ # ======================================================================== #
31
48
  # === Handle Hashes next
32
49
  # ======================================================================== #
33
50
  if local_path.is_a? Hash
@@ -41,9 +58,9 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
41
58
  local_path = local_path.to_s # Past this point we need a String.
42
59
  if local_path and File.exist?(local_path)
43
60
  if run_simulation?
44
- # =================================================================== #
61
+ # ====================================================================== #
45
62
  # Here we are in simulation-mode:
46
- # =================================================================== #
63
+ # ====================================================================== #
47
64
  orev "We would normally extract `#{sfile(local_path)}#{rev}` "\
48
65
  "to #{sdir(extract_to_this_directory)} #{rev}next,"
49
66
  orev 'but since we run in simulation-mode, we will not '\
@@ -53,12 +70,12 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
53
70
  _ << " #{rev}(but do so silently)" unless show_output_from_the_extracter_class?
54
71
  _ << '.'
55
72
  orev _
56
- # =================================================================== #
73
+ # ====================================================================== #
57
74
  # Extracting the archive next, via an action - this will be handled
58
75
  # by class Extracter. The second argument is a Hash which will
59
76
  # typically carry a lot of information. This is necessary because
60
77
  # we want to "fine-tune" Extracter at this step.
61
- # =================================================================== #
78
+ # ====================================================================== #
62
79
  action(:extract_what_to, local_path,
63
80
  {
64
81
  extract_to: extract_to_this_directory, # ← Extract to this directory.
@@ -71,10 +88,10 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
71
88
  append_this_to_the_commandline: append_to_the_commandline,
72
89
  }
73
90
  ) { :be_quiet }
74
- # =================================================================== #
91
+ # ====================================================================== #
75
92
  # Next we will exit if the user told us that he/she is only
76
93
  # interested in extracting the program.
77
- # =================================================================== #
94
+ # ====================================================================== #
78
95
  exit_program if extract_only?
79
96
  return extract_to_this_directory # And return it too, in case downstream code needs it.
80
97
  end
@@ -83,9 +100,9 @@ class SoftwareManager < RBT::Action # === RBT::Action::SoftwareManager
83
100
  opne swarn('No file could be found at `')+
84
101
  sfile(local_path)+swarn('` - thus,')
85
102
  opne swarn('we can not extract anything.')
86
- # =================================================================== #
103
+ # ====================================================================== #
87
104
  # Also set a specific error, so that we won't continue.
88
- # =================================================================== #
105
+ # ====================================================================== #
89
106
  # error_is 'We can not continue. Has the archive '\
90
107
  # 'been properly extracted?'
91
108
  end