roebe 0.5.191 → 0.6.3
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of roebe might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/README.md +23 -26
- data/bin/create_my_directories +2 -2
- data/bin/{ruby_dhcpcd → dhcpcd_wrapper} +1 -1
- data/doc/README.gen +12 -0
- data/doc/core/array.md +24 -23
- data/doc/core/gem_and_gemspec.md +12 -11
- data/doc/core/misc.md +23 -20
- data/doc/statistics/statistics.md +1 -0
- data/lib/roebe/actions/actions.rb +68 -0
- data/lib/roebe/base/misc.rb +14 -1
- data/lib/roebe/browser/output_url_then_open_in_browser.rb +8 -6
- data/lib/roebe/classes/alltagsgeschichte.rb +1 -1
- data/lib/roebe/classes/at.rb +2 -2
- data/lib/roebe/classes/auto_rename_file_based_on_its_creation_date.rb +24 -12
- data/lib/roebe/classes/books/books.rb +159 -117
- data/lib/roebe/classes/books/menu.rb +8 -7
- data/lib/roebe/classes/books/sanitize_this_book_path/sanitize_this_book_path.rb +0 -1
- data/lib/roebe/classes/check_yaml.rb +15 -11
- data/lib/roebe/classes/compile_kernel.rb +3 -1
- data/lib/roebe/classes/copy_kernel_config.rb +5 -3
- data/lib/roebe/classes/create_desktop_file.rb +1 -1
- data/lib/roebe/classes/create_my_directories.rb +12 -10
- data/lib/roebe/classes/dhcpcd/{dhcpcd.rb → dhcpcd_wrapper.rb} +137 -95
- data/lib/roebe/classes/dhcpcd/kill_dhcpcd.rb +2 -2
- data/lib/roebe/classes/do_install.rb +7 -6
- data/lib/roebe/classes/done.rb +1 -1
- data/lib/roebe/classes/downcase_extension.rb +4 -4
- data/lib/roebe/classes/email.rb +44 -40
- data/lib/roebe/classes/enable.rb +1 -1
- data/lib/roebe/classes/github.rb +1 -1
- data/lib/roebe/classes/kde/install_this_konsole_theme.rb +1 -1
- data/lib/roebe/classes/make_gem.rb +29 -27
- data/lib/roebe/classes/readme_generator/readme_generator.rb +597 -1
- data/lib/roebe/classes/report_how_many_files_are_in_this_directory.rb +83 -0
- data/lib/roebe/classes/set_background.rb +14 -0
- data/lib/roebe/classes/show_ten_aliases.rb +15 -3
- data/lib/roebe/classes/tales_from_the_crypt.rb +1 -1
- data/lib/roebe/classes/update.rb +2 -1
- data/lib/roebe/constants/array_install_these_gem_projects.rb +1 -1
- data/lib/roebe/constants/roebe.rb +2 -0
- data/lib/roebe/custom_methods/module.rb +16 -0
- data/lib/roebe/fonts/fonts.rb +39 -0
- data/lib/roebe/hello_world/hello_world.rb +0 -0
- data/lib/roebe/math/log10.rb +3 -3
- data/lib/roebe/math/the_collatz_problem.rb +104 -0
- data/lib/roebe/shell/shell/shell.rb +6 -6
- data/lib/roebe/shell_scripts/lfs/002_gcc_1.sh +13 -1
- data/lib/roebe/shell_scripts/lfs/003_linux_1.sh +1 -0
- data/lib/roebe/shell_scripts/lfs/007_ncurses_2.sh +4 -1
- data/lib/roebe/shell_scripts/lfs/020_xz_2.sh +5 -5
- data/lib/roebe/shell_scripts/lfs/021_binutils_2.sh +1 -0
- data/lib/roebe/shell_scripts/lfs/022_gcc_2.sh +12 -1
- data/lib/roebe/shell_scripts/lfs/025_ruby_2.sh +13 -0
- data/lib/roebe/shell_scripts/lfs/lfs_build_variables.sh +48 -8
- data/lib/roebe/toplevel_methods/to_mp3.rb +1 -1
- data/lib/roebe/version/version.rb +2 -2
- data/lib/roebe/wasm/README.md +7 -0
- data/lib/roebe/wasm/enable_simple_puts_output.rb +9 -0
- data/lib/roebe/wasm/wasm_examples.html +43 -0
- data/lib/roebe/www/RNA/RNA.cgi +42 -1
- data/lib/roebe/www/algorithms/algorithms.rb +22 -0
- data/lib/roebe/www/analytical_chemistry/content.md +3 -0
- data/lib/roebe/www/animals/animals.cgi +25 -0
- data/lib/roebe/www/bioanalytik/bioanalytik.cgi +90 -0
- data/lib/roebe/www/cellbiology/cellbiology.rb +16 -2
- data/lib/roebe/www/chemistry/S/303/244uren_Basen_und_der_pH_Wert/S/303/244uren_Basen_und_der_pH_Wert.cgi +242 -0
- data/lib/roebe/www/chemistry/chemistry.rb +10 -258
- data/lib/roebe/www/chemistry/css_rules.css +67 -0
- data/lib/roebe/www/chemistry/die_quantenzahlen/die_quantenzahlen.cgi +123 -0
- data/lib/roebe/www/chemistry/funktionelle_gruppen_in_der_chemie/funktionelle_gruppen_in_der_chemie.cgi +52 -0
- data/lib/roebe/www/erste_hilfe/erste_hilfe.cgi +212 -62
- data/lib/roebe/www/fonts/fonts.cgi +245 -0
- data/lib/roebe/www/hardware/computersysteme/computersysteme.rb +117 -102
- data/lib/roebe/www/hardware/netzteile/netzteile.cgi +94 -0
- data/lib/roebe/www/immunology/immunology.rb +101 -7
- data/lib/roebe/www/linux/antiX/antiX.rb +7 -4
- data/lib/roebe/www/linux/linux.rb +9 -11
- data/lib/roebe/www/linux/linuxmint/linuxmint.rb +33 -0
- data/lib/roebe/www/linux/slackware/slackware.rb +136 -27
- data/lib/roebe/www/lyrics/lyrics.rb +1 -1
- data/lib/roebe/www/microbiology/microbiology.rb +17 -2
- data/lib/roebe/www/mikrobielle_physiologie/mikrobielle_physiologie.cgi +1086 -2
- data/lib/roebe/www/mitochondria/mitochondria.cgi +16 -2
- data/lib/roebe/www/module_www.rb +2 -3
- data/lib/roebe/www/neurobiology/neurobiology.rb +20 -3
- data/lib/roebe/www/pdf/pdf.rb +13 -0
- data/lib/roebe/www/physics/physics.rb +20 -4
- data/lib/roebe/www/physiology/physiology.rb +5 -1
- data/lib/roebe/www/play_this_video_file/play_this_video_file.cgi +1 -1
- data/lib/roebe/www/programming_advice/programming_advice.cgi +36 -0
- data/lib/roebe/www/programming_advice/programming_advice.md +349 -0
- data/lib/roebe/www/psychologie/psychologie.rb +7 -1
- data/lib/roebe/www/science/science.rb +6 -0
- data/lib/roebe/www/sex_and_reproduction/sex_and_reproduction.cgi +18 -2
- data/lib/roebe/www/structural_biology/structural_biology.cgi +16 -0
- data/lib/roebe/www/the_cell_cycle/the_cell_cycle.cgi +27 -0
- data/lib/roebe/www/video/video.rb +1 -1
- data/lib/roebe/www/virology/virology.rb +12 -1
- data/lib/roebe/www/war_in_Ukraine_2022/war_in_Ukraine_2022.rb +26 -8
- data/lib/roebe/www/xorg/xorg.rb +3 -202
- data/lib/roebe/yaml/books/favourite_books.yml +6 -8
- data/lib/roebe/yaml/directory_structure.yml +1 -0
- metadata +26 -15
- data/lib/roebe/classes/readme_generator/constants.rb +0 -21
- data/lib/roebe/classes/readme_generator/initialize.rb +0 -38
- data/lib/roebe/classes/readme_generator/misc.rb +0 -548
- data/lib/roebe/classes/readme_generator/reset.rb +0 -28
- data/lib/roebe/classes/readme_generator/run.rb +0 -20
- data/lib/roebe/shell_scripts/lfs/lfs_variables.sh +0 -31
- data/lib/roebe/www/mikrobielle_physiologie/mikrobielle_physiologie.rb +0 -1055
- data/lib/roebe/www/programming_advice/programming_advice.yml +0 -31
@@ -0,0 +1,83 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# === Roebe::ReportHowManyFilesAreInThisDirectory
|
6
|
+
#
|
7
|
+
# Usage example:
|
8
|
+
#
|
9
|
+
# Roebe::ReportHowManyFilesAreInThisDirectory.new
|
10
|
+
#
|
11
|
+
# =========================================================================== #
|
12
|
+
# require 'classes/.rb'
|
13
|
+
# =========================================================================== #
|
14
|
+
require 'roebe/base/base.rb'
|
15
|
+
|
16
|
+
module Roebe
|
17
|
+
|
18
|
+
class ReportHowManyFilesAreInThisDirectory < Roebe::Base # === Roebe::ReportHowManyFilesAreInThisDirectory
|
19
|
+
|
20
|
+
# ========================================================================= #
|
21
|
+
# === initialize
|
22
|
+
# ========================================================================= #
|
23
|
+
def initialize(
|
24
|
+
i = ARGV,
|
25
|
+
run_already = true
|
26
|
+
)
|
27
|
+
reset
|
28
|
+
set_commandline_arguments(i)
|
29
|
+
run if run_already
|
30
|
+
end
|
31
|
+
|
32
|
+
# ========================================================================= #
|
33
|
+
# === reset (reset tag)
|
34
|
+
# ========================================================================= #
|
35
|
+
def reset
|
36
|
+
super()
|
37
|
+
infer_the_namespace
|
38
|
+
# ======================================================================= #
|
39
|
+
# === @hash_storing_all_directories
|
40
|
+
# ======================================================================= #
|
41
|
+
@hash_storing_all_directories = {}
|
42
|
+
@hash_storing_all_directories.default = 0
|
43
|
+
end
|
44
|
+
|
45
|
+
# ========================================================================= #
|
46
|
+
# === show_help (help tag)
|
47
|
+
# ========================================================================= #
|
48
|
+
def show_help
|
49
|
+
e
|
50
|
+
opne 'No help option is available right now.'
|
51
|
+
e
|
52
|
+
end
|
53
|
+
|
54
|
+
# ========================================================================= #
|
55
|
+
# === hash_storing_all_directories?
|
56
|
+
# ========================================================================= #
|
57
|
+
def hash_storing_all_directories?
|
58
|
+
@hash_storing_all_directories
|
59
|
+
end; alias hash? hash_storing_all_directories? # === hash?
|
60
|
+
|
61
|
+
# ========================================================================= #
|
62
|
+
# === run (run tag)
|
63
|
+
# ========================================================================= #
|
64
|
+
def run
|
65
|
+
all_files = Dir['**/**'].select {|entry| is_a_file?(entry) }
|
66
|
+
# ======================================================================= #
|
67
|
+
# Store it in our main Hash:
|
68
|
+
# ======================================================================= #
|
69
|
+
all_files.each {|this_file|
|
70
|
+
subdir = File.dirname(this_file)
|
71
|
+
@hash_storing_all_directories[subdir] += 1
|
72
|
+
}
|
73
|
+
hash?.each_pair {|this_directory, n_files|
|
74
|
+
e sdir((this_directory+':').ljust(70))+
|
75
|
+
' '+steelblue(n_files.to_s.rjust(4))
|
76
|
+
}
|
77
|
+
end
|
78
|
+
|
79
|
+
end; end
|
80
|
+
|
81
|
+
if __FILE__ == $PROGRAM_NAME
|
82
|
+
Roebe::ReportHowManyFilesAreInThisDirectory.new(ARGV)
|
83
|
+
end # ReportHowManyFilesAreInThisDirectory
|
@@ -49,12 +49,26 @@ class SetBackground < Base # === Roebe::SetBackground
|
|
49
49
|
@window_manager_currently_running = nil
|
50
50
|
end
|
51
51
|
|
52
|
+
# ========================================================================= #
|
53
|
+
# === does_wmctrl_exist?
|
54
|
+
# ========================================================================= #
|
55
|
+
def does_wmctrl_exist?
|
56
|
+
result = `wmctrl 2>&1`
|
57
|
+
!result.include? 'wmctrl: command not found'
|
58
|
+
end
|
59
|
+
|
52
60
|
# ========================================================================= #
|
53
61
|
# === use_wmctrl_to_determine_which_window_manager_is_currently_running
|
54
62
|
#
|
55
63
|
# Note that this method depends on the external program called "wmctrl".
|
56
64
|
# ========================================================================= #
|
57
65
|
def use_wmctrl_to_determine_which_window_manager_is_currently_running
|
66
|
+
if is_on_roebe? and !does_wmctrl_exist?
|
67
|
+
require 'rbt'
|
68
|
+
opne 'Compiling wmctrl next, as we are on '\
|
69
|
+
'a roebe-system and wmctrl is missing.'
|
70
|
+
RBT::Installer.new('wmctrl') {{ prefix: '/usr/' }}
|
71
|
+
end
|
58
72
|
result = `wmctrl -m`.split("\n") # Note that result will be an Array.
|
59
73
|
_ = result.first.to_s.dup
|
60
74
|
case _
|
@@ -276,16 +276,28 @@ class ShowTenAliases < Roebe::Base # === Roebe::ShowTenAliases
|
|
276
276
|
end
|
277
277
|
right_arrow = right_arrow?
|
278
278
|
# ======================================================================= #
|
279
|
-
# Iterate over the specified keys next
|
279
|
+
# Iterate over the specified keys next, while expanding the padding
|
280
|
+
# value if the key is higher than the default:
|
280
281
|
# ======================================================================= #
|
282
|
+
use_this_as_ljust_value = @n_ljust_name_of_the_entry
|
283
|
+
highest_value = 0
|
284
|
+
dataset?.each {|key, value|
|
285
|
+
if value.size > highest_value
|
286
|
+
highest_value = value.size
|
287
|
+
end
|
288
|
+
}
|
289
|
+
if highest_value > use_this_as_ljust_value
|
290
|
+
use_this_as_ljust_value = highest_value
|
291
|
+
end
|
281
292
|
dataset?.each_pair {|number, exam_topic|
|
282
293
|
if main_array.include? number
|
283
294
|
# =================================================================== #
|
284
|
-
# Build up the resulting String for display to the user.
|
295
|
+
# Build up the resulting String for display to the user. This will
|
296
|
+
# use the default ljust-value.
|
285
297
|
# =================================================================== #
|
286
298
|
result = " #{lightblue(number.to_s.rjust(2))}"\
|
287
299
|
" #{slategray(right_arrow)} "\
|
288
|
-
"#{slateblue(exam_topic.to_s.ljust(
|
300
|
+
"#{slateblue(exam_topic.to_s.ljust(use_this_as_ljust_value))} ".dup
|
289
301
|
if @show_n_percent_of_the_exam_questions_that_were_already_solved
|
290
302
|
this_topic = exam_topic.to_s.delete('?')
|
291
303
|
if mini_dataset
|
data/lib/roebe/classes/update.rb
CHANGED
@@ -50,7 +50,8 @@ class Update < Base # === Roebe::Update
|
|
50
50
|
# Display the directory on which we are currently working on.
|
51
51
|
# ===================================================================== #
|
52
52
|
e
|
53
|
-
e index
|
53
|
+
e "#{rev}#{index}) #{sfancy(name)}#{rev}"\
|
54
|
+
": → Directory is: #{sfancy(location)}"
|
54
55
|
e
|
55
56
|
cd(location) # Now we must be in the target location.
|
56
57
|
case @install_how # case tag
|
@@ -109,7 +109,7 @@ module PostInstall
|
|
109
109
|
# ========================================================================= #
|
110
110
|
def self.run
|
111
111
|
begin
|
112
|
-
require 'rbt/
|
112
|
+
require 'rbt/actions/individual_actions/cookbooks/expand_cookbooks/expand_cookbooks.rb'
|
113
113
|
RBT.expand_cookbooks
|
114
114
|
rescue LoadError; end
|
115
115
|
end
|
@@ -59,6 +59,8 @@ module Roebe
|
|
59
59
|
|
60
60
|
# ========================================================================= #
|
61
61
|
# === Roebe.file_contacts
|
62
|
+
#
|
63
|
+
# Return the path towards the file contacts.yml via this method here.
|
62
64
|
# ========================================================================= #
|
63
65
|
def self.file_contacts
|
64
66
|
FILE_CONTACTS_YAML
|
@@ -37,6 +37,7 @@ module CustomMethods # === Roebe::CustomMethods
|
|
37
37
|
require 'open-uri'
|
38
38
|
require 'roebe/project/project.rb'
|
39
39
|
require 'roebe/custom_methods/constants.rb'
|
40
|
+
require 'roebe/actions/actions.rb'
|
40
41
|
require 'roebe/constants/array_install_these_gem_projects.rb'
|
41
42
|
require 'roebe/constants/constants.rb'
|
42
43
|
require 'roebe/toplevel_methods/module_methods.rb' # Pulls in Roebe.vetmed? and similar methods.
|
@@ -482,6 +483,21 @@ BrowserApplication[$e]=!firefox
|
|
482
483
|
e "'#{i}' (size #{i.size}) is stored in the encoding #{i.encoding.name}"
|
483
484
|
end
|
484
485
|
|
486
|
+
# ========================================================================= #
|
487
|
+
# === roebe_festnetz?
|
488
|
+
# ========================================================================= #
|
489
|
+
def roebe_festnetz?
|
490
|
+
_ = Roebe.actions(:contacts)
|
491
|
+
_.first[1].to_s
|
492
|
+
end
|
493
|
+
|
494
|
+
# ========================================================================= #
|
495
|
+
# === show_roebe_festnetz?
|
496
|
+
# ========================================================================= #
|
497
|
+
def show_roebe_festnetz?
|
498
|
+
e steelblue(roebe_festnetz?)
|
499
|
+
end
|
500
|
+
|
485
501
|
# ========================================================================= #
|
486
502
|
# === save_all_contacts
|
487
503
|
#
|
@@ -0,0 +1,39 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# This module specifically tries to be of help when it comes to fonts,
|
6
|
+
# especially on Linux systems.
|
7
|
+
# =========================================================================== #
|
8
|
+
module Roebe
|
9
|
+
|
10
|
+
module Fonts # === Roebe::Fonts
|
11
|
+
|
12
|
+
# ========================================================================= #
|
13
|
+
# === Roebe::Fonts::ARRAY_URL_TO_REMOTE_FONTS
|
14
|
+
# ========================================================================= #
|
15
|
+
ARRAY_URL_TO_REMOTE_FONTS = %w(
|
16
|
+
https://github.com/tonsky/FiraCode/releases/download/6.2/Fira_Code_v6.2.zip
|
17
|
+
)
|
18
|
+
# ========================================================================= #
|
19
|
+
# === Roebe::Fonts::ARRAY_ELEGANT_FONTS
|
20
|
+
#
|
21
|
+
# Good fonts should be stored in the following Array. Note that any '_'
|
22
|
+
# that is part of the names, may be replaced with a ' '. So Fira_Code
|
23
|
+
# would become 'Fira Code'.
|
24
|
+
# ========================================================================= #
|
25
|
+
ARRAY_ELEGANT_FONTS = %w(
|
26
|
+
Hack
|
27
|
+
Fira_Code
|
28
|
+
URW_Bookman
|
29
|
+
Luxi_Sans
|
30
|
+
)
|
31
|
+
|
32
|
+
end; end
|
33
|
+
|
34
|
+
if __FILE__ == $PROGRAM_NAME
|
35
|
+
require 'wget'
|
36
|
+
Wget.download(
|
37
|
+
Roebe::Fonts::ARRAY_URL_TO_REMOTE_FONTS
|
38
|
+
)
|
39
|
+
end
|
File without changes
|
data/lib/roebe/math/log10.rb
CHANGED
@@ -18,7 +18,7 @@ class Log10 < Base # === Roebe::Log10
|
|
18
18
|
# ========================================================================= #
|
19
19
|
def initialize(*i)
|
20
20
|
reset
|
21
|
-
|
21
|
+
set_commandline_arguments(i)
|
22
22
|
run
|
23
23
|
end
|
24
24
|
|
@@ -30,10 +30,10 @@ class Log10 < Base # === Roebe::Log10
|
|
30
30
|
end
|
31
31
|
|
32
32
|
# ========================================================================= #
|
33
|
-
# ===
|
33
|
+
# === run (run tag)
|
34
34
|
# ========================================================================= #
|
35
35
|
def run
|
36
|
-
|
36
|
+
commandline_arguments?.each {|entry|
|
37
37
|
e Math.log10(entry.to_f)
|
38
38
|
}
|
39
39
|
end
|
@@ -0,0 +1,104 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# === Roebe::TheCollatzProblem
|
6
|
+
#
|
7
|
+
# This class implements the collatz algorithm.
|
8
|
+
#
|
9
|
+
# It will limit the attempts, though, to avoid infinite recursion.
|
10
|
+
#
|
11
|
+
# The individual steps this does are as follows:
|
12
|
+
#
|
13
|
+
# (1) Start with any natural number, such as 19.
|
14
|
+
# (2) if n is even, take n/2 as the next number.
|
15
|
+
# (3) if n is odd, take 3n+1 as the next number instead.
|
16
|
+
# (4) repeat the same procedure.
|
17
|
+
#
|
18
|
+
# This series enters a cycle, where the three numbers 4, 2 and 1 are
|
19
|
+
# constantly repeated.
|
20
|
+
# =========================================================================== #
|
21
|
+
# require 'roebe/math/the_collatz_problem.rb'
|
22
|
+
# Roebe::TheCollatzProblem.new(ARGV)
|
23
|
+
# =========================================================================== #
|
24
|
+
require 'roebe/base/base.rb'
|
25
|
+
|
26
|
+
module Roebe
|
27
|
+
|
28
|
+
class TheCollatzProblem < Base # === Roebe::TheCollatzProblem
|
29
|
+
|
30
|
+
# ========================================================================= #
|
31
|
+
# === TRY_THIS_NUMBER_BY_DEFAULT
|
32
|
+
# ========================================================================= #
|
33
|
+
TRY_THIS_NUMBER_BY_DEFAULT = 19
|
34
|
+
|
35
|
+
# ========================================================================= #
|
36
|
+
# === initialize
|
37
|
+
#
|
38
|
+
# If the input number is 19 then we will see this series:
|
39
|
+
#
|
40
|
+
# n=19: 19, 58, 29, 88, 44, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1, 4, 2, 1, …
|
41
|
+
#
|
42
|
+
# ========================================================================= #
|
43
|
+
def initialize(*i)
|
44
|
+
reset
|
45
|
+
set_commandline_arguments(i)
|
46
|
+
run
|
47
|
+
end
|
48
|
+
|
49
|
+
# ========================================================================= #
|
50
|
+
# === reset (reset tag)
|
51
|
+
# ========================================================================= #
|
52
|
+
def reset
|
53
|
+
super()
|
54
|
+
# ======================================================================= #
|
55
|
+
# === @try_n_runs
|
56
|
+
# ======================================================================= #
|
57
|
+
@try_n_runs = 24 # Limit how often we try this. Avoids infinite loops too!
|
58
|
+
end
|
59
|
+
|
60
|
+
# ========================================================================= #
|
61
|
+
# === default_print
|
62
|
+
# ========================================================================= #
|
63
|
+
def default_print(n)
|
64
|
+
print n, ', '
|
65
|
+
end
|
66
|
+
|
67
|
+
# ========================================================================= #
|
68
|
+
# === run (run tag)
|
69
|
+
# ========================================================================= #
|
70
|
+
def run
|
71
|
+
_ = first?
|
72
|
+
if _.nil? or _.empty?
|
73
|
+
_ = TRY_THIS_NUMBER_BY_DEFAULT
|
74
|
+
end
|
75
|
+
counter = 1
|
76
|
+
n = _.to_i
|
77
|
+
default_print(n) # Report it initially once.
|
78
|
+
loop {
|
79
|
+
counter += 1
|
80
|
+
if counter > @try_n_runs
|
81
|
+
break
|
82
|
+
end
|
83
|
+
# ===================================================================== #
|
84
|
+
# if n is even, take n/2 as the next number:
|
85
|
+
# ===================================================================== #
|
86
|
+
if n.even?
|
87
|
+
n = n/2
|
88
|
+
# ===================================================================== #
|
89
|
+
# if n is odd, take 3n+1 as the next number instead.
|
90
|
+
# ===================================================================== #
|
91
|
+
elsif n.odd?
|
92
|
+
n = (3 * n) + 1
|
93
|
+
else
|
94
|
+
end
|
95
|
+
default_print(n)
|
96
|
+
}
|
97
|
+
e # Trailing newline makes this prettier, in my opinion.
|
98
|
+
end
|
99
|
+
|
100
|
+
end; end
|
101
|
+
|
102
|
+
if __FILE__ == $PROGRAM_NAME
|
103
|
+
Roebe::TheCollatzProblem.new(ARGV)
|
104
|
+
end # rb TheCollatzProblem.rb 10
|
@@ -172,7 +172,7 @@ class Shell < Base # === Roebe::Shell
|
|
172
172
|
end
|
173
173
|
|
174
174
|
begin
|
175
|
-
require 'rbt/
|
175
|
+
require 'rbt/cookbooks/url/url.rb'
|
176
176
|
rescue LoadError; end
|
177
177
|
|
178
178
|
require 'open-uri'
|
@@ -369,7 +369,7 @@ class Shell < Base # === Roebe::Shell
|
|
369
369
|
# ========================================================================= #
|
370
370
|
if ::Roebe.is_on_roebe?
|
371
371
|
begin
|
372
|
-
require 'multimedia_paradise/constants/
|
372
|
+
require 'multimedia_paradise/constants/constants.rb'
|
373
373
|
# ======================================================================= #
|
374
374
|
# === FILE_VIDEO_COLLECTION
|
375
375
|
#
|
@@ -3604,7 +3604,7 @@ ROEBE_SUBSECTION
|
|
3604
3604
|
# ========================================================================= #
|
3605
3605
|
def merge(*i)
|
3606
3606
|
begin
|
3607
|
-
require 'multimedia_paradise/toplevel_methods/
|
3607
|
+
require 'multimedia_paradise/toplevel_methods/merge.rb'
|
3608
3608
|
rescue LoadError; end
|
3609
3609
|
i.flatten! if i.is_a? Array # Make sure we have a flat array.
|
3610
3610
|
case i.to_s
|
@@ -10933,7 +10933,7 @@ ROEBE_SUBSECTION
|
|
10933
10933
|
end
|
10934
10934
|
|
10935
10935
|
begin
|
10936
|
-
require 'multimedia_paradise/
|
10936
|
+
require 'multimedia_paradise/toplevel_methods/conversions.rb'
|
10937
10937
|
rescue LoadError; end
|
10938
10938
|
# ========================================================================= #
|
10939
10939
|
# === mp3_to_wav
|
@@ -14095,7 +14095,7 @@ ROEBE_SUBSECTION
|
|
14095
14095
|
# ========================================================================= #
|
14096
14096
|
def show_the_homepage_of(i)
|
14097
14097
|
begin
|
14098
|
-
require 'rbt/cookbooks/homepage.rb'
|
14098
|
+
require 'rbt/cookbooks/homepage/homepage.rb'
|
14099
14099
|
rescue LoadError; end
|
14100
14100
|
[i].flatten.compact.each {|this_program|
|
14101
14101
|
result = RBT.homepage(this_program)
|
@@ -23997,7 +23997,7 @@ ROEBE_SUBSECTION
|
|
23997
23997
|
end
|
23998
23998
|
|
23999
23999
|
begin
|
24000
|
-
require 'multimedia_paradise/constants/
|
24000
|
+
require 'multimedia_paradise/constants/constants.rb'
|
24001
24001
|
rescue LoadError; end
|
24002
24002
|
# ========================================================================= #
|
24003
24003
|
# === favourite_audio_files?
|
@@ -14,7 +14,19 @@ cp $MY_SRC/gcc/$MY_GCC .
|
|
14
14
|
extract $MY_GCC
|
15
15
|
cd $MY_GCCV
|
16
16
|
|
17
|
-
rbt --prepare-for-gcc
|
17
|
+
# rbt --prepare-for-gcc
|
18
|
+
|
19
|
+
cp /home/x/src/gmp/$GMP .
|
20
|
+
tar -xf $GMP
|
21
|
+
mv $GMPV gmp
|
22
|
+
|
23
|
+
cp /home/x/src/mpfr/$MPFR .
|
24
|
+
tar -xf $MPFR
|
25
|
+
mv $MPFRV mpfr
|
26
|
+
|
27
|
+
cp /home/x/src/mpc/$MPC .
|
28
|
+
tar -xf $MPC
|
29
|
+
mv $MPCV mpc
|
18
30
|
|
19
31
|
case $(uname -m) in
|
20
32
|
x86_64)
|
@@ -31,8 +31,11 @@ popd
|
|
31
31
|
--enable-widec \
|
32
32
|
--disable-stripping
|
33
33
|
make
|
34
|
+
|
34
35
|
make DESTDIR=$LFS TIC_PATH=$(pwd)/build/progs/tic install
|
35
|
-
|
36
|
+
ln -sv libncursesw.so $LFS/usr/lib/libncurses.so
|
37
|
+
sed -e 's/^#if.*XOPEN.*$/#if 1/' -i $LFS/usr/include/curses.h
|
38
|
+
|
36
39
|
|
37
40
|
# =========================================================================== #
|
38
41
|
# Next, continue with the file called "008_bash_2.sh".
|
@@ -4,15 +4,15 @@
|
|
4
4
|
source /home/x/programming/ruby/src/roebe/lib/roebe/shell_scripts/lfs/lfs_build_variables.sh
|
5
5
|
|
6
6
|
cd $LFS/tmp/
|
7
|
-
cp $MY_SRC/xz
|
8
|
-
extract
|
9
|
-
cd
|
7
|
+
cp $MY_SRC/xz/$MY_XZ .
|
8
|
+
extract $MY_XZ
|
9
|
+
cd $MY_XZV
|
10
|
+
|
10
11
|
|
11
12
|
./configure --prefix=/usr \
|
12
13
|
--host=$LFS_TGT \
|
13
14
|
--build=$(build-aux/config.guess) \
|
14
|
-
--disable-static
|
15
|
-
--docdir=/usr/share/doc/xz-5.4.5
|
15
|
+
--disable-static
|
16
16
|
make
|
17
17
|
make DESTDIR=$LFS install
|
18
18
|
|
@@ -6,6 +6,7 @@
|
|
6
6
|
# =========================================================================== #
|
7
7
|
source /home/x/programming/ruby/src/roebe/lib/roebe/shell_scripts/lfs/lfs_build_variables.sh
|
8
8
|
|
9
|
+
|
9
10
|
cd $LFS/tmp/
|
10
11
|
cp -v $MY_SRC/binutils/$MY_BINUTILS_TAR_XZ .
|
11
12
|
rm -rf $MY_BINUTILSV
|
@@ -14,7 +14,18 @@ rm -rf $MY_GCCV
|
|
14
14
|
extract $MY_GCC_TAR_XZ
|
15
15
|
cd $MY_GCCV
|
16
16
|
|
17
|
-
rbt --prepare-for-gcc
|
17
|
+
# rbt --prepare-for-gcc
|
18
|
+
cp /home/x/src/gmp/$GMP .
|
19
|
+
tar -xf $GMP
|
20
|
+
mv $GMPV gmp
|
21
|
+
|
22
|
+
cp /home/x/src/mpfr/$MPFR .
|
23
|
+
tar -xf $MPFR
|
24
|
+
mv $MPFRV mpfr
|
25
|
+
|
26
|
+
cp /home/x/src/mpc/$MPC .
|
27
|
+
tar -xf $MPC
|
28
|
+
mv $MPCV mpc
|
18
29
|
|
19
30
|
case $(uname -m) in
|
20
31
|
x86_64)
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# =========================================================================== #
|
2
|
+
# This is the instruction for Bison 2nd pass.
|
3
|
+
#
|
4
|
+
# The upstream URL can be found at:
|
5
|
+
#
|
6
|
+
# https://www.linuxfromscratch.org/lfs/view/development/chapter07/bison.html
|
7
|
+
#
|
8
|
+
# =========================================================================== #
|
9
|
+
source /home/x/programming/ruby/src/roebe/lib/roebe/shell_scripts/lfs/lfs_build_variables.sh
|
10
|
+
|
11
|
+
./configure --prefix=/usr --disable-shared
|
12
|
+
make
|
13
|
+
make install
|
@@ -1,5 +1,7 @@
|
|
1
1
|
#!/bin/bash
|
2
2
|
# =========================================================================== #
|
3
|
+
# source /home/x/programming/ruby/src/roebe/lib/roebe/shell_scripts/lfs/lfs_build_variables.sh
|
4
|
+
# =========================================================================== #
|
3
5
|
|
4
6
|
# =========================================================================== #
|
5
7
|
# All variables which are commonly used by LFS.
|
@@ -9,10 +11,35 @@
|
|
9
11
|
# Note that this can be generated automatically via a ruby script since
|
10
12
|
# as of July 2020.
|
11
13
|
# =========================================================================== #
|
14
|
+
|
15
|
+
# =========================================================================== #
|
16
|
+
# All variables which are commonly used by LFS.
|
12
17
|
#
|
13
|
-
# source /
|
18
|
+
# source $ROEBERIA/shell_scripts/lfs/lfs_variables.sh
|
14
19
|
#
|
15
20
|
# =========================================================================== #
|
21
|
+
# source /home/x/programming/ruby/src/roebe/lib/roebe/shell_scripts/lfs/lfs_variables.sh
|
22
|
+
# =========================================================================== #
|
23
|
+
# export MNT="/mnt"
|
24
|
+
export MNT="/mnt"
|
25
|
+
export MOUNT="$MNT"
|
26
|
+
export LFS="$MOUNT/lfs"
|
27
|
+
export DEV="/dev"
|
28
|
+
export LFS_PARTITION="$DEV/sdb1" # This setting will define your LFS Partition.
|
29
|
+
export LFS_TMP="$LFS/temp"
|
30
|
+
export LFS_PROGRAMS="$LFS/home/Programs"
|
31
|
+
# export LFS_SOURCES="$LFS/home/x/SRC"
|
32
|
+
export LFS_SOURCES="$LFS/sources"
|
33
|
+
export LFS_SOURCE="$LFS_SOURCES"
|
34
|
+
export LFS_TOOLS="$LFS/tools" #
|
35
|
+
export LFS_SWAP="$DEV/sdb2"
|
36
|
+
export LFS_TEMP="$LFS/temp"
|
37
|
+
export MY_SRC="/home/x/src/"
|
38
|
+
|
39
|
+
# =========================================================================== #
|
40
|
+
# The next variable has to be manually updated:
|
41
|
+
# =========================================================================== #
|
42
|
+
export LFS_BACKUP="$LFS/last_backup/"
|
16
43
|
|
17
44
|
# =========================================================================== #
|
18
45
|
# === BUILD VARIABLES
|
@@ -102,7 +129,10 @@ export MY_TAR="$MY_TARV.tar.xz"
|
|
102
129
|
export MY_TEXINFOV="texinfo-6.7"
|
103
130
|
export MY_TEXINFO="$MY_TEXINFOV.tar.xz"
|
104
131
|
|
105
|
-
|
132
|
+
# =========================================================================== #
|
133
|
+
# === MY_XZV
|
134
|
+
# =========================================================================== #
|
135
|
+
export MY_XZV="xz-5.6.0"
|
106
136
|
export MY_XZ="$MY_XZV.tar.xz"
|
107
137
|
|
108
138
|
export MY_ZLIBV="zlib-1.2.11"
|
@@ -119,13 +149,22 @@ export MY_PYTHONV="Python-3.8.1"
|
|
119
149
|
export MY_PYTHON="$MY_PYTHONV.tar.xz"
|
120
150
|
export MY_PYTHON_TAR_XZ=$MY_PYTHON
|
121
151
|
|
122
|
-
|
152
|
+
# =========================================================================== #
|
153
|
+
# === MPFR
|
154
|
+
# =========================================================================== #
|
155
|
+
export MPFRV="mpfr-4.2.1"
|
123
156
|
export MPFR="$MPFRV.tar.xz"
|
124
157
|
|
158
|
+
# =========================================================================== #
|
159
|
+
# === GMP
|
160
|
+
# =========================================================================== #
|
125
161
|
export GMPV="gmp-6.3.0"
|
126
162
|
export GMP="$GMPV.tar.xz"
|
127
163
|
|
128
|
-
|
164
|
+
# =========================================================================== #
|
165
|
+
# === MPC
|
166
|
+
# =========================================================================== #
|
167
|
+
export MPCV="mpc-1.3.1"
|
129
168
|
export MPC="$MPCV.tar.xz"
|
130
169
|
|
131
170
|
# =========================================================================== #
|
@@ -140,7 +179,8 @@ export MY_M4_TAR_XZ="${MY_M4V}.tar.xz"
|
|
140
179
|
# =========================================================================== #
|
141
180
|
# === MY_NCURSESV (ncurses tag)
|
142
181
|
# =========================================================================== #
|
143
|
-
export MY_NCURSESV="ncurses-6.4"
|
182
|
+
# export MY_NCURSESV="ncurses-6.4"
|
183
|
+
export MY_NCURSESV="ncurses-6.4-20230520"
|
144
184
|
export MY_NCURSES_TAR_XZ="$MY_NCURSESV.tar.xz"
|
145
185
|
export NCURSES="$NCURSESV.tar.xz"
|
146
186
|
|
@@ -168,7 +208,7 @@ export MAKE_PROGRAM_TAR_XZ="${MAKE_PROGRAMV}.tar.xz"
|
|
168
208
|
# =========================================================================== #
|
169
209
|
# === MY_BINUTILS
|
170
210
|
# =========================================================================== #
|
171
|
-
export MY_BINUTILSV="binutils-2.
|
211
|
+
export MY_BINUTILSV="binutils-2.42"
|
172
212
|
# export MY_BINUTILSV="binutils-21.03.2023"
|
173
213
|
export MY_BINUTILS="${MY_BINUTILSV}.tar.xz"
|
174
214
|
export MY_BINUTILS_TAR_XZ="${MY_BINUTILSV}.tar.xz"
|
@@ -176,7 +216,7 @@ export MY_BINUTILS_TAR_XZ="${MY_BINUTILSV}.tar.xz"
|
|
176
216
|
# =========================================================================== #
|
177
217
|
# === MY_GLIBC (glibc tag)
|
178
218
|
# =========================================================================== #
|
179
|
-
export MY_GLIBCV="glibc-2.
|
219
|
+
export MY_GLIBCV="glibc-2.39"
|
180
220
|
export MY_GLIBC="${MY_GLIBCV}.tar.xz"
|
181
221
|
|
182
222
|
# =========================================================================== #
|
@@ -228,7 +268,7 @@ export MY_GCC_TAR_XZ="${MY_GCCV}.tar.xz"
|
|
228
268
|
# =========================================================================== #
|
229
269
|
# === LINUX_KERNEL (linux tag, kernel tag)
|
230
270
|
# =========================================================================== #
|
231
|
-
export LINUX_KERNELV="linux-6.7.
|
271
|
+
export LINUX_KERNELV="linux-6.7.9"
|
232
272
|
export LINUX_KERNEL="$LINUX_KERNELV.tar.xz"
|
233
273
|
export LINUX_KERNEL_TAR_XZ="$LINUX_KERNELV.tar.xz"
|
234
274
|
|