environment_information 1.4.99

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of environment_information might be problematic. Click here for more details.

Files changed (80) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +1287 -0
  3. data/bin/envi +7 -0
  4. data/bin/fast_envi +7 -0
  5. data/doc/README.gen +1044 -0
  6. data/doc/todo/TODO_FOR_THE_ENVIRONMENT_INFORMATION_PROJECT.md +48 -0
  7. data/environment_information.gemspec +135 -0
  8. data/lib/environment_information/base/base.rb +166 -0
  9. data/lib/environment_information/class/class.rb +2829 -0
  10. data/lib/environment_information/colours/colours.rb +224 -0
  11. data/lib/environment_information/colours/sfancy.rb +19 -0
  12. data/lib/environment_information/colours/simp.rb +19 -0
  13. data/lib/environment_information/constants/array_tracked_components.rb +210 -0
  14. data/lib/environment_information/constants/constants.rb +17 -0
  15. data/lib/environment_information/constants/encoding.rb +21 -0
  16. data/lib/environment_information/constants/error_line.rb +17 -0
  17. data/lib/environment_information/constants/file_constants.rb +102 -0
  18. data/lib/environment_information/constants/misc.rb +86 -0
  19. data/lib/environment_information/constants/namespace.rb +14 -0
  20. data/lib/environment_information/constants/newline.rb +16 -0
  21. data/lib/environment_information/constants/regex.rb +30 -0
  22. data/lib/environment_information/constants/temp_directory.rb +52 -0
  23. data/lib/environment_information/gui/gtk2/environment_information.rb +35 -0
  24. data/lib/environment_information/gui/gtk3/environment_information.rb +34 -0
  25. data/lib/environment_information/gui/libui/environment_information.rb +74 -0
  26. data/lib/environment_information/gui/shared_code/environment_information_module.rb +409 -0
  27. data/lib/environment_information/misc_components/README.md +3 -0
  28. data/lib/environment_information/misc_components/cflags.rb +36 -0
  29. data/lib/environment_information/misc_components/cpuinfo.rb +64 -0
  30. data/lib/environment_information/misc_components/operating_system.rb +54 -0
  31. data/lib/environment_information/misc_components/operating_system_bit_type.rb +42 -0
  32. data/lib/environment_information/misc_components/ram.rb +30 -0
  33. data/lib/environment_information/misc_components/rubygems_installation_directory.rb +54 -0
  34. data/lib/environment_information/misc_components/screen_resolution.rb +50 -0
  35. data/lib/environment_information/project/project.rb +27 -0
  36. data/lib/environment_information/queries/README.md +2 -0
  37. data/lib/environment_information/queries/complex_version.rb +273 -0
  38. data/lib/environment_information/queries/pkg_config.rb +125 -0
  39. data/lib/environment_information/queries/simple_version.rb +217 -0
  40. data/lib/environment_information/requires/require_asciitable.rb +15 -0
  41. data/lib/environment_information/requires/require_the_constants.rb +7 -0
  42. data/lib/environment_information/requires/require_the_environment_information_project.rb +23 -0
  43. data/lib/environment_information/requires/require_the_individual_misc_components.rb +30 -0
  44. data/lib/environment_information/requires/require_the_toplevel_methods.rb +22 -0
  45. data/lib/environment_information/toplevel_methods/autogenerate_all_relevant_methods.rb +152 -0
  46. data/lib/environment_information/toplevel_methods/cd.rb +16 -0
  47. data/lib/environment_information/toplevel_methods/e.rb +43 -0
  48. data/lib/environment_information/toplevel_methods/hash.rb +60 -0
  49. data/lib/environment_information/toplevel_methods/internet_is_available.rb +30 -0
  50. data/lib/environment_information/toplevel_methods/is_on_roebe.rb +16 -0
  51. data/lib/environment_information/toplevel_methods/menu.rb +90 -0
  52. data/lib/environment_information/toplevel_methods/misc.rb +322 -0
  53. data/lib/environment_information/toplevel_methods/n_subcommands.rb +31 -0
  54. data/lib/environment_information/toplevel_methods/prefix_to_use.rb +39 -0
  55. data/lib/environment_information/toplevel_methods/register_this_component_is_missing.rb +61 -0
  56. data/lib/environment_information/toplevel_methods/remote_url_of_this_program.rb +45 -0
  57. data/lib/environment_information/toplevel_methods/replay_from_the_stored_file.rb +84 -0
  58. data/lib/environment_information/toplevel_methods/return_alias_to.rb +30 -0
  59. data/lib/environment_information/toplevel_methods/return_pkgconfig_based_programs.rb +28 -0
  60. data/lib/environment_information/toplevel_methods/return_remote_gtk2_version.rb +54 -0
  61. data/lib/environment_information/toplevel_methods/return_simple_version_based_programs.rb +28 -0
  62. data/lib/environment_information/toplevel_methods/return_version_of_this_program.rb +182 -0
  63. data/lib/environment_information/toplevel_methods/show_all_available_components.rb +192 -0
  64. data/lib/environment_information/toplevel_methods/write_what_into.rb +24 -0
  65. data/lib/environment_information/version/version.rb +25 -0
  66. data/lib/environment_information/www/sinatra_interface.rb +213 -0
  67. data/lib/environment_information/www/webobject_interface.cgi +29 -0
  68. data/lib/environment_information/yaml/array_default_programs_on_linux.yml +15 -0
  69. data/lib/environment_information/yaml/array_lfs_core_programs.yml +37 -0
  70. data/lib/environment_information/yaml/array_science_cluster.yml +12 -0
  71. data/lib/environment_information/yaml/array_tracked_non_programs.yml +13 -0
  72. data/lib/environment_information/yaml/array_tracked_programs.yml +215 -0
  73. data/lib/environment_information/yaml/array_tracked_xorg_components.yml +37 -0
  74. data/lib/environment_information/yaml/colours.yml +3 -0
  75. data/lib/environment_information/yaml/query_to_use_for_the_individual_components.yml +264 -0
  76. data/lib/environment_information.rb +5 -0
  77. data/test/testing_environment_information.rb +26 -0
  78. data/test/testing_missing_components.rb +9 -0
  79. data/test/testing_prefix_for_the_environment_information_project.rb +20 -0
  80. metadata +177 -0
@@ -0,0 +1,224 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'environment_information/colours/colours.rb'
6
+ # EnvironmentInformation.colour_for_the_left_side
7
+ # =========================================================================== #
8
+ module EnvironmentInformation
9
+
10
+ require 'environment_information/project/project.rb'
11
+
12
+ # ========================================================================= #
13
+ # First the code here will determine which colours are to be used. If
14
+ # a .yml file can be found as part of this project then it will override
15
+ # the default values given here; otherwise the default values will be
16
+ # used, consequently.
17
+ # ========================================================================= #
18
+
19
+ yaml_file = EnvironmentInformation.project_base_directory?+'yaml/colours.yml'
20
+ if File.exist? yaml_file
21
+ dataset = YAML.load_file(yaml_file) # These should be a Symbol.
22
+ @colour_for_the_left_side = dataset['left_side'].to_sym
23
+ @colour_for_the_right_side = dataset['right_side'].to_sym
24
+ @colour_for_program_not_found = dataset['program_not_found'].to_sym
25
+ else # else use default values here
26
+ # ========================================================================= #
27
+ # === @colour_for_the_left_side
28
+ # ========================================================================= #
29
+ @colour_for_the_left_side = :forestgreen
30
+
31
+ # ========================================================================= #
32
+ # === @colour_for_the_right_side
33
+ # ========================================================================= #
34
+ @colour_for_the_right_side = :steelblue
35
+
36
+ # ========================================================================= #
37
+ # === @colour_for_program_not_found
38
+ # ========================================================================= #
39
+ @colour_for_program_not_found = :lightslategrey
40
+ end
41
+
42
+ begin
43
+ require 'colours'
44
+ # ======================================================================= #
45
+ # === @use_colours
46
+ #
47
+ # By default this project will try to make use of colours. This has
48
+ # be protected by a rescue clause, as not every user may have the
49
+ # gem called "colours" installed.
50
+ # ======================================================================= #
51
+ @use_colours = true
52
+ rescue LoadError
53
+ # ======================================================================= #
54
+ # If the colours-gem is not available then we will not use colours.
55
+ # The user could still overrule this at a later time, though.
56
+ # ======================================================================= #
57
+ @use_colours = false
58
+ end
59
+
60
+ # ========================================================================= #
61
+ # === EnvironmentInformation.colour_for_the_left_side (left tag)
62
+ #
63
+ # This method will return the colour
64
+ #
65
+ # This could also be :limegreen rather than :forestgreen or vice versa.
66
+ # ========================================================================= #
67
+ def self.colour_for_the_left_side
68
+ @colour_for_the_left_side
69
+ end
70
+
71
+ # ========================================================================= #
72
+ # === EnvironmentInformation.colour_for_the_right_side (right tag)
73
+ # ========================================================================= #
74
+ def self.colour_for_the_right_side
75
+ @colour_for_the_right_side
76
+ end
77
+
78
+ # ========================================================================= #
79
+ # === EnvironmentInformation.colour_for_program_not_found
80
+ # ========================================================================= #
81
+ def self.colour_for_program_not_found
82
+ @colour_for_program_not_found
83
+ end
84
+
85
+ # ========================================================================= #
86
+ # === EnvironmentInformation.rev
87
+ # ========================================================================= #
88
+ def self.rev
89
+ return ::Colours.rev if @use_colours
90
+ '' # Else return an empty String.
91
+ end
92
+
93
+ # ========================================================================= #
94
+ # === EnvironmentInformation.use_colours?
95
+ # ========================================================================= #
96
+ def self.use_colours?
97
+ @use_colours
98
+ end
99
+
100
+ # ========================================================================= #
101
+ # === EnvironmentInformation.set_use_colours
102
+ #
103
+ # Determine whether the EnvironmentInformation project will use
104
+ # colours or whether it will not.
105
+ # ========================================================================= #
106
+ def self.set_use_colours(i = true)
107
+ @use_colours = i
108
+ end; self.instance_eval { alias use_colours= set_use_colours } # === EnvironmentInformation.use_colours=
109
+
110
+ # ========================================================================= #
111
+ # === EnvironmentInformation.do_use_colours
112
+ # ========================================================================= #
113
+ def self.do_use_colours
114
+ @use_colours = i
115
+ end
116
+
117
+ # ========================================================================= #
118
+ # === EnvironmentInformation.mediumpurple
119
+ # ========================================================================= #
120
+ def self.mediumpurple(i = '')
121
+ if @use_colours
122
+ return ::Colours.mediumpurple(i)
123
+ end
124
+ return i
125
+ end
126
+
127
+ # ========================================================================= #
128
+ # === EnvironmentInformation.lightslategrey
129
+ # ========================================================================= #
130
+ def self.lightslategrey(i = '')
131
+ if @use_colours
132
+ return ::Colours.lightslategrey(i)
133
+ end
134
+ return i
135
+ end
136
+
137
+ # ========================================================================= #
138
+ # === EnvironmentInformation.tomato
139
+ # ========================================================================= #
140
+ def self.tomato(
141
+ i = '', use_colours = @use_colours
142
+ )
143
+ return ::Colours.tomato(i) if use_colours
144
+ return i
145
+ end
146
+
147
+ # ========================================================================= #
148
+ # === EnvironmentInformation.pink
149
+ # ========================================================================= #
150
+ def self.pink(
151
+ i = '', use_colours = @use_colours
152
+ )
153
+ return ::Colours.pink(i) if use_colours
154
+ return i
155
+ end
156
+
157
+ # ========================================================================= #
158
+ # === EnvironmentInformation.forestgreen
159
+ # ========================================================================= #
160
+ def self.forestgreen(
161
+ i = '', use_colours = @use_colours
162
+ )
163
+ return ::Colours.forestgreen(i) if use_colours
164
+ return i
165
+ end
166
+
167
+ # ========================================================================= #
168
+ # === EnvironmentInformation.lightseagreen
169
+ # ========================================================================= #
170
+ def self.lightseagreen(i = '', use_colours = @use_colours)
171
+ if use_colours
172
+ return ::Colours.lightseagreen(i)
173
+ end
174
+ return i
175
+ end
176
+
177
+ # ========================================================================= #
178
+ # === EnvironmentInformation.steelblue
179
+ # ========================================================================= #
180
+ def self.steelblue(i = '')
181
+ if @use_colours
182
+ return ::Colours.steelblue(i)
183
+ end
184
+ return i
185
+ end
186
+
187
+ # ========================================================================= #
188
+ # === EnvironmentInformation.royalblue
189
+ # ========================================================================= #
190
+ def self.royalblue(
191
+ i = '',
192
+ use_colours = @use_colours
193
+ )
194
+ if use_colours
195
+ return ::Colours.royalblue(i)
196
+ end
197
+ return i
198
+ end
199
+
200
+ # ========================================================================= #
201
+ # === EnvironmentInformation.mediumaquamarine
202
+ # ========================================================================= #
203
+ def self.mediumaquamarine(
204
+ i = '',
205
+ use_colours = @use_colours
206
+ )
207
+ if use_colours
208
+ return ::Colours.mediumaquamarine(i)
209
+ end
210
+ return i
211
+ end
212
+
213
+ # ========================================================================= #
214
+ # === EnvironmentInformation.sfile
215
+ # ========================================================================= #
216
+ def self.sfile(i = '')
217
+ if @use_colours
218
+ ::Colours.sfile(i)
219
+ else
220
+ i
221
+ end
222
+ end
223
+
224
+ end
@@ -0,0 +1,19 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'environment_information/colours/sfancy.rb'
6
+ # =========================================================================== #
7
+ module EnvironmentInformation
8
+
9
+ require 'environment_information/colours/colours.rb'
10
+
11
+ # ========================================================================= #
12
+ # === EnvironmentInformation
13
+ # ========================================================================= #
14
+ def self.sfancy(i = '')
15
+ return ::Colours.sfancy(i) if Object.const_defined? :Colours
16
+ i
17
+ end
18
+
19
+ end
@@ -0,0 +1,19 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'environment_information/colours/simp.rb'
6
+ # =========================================================================== #
7
+ module EnvironmentInformation
8
+
9
+ require 'environment_information/colours/colours.rb'
10
+
11
+ # ========================================================================= #
12
+ # === EnvironmentInformation
13
+ # ========================================================================= #
14
+ def self.simp(i = '')
15
+ return ::Colours.simp(i) if Object.const_defined? :Colours
16
+ i
17
+ end
18
+
19
+ end
@@ -0,0 +1,210 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'environment_information/constants/array_tracked_components.rb'
6
+ # EnvironmentInformation.is_this_program_included?
7
+ # =========================================================================== #
8
+ module EnvironmentInformation
9
+
10
+ # ========================================================================= #
11
+ # The following constant will also pull in yaml-support.
12
+ # ========================================================================= #
13
+ require 'environment_information/constants/file_constants.rb'
14
+
15
+ # ========================================================================= #
16
+ # === EnvironmentInformation::ARRAY_LFS_CORE_PROGRAMS
17
+ #
18
+ # All the LFS core programs are registered here in this Array.
19
+ # ========================================================================= #
20
+ ARRAY_LFS_CORE_PROGRAMS =
21
+ YAML.load_file(FILE_ARRAY_LFS_CORE_PROGRAMS)
22
+
23
+ # ========================================================================= #
24
+ # === EnvironmentInformation::ARRAY_XORG_COMPONENTS (xorg tag)
25
+ #
26
+ # All xorg-components will be collected here. Sort alphabetically, please,
27
+ # and keep the entries downcased.
28
+ #
29
+ # xf86dga is an xorg-component, but since as of October 2018 it has
30
+ # been removed and will no longer be checked - it seems to have been
31
+ # abandoned, more or less.
32
+ # ========================================================================= #
33
+ ARRAY_XORG_COMPONENTS = YAML.load_file(FILE_ARRAY_TRACKED_XORG_COMPONENTS)
34
+
35
+ # ========================================================================= #
36
+ # === EnvironmentInformation::ARRAY_TRACKED_PROGRAMS
37
+ #
38
+ # This Array keeps track of which programs are tracked by the
39
+ # EnvironmentInformation project. That listing will include ALL
40
+ # registered entries, with a corresponding entry under the
41
+ # directory individual_components/.
42
+ #
43
+ # All entries of this Array should be downcased.
44
+ #
45
+ # Keep this Array alphabetically sorted, please, even though this is
46
+ # not an absolute necessity; it just simplifies adding and removing
47
+ # entries in the long run.
48
+ #
49
+ # Since as of February 2020 this is maintained in a yaml file.
50
+ # ========================================================================= #
51
+ if File.exist? FILE_ARRAY_TRACKED_PROGRAMS
52
+ ARRAY_TRACKED_PROGRAMS = YAML.load_file(FILE_ARRAY_TRACKED_PROGRAMS)
53
+ else
54
+ puts 'No file could be found at '+FILE_ARRAY_TRACKED_PROGRAMS+'.'
55
+ ARRAY_TRACKED_PROGRAMS = [] # Default in this case.
56
+ end
57
+
58
+ # ========================================================================= #
59
+ # === EnvironmentInformation.array_tracked_programs
60
+ #
61
+ # This method will return all the programs that are currently
62
+ # tracked by the EnvironmentInformation project.
63
+ # ========================================================================= #
64
+ def self.array_tracked_programs
65
+ ARRAY_TRACKED_PROGRAMS
66
+ end
67
+
68
+ # ========================================================================= #
69
+ # === EnvironmentInformation::ARRAY_DEFAULT_PROGRAMS_ON_LINUX
70
+ #
71
+ # This Array keeps track of the default programs on a linux computer.
72
+ # ========================================================================= #
73
+ ARRAY_DEFAULT_PROGRAMS_ON_LINUX =
74
+ YAML.load_file(FILE_ARRAY_DEFAULT_PROGRAMS_ON_LINUX)
75
+
76
+ # ========================================================================= #
77
+ # === EnvironmentInformation::ARRAY_TRACKED_NON_PROGRAMS
78
+ #
79
+ # The entry rubygems_installation_directory depends on the executable
80
+ # called "gem", which is part of ruby.
81
+ #
82
+ # This Array has also been called "registered extra functionality" in
83
+ # the past. The entries here are special in one way or another.
84
+ # Usually these entries are NOT standalone-programs, which is
85
+ # why they are tracked separately.
86
+ # ========================================================================= #
87
+ ARRAY_TRACKED_NON_PROGRAMS =
88
+ load_file_array_tracked_non_programs
89
+
90
+ # ========================================================================= #
91
+ # === EnvironmentInformation::ARRAY_SCIENCE_CLUSTER (science tag)
92
+ #
93
+ # Science-specific applications are gathered in this array.
94
+ # ========================================================================= #
95
+ ARRAY_SCIENCE_CLUSTER =
96
+ YAML.load_file(FILE_ARRAY_SCIENCE_CLUSTER)
97
+
98
+ # ========================================================================= #
99
+ # === EnvironmentInformation.science_cluster?
100
+ # ========================================================================= #
101
+ def self.science_cluster?
102
+ ARRAY_SCIENCE_CLUSTER
103
+ end
104
+
105
+ # ========================================================================= #
106
+ # === EnvironmentInformation::ARRAY_LFS_TEMPORARY_PROGRAMS
107
+ #
108
+ # All programs that are temporary, e. g. for enabling the bootstrapping
109
+ # of the compiler, are stored in the following Array.
110
+ # ========================================================================= #
111
+ ARRAY_LFS_TEMPORARY_PROGRAMS = %i(
112
+ binutils
113
+ gcc
114
+ linux_API_headers
115
+ glibc
116
+ libstdc++
117
+ binutils
118
+ tcl
119
+ expect
120
+ dejagnu
121
+ m4
122
+ ncurse
123
+ bash
124
+ bison
125
+ bzip2
126
+ coreutils
127
+ diffutils
128
+ file
129
+ findutils
130
+ gawk
131
+ gettext
132
+ grep
133
+ gzip
134
+ make
135
+ patch
136
+ perl
137
+ python
138
+ sed
139
+ tar
140
+ texinfo
141
+ xz
142
+ )
143
+
144
+ # ========================================================================= #
145
+ # === EnvironmentInformation.tracked_programs?
146
+ #
147
+ # Simpler toplevel-method to find out which programs are registered
148
+ # within the EnvironmentInformation project.
149
+ # ========================================================================= #
150
+ def self.tracked_programs?
151
+ ARRAY_TRACKED_PROGRAMS
152
+ end
153
+
154
+ # ========================================================================= #
155
+ # === EnvironmentInformation.xorg_components?
156
+ # ========================================================================= #
157
+ def self.xorg_components?
158
+ ARRAY_XORG_COMPONENTS
159
+ end; self.instance_eval { alias return_all_xorg_components_as_array xorg_components? } # === EnvironmentInformation.return_all_xorg_components_as_array
160
+ self.instance_eval { alias return_all_xorg_components_as_array xorg_components? } # === EnvironmentInformation.return_all_xorg_components_as_array
161
+
162
+ # ========================================================================= #
163
+ # === EnvironmentInformation.tracked_non_programs?
164
+ #
165
+ # Simpler toplevel-method to find out which non-programs are registered
166
+ # within the EnvironmentInformation project.
167
+ # ========================================================================= #
168
+ def self.tracked_non_programs?
169
+ ARRAY_TRACKED_NON_PROGRAMS
170
+ end; self.instance_eval { alias registered_extra_functionality tracked_non_programs? } # === EnvironmentInformation.registered_extra_functionality
171
+
172
+ # ========================================================================= #
173
+ # === EnvironmentInformation.lfs_core_programs?
174
+ # ========================================================================= #
175
+ def self.lfs_core_programs?
176
+ ARRAY_LFS_CORE_PROGRAMS
177
+ end
178
+
179
+ # ========================================================================= #
180
+ # === EnvironmentInformation.is_this_program_included?
181
+ #
182
+ # This will include the two Arrays ARRAY_TRACKED_PROGRAMS and
183
+ # ARRAY_XORG_COMPONENTS, but it will NOT include ARRAY_TRACKED_NON_PROGRAMS.
184
+ # ========================================================================= #
185
+ def self.is_this_program_included?(i)
186
+ (
187
+ ARRAY_TRACKED_PROGRAMS +
188
+ ARRAY_XORG_COMPONENTS
189
+ ).flatten.include? i.to_sym # Need a symbol.
190
+ end; self.instance_eval { alias is_this_a_registered_program? is_this_program_included? } # === ::EnvironmentInformation.is_this_a_registered_program?
191
+
192
+ # ========================================================================= #
193
+ # === EnvironmentInformation.is_this_component_included?
194
+ #
195
+ # This is a more extensive check than .is_this_program_included?()
196
+ # ========================================================================= #
197
+ def self.is_this_component_included?(i)
198
+ array = (
199
+ ARRAY_TRACKED_PROGRAMS +
200
+ ARRAY_XORG_COMPONENTS +
201
+ ARRAY_TRACKED_NON_PROGRAMS
202
+ )
203
+ array.flatten.include? i.to_sym # Need a Symbol as input.
204
+ end
205
+
206
+ end
207
+
208
+ if __FILE__ == $PROGRAM_NAME
209
+ pp EnvironmentInformation.lfs_core_programs?
210
+ end
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # This file will require the other .rb files in the environment/constants/
6
+ # subdirectory.
7
+ # =========================================================================== #
8
+ # require 'environment_information/constants/constants.rb'
9
+ # =========================================================================== #
10
+ require 'environment_information/constants/array_tracked_components.rb'
11
+ require 'environment_information/constants/encoding.rb'
12
+ require 'environment_information/constants/error_line.rb'
13
+ require 'environment_information/constants/file_constants.rb'
14
+ require 'environment_information/constants/misc.rb'
15
+ require 'environment_information/constants/namespace.rb'
16
+ require 'environment_information/constants/newline.rb'
17
+ require 'environment_information/constants/temp_directory.rb'
@@ -0,0 +1,21 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'environment_information/constants/encoding.rb'
6
+ # =========================================================================== #
7
+ module EnvironmentInformation
8
+
9
+ # ========================================================================= #
10
+ # === EnvironmentInformation::UTF_ENCODING
11
+ #
12
+ # UTF-8 is the default encoding for the EnvironmentInformation namespace.
13
+ # ========================================================================= #
14
+ UTF_ENCODING = 'UTF-8'
15
+
16
+ # ========================================================================= #
17
+ # === EnvironmentInformation::MAIN_ENCODING
18
+ # ========================================================================= #
19
+ MAIN_ENCODING = UTF_ENCODING
20
+
21
+ end
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'environment_information/constants/error_line.rb'
6
+ # =========================================================================== #
7
+ module EnvironmentInformation
8
+
9
+ # ========================================================================= #
10
+ # === ERROR_LINE
11
+ #
12
+ # The error line is the one that can be appended to system-related
13
+ # queries (e. g. via system()).
14
+ # ========================================================================= #
15
+ ERROR_LINE = '2>&1'
16
+
17
+ end
@@ -0,0 +1,102 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'environment_information/constants/file_constants.rb'
6
+ # EnvironmentInformation.file_query_to_use_for_the_individual_components
7
+ # EnvironmentInformation.query_to_use_for_the_individual_components?
8
+ # =========================================================================== #
9
+ module EnvironmentInformation
10
+
11
+ require 'yaml'
12
+ require 'environment_information/project/project.rb'
13
+
14
+ # ========================================================================= #
15
+ # === @query_to_use_for_the_individual_components
16
+ # ========================================================================= #
17
+ @query_to_use_for_the_individual_components = nil
18
+
19
+ # ========================================================================= #
20
+ # === EnvironmentInformation::FILE_ARRAY_TRACKED_PROGRAMS
21
+ # ========================================================================= #
22
+ FILE_ARRAY_TRACKED_PROGRAMS =
23
+ "#{PROJECT_BASE_DIRECTORY}yaml/array_tracked_programs.yml"
24
+
25
+ # ========================================================================= #
26
+ # === EnvironmentInformation::FILE_ARRAY_DEFAULT_PROGRAMS_ON_LINUX
27
+ # ========================================================================= #
28
+ FILE_ARRAY_DEFAULT_PROGRAMS_ON_LINUX =
29
+ "#{PROJECT_BASE_DIRECTORY}yaml/array_default_programs_on_linux.yml"
30
+
31
+ # ========================================================================= #
32
+ # === EnvironmentInformation::FILE_ARRAY_TRACKED_NON_PROGRAMS
33
+ # ========================================================================= #
34
+ FILE_ARRAY_TRACKED_NON_PROGRAMS =
35
+ "#{PROJECT_BASE_DIRECTORY}yaml/array_tracked_non_programs.yml"
36
+
37
+ # ========================================================================= #
38
+ # === EnvironmentInformation.load_file_array_tracked_non_programs
39
+ # ========================================================================= #
40
+ def self.load_file_array_tracked_non_programs(
41
+ i = FILE_ARRAY_TRACKED_NON_PROGRAMS
42
+ )
43
+ YAML.load_file(i)
44
+ end
45
+
46
+ # ========================================================================= #
47
+ # === EnvironmentInformation::FILE_ARRAY_TRACKED_XORG_COMPONENTS
48
+ # ========================================================================= #
49
+ FILE_ARRAY_TRACKED_XORG_COMPONENTS =
50
+ "#{PROJECT_BASE_DIRECTORY}yaml/array_tracked_xorg_components.yml"
51
+
52
+ # ========================================================================= #
53
+ # === EnvironmentInformation::FILE_ARRAY_LFS_CORE_PROGRAMS
54
+ # ========================================================================= #
55
+ FILE_ARRAY_LFS_CORE_PROGRAMS =
56
+ "#{PROJECT_BASE_DIRECTORY}yaml/array_lfs_core_programs.yml"
57
+
58
+ # ========================================================================= #
59
+ # === EnvironmentInformation::FILE_ARRAY_SCIENCE_CLUSTER
60
+ # ========================================================================= #
61
+ FILE_ARRAY_SCIENCE_CLUSTER =
62
+ "#{PROJECT_BASE_DIRECTORY}yaml/array_science_cluster.yml"
63
+
64
+ # ========================================================================= #
65
+ # === EnvironmentInformation::FILE_QUERY_TO_USE_FOR_THE_INDIVIDUAL_COMPONENTS
66
+ # ========================================================================= #
67
+ FILE_QUERY_TO_USE_FOR_THE_INDIVIDUAL_COMPONENTS =
68
+ "#{PROJECT_BASE_DIRECTORY}yaml/query_to_use_for_the_individual_components.yml"
69
+
70
+ # ========================================================================= #
71
+ # === EnvironmentInformation.file_query_to_use_for_the_individual_components
72
+ # ========================================================================= #
73
+ def self.file_query_to_use_for_the_individual_components
74
+ "#{PROJECT_BASE_DIRECTORY}yaml/query_to_use_for_the_individual_components.yml"
75
+ end
76
+
77
+ # ========================================================================= #
78
+ # === EnvironmentInformation.load_file_query_to_use_for_the_individual_components
79
+ # ========================================================================= #
80
+ def self.load_file_query_to_use_for_the_individual_components(
81
+ i = FILE_QUERY_TO_USE_FOR_THE_INDIVIDUAL_COMPONENTS
82
+ )
83
+ @query_to_use_for_the_individual_components = YAML.load_file(i)
84
+ return @query_to_use_for_the_individual_components
85
+ end; self.instance_eval { alias all_the_queries load_file_query_to_use_for_the_individual_components } # === EnvironmentInformation.all_the_queries
86
+
87
+ # ========================================================================= #
88
+ # === EnvironmentInformation.query_to_use_for_the_individual_components?
89
+ # ========================================================================= #
90
+ def self.query_to_use_for_the_individual_components?
91
+ @query_to_use_for_the_individual_components
92
+ end
93
+
94
+ # ========================================================================= #
95
+ # === FILE_THESE_PROGRAMS_CAN_BE_UPGRADED
96
+ #
97
+ # We may store which programs could be upgraded into a local file.
98
+ # ========================================================================= #
99
+ FILE_THESE_PROGRAMS_CAN_BE_UPGRADED =
100
+ 'these_programs_can_be_upgraded.yml'
101
+
102
+ end