environment_information 1.4.124 → 1.5.5

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.
Files changed (78) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +91 -15
  3. data/doc/README.gen +42 -14
  4. data/doc/todo/TODO_FOR_THE_ENVIRONMENT_INFORMATION_PROJECT.md +16 -12
  5. data/lib/environment_information/base/base.rb +483 -99
  6. data/lib/environment_information/colours/colours.rb +92 -66
  7. data/lib/environment_information/commandline/commandline.rb +137 -0
  8. data/lib/environment_information/constants/constants.rb +372 -11
  9. data/lib/environment_information/project/project.rb +1 -1
  10. data/lib/environment_information/query/constants.rb +46 -0
  11. data/lib/environment_information/query/help.rb +88 -0
  12. data/lib/environment_information/query/menu.rb +487 -0
  13. data/lib/environment_information/query/misc.rb +2006 -0
  14. data/lib/environment_information/query/query.rb +245 -0
  15. data/lib/environment_information/query/reset.rb +202 -0
  16. data/lib/environment_information/query/run.rb +70 -0
  17. data/lib/environment_information/requires/require_the_environment_information_project.rb +2 -7
  18. data/lib/environment_information/requires/require_the_toplevel_methods.rb +1 -3
  19. data/lib/environment_information/toplevel_methods/toplevel_methods.rb +2258 -0
  20. data/lib/environment_information/version/version.rb +2 -2
  21. data/lib/environment_information/www/sinatra_interface.rb +20 -17
  22. data/lib/environment_information/www/webobject_interface.cgi +6 -7
  23. data/lib/environment_information/yaml/colours.yml +3 -3
  24. data/lib/environment_information/yaml/query_to_use_for_all_components.yml +284 -0
  25. data/lib/environment_information/yaml/{array_tracked_programs.yml → track_these_components.yml} +77 -11
  26. metadata +18 -60
  27. data/lib/environment_information/class/class.rb +0 -2580
  28. data/lib/environment_information/class/colours.rb +0 -282
  29. data/lib/environment_information/colours/sfancy.rb +0 -19
  30. data/lib/environment_information/colours/simp.rb +0 -19
  31. data/lib/environment_information/constants/array_tracked_components.rb +0 -210
  32. data/lib/environment_information/constants/encoding.rb +0 -21
  33. data/lib/environment_information/constants/error_line.rb +0 -17
  34. data/lib/environment_information/constants/file_constants.rb +0 -102
  35. data/lib/environment_information/constants/misc.rb +0 -86
  36. data/lib/environment_information/constants/namespace.rb +0 -14
  37. data/lib/environment_information/constants/newline.rb +0 -16
  38. data/lib/environment_information/constants/regex.rb +0 -30
  39. data/lib/environment_information/constants/temp_directory.rb +0 -52
  40. data/lib/environment_information/misc_components/README.md +0 -3
  41. data/lib/environment_information/misc_components/cflags.rb +0 -36
  42. data/lib/environment_information/misc_components/cpuinfo.rb +0 -64
  43. data/lib/environment_information/misc_components/operating_system.rb +0 -54
  44. data/lib/environment_information/misc_components/operating_system_bit_type.rb +0 -42
  45. data/lib/environment_information/misc_components/ram.rb +0 -30
  46. data/lib/environment_information/misc_components/rubygems_installation_directory.rb +0 -54
  47. data/lib/environment_information/misc_components/screen_resolution.rb +0 -50
  48. data/lib/environment_information/queries/README.md +0 -2
  49. data/lib/environment_information/queries/complex_version.rb +0 -273
  50. data/lib/environment_information/queries/pkg_config.rb +0 -125
  51. data/lib/environment_information/queries/simple_version.rb +0 -272
  52. data/lib/environment_information/requires/require_the_individual_misc_components.rb +0 -30
  53. data/lib/environment_information/toplevel_methods/autogenerate_all_relevant_methods.rb +0 -153
  54. data/lib/environment_information/toplevel_methods/cd.rb +0 -16
  55. data/lib/environment_information/toplevel_methods/e.rb +0 -43
  56. data/lib/environment_information/toplevel_methods/hash.rb +0 -65
  57. data/lib/environment_information/toplevel_methods/internet_is_available.rb +0 -30
  58. data/lib/environment_information/toplevel_methods/is_on_roebe.rb +0 -16
  59. data/lib/environment_information/toplevel_methods/menu.rb +0 -90
  60. data/lib/environment_information/toplevel_methods/misc.rb +0 -324
  61. data/lib/environment_information/toplevel_methods/n_subcommands.rb +0 -31
  62. data/lib/environment_information/toplevel_methods/prefix_to_use.rb +0 -39
  63. data/lib/environment_information/toplevel_methods/register_this_component_is_missing.rb +0 -61
  64. data/lib/environment_information/toplevel_methods/remote_url_of_this_program.rb +0 -45
  65. data/lib/environment_information/toplevel_methods/replay_from_the_stored_file.rb +0 -84
  66. data/lib/environment_information/toplevel_methods/return_alias_to.rb +0 -30
  67. data/lib/environment_information/toplevel_methods/return_pkgconfig_based_programs.rb +0 -28
  68. data/lib/environment_information/toplevel_methods/return_remote_gtk2_version.rb +0 -54
  69. data/lib/environment_information/toplevel_methods/return_simple_version_based_programs.rb +0 -28
  70. data/lib/environment_information/toplevel_methods/return_version_of_this_program.rb +0 -182
  71. data/lib/environment_information/toplevel_methods/show_all_available_components.rb +0 -192
  72. data/lib/environment_information/toplevel_methods/write_what_into.rb +0 -24
  73. data/lib/environment_information/yaml/array_default_programs_on_linux.yml +0 -15
  74. data/lib/environment_information/yaml/array_lfs_core_programs.yml +0 -37
  75. data/lib/environment_information/yaml/array_science_cluster.yml +0 -12
  76. data/lib/environment_information/yaml/array_tracked_non_programs.yml +0 -13
  77. data/lib/environment_information/yaml/array_tracked_xorg_components.yml +0 -37
  78. data/lib/environment_information/yaml/query_to_use_for_the_individual_components.yml +0 -284
@@ -2,16 +2,377 @@
2
2
  # Encoding: UTF-8
3
3
  # frozen_string_literal: true
4
4
  # =========================================================================== #
5
- # This file will require the other .rb files in the environment/constants/
6
- # subdirectory.
7
- # =========================================================================== #
8
5
  # require 'environment_information/constants/constants.rb'
9
6
  # =========================================================================== #
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'
7
+ module EnvironmentInformation
8
+
9
+ require 'yaml'
10
+ require 'environment_information/project/project.rb'
11
+
12
+ # ========================================================================== #
13
+ # === EnvironmentInformation::N
14
+ #
15
+ # A newline constant to simplify our life.
16
+ # ========================================================================== #
17
+ N = "\n"
18
+
19
+ # ========================================================================== #
20
+ # === NAMESPACE
21
+ # ========================================================================== #
22
+ NAMESPACE = inspect
23
+
24
+ # ========================================================================== #
25
+ # === ARRAY_DEFAULT_PROGRAMS_ON_LINUX
26
+ # ========================================================================== #
27
+ ARRAY_DEFAULT_PROGRAMS_ON_LINUX = %i(
28
+ bash
29
+ gcc
30
+ binutils
31
+ bison
32
+ busybox
33
+ bzip2
34
+ coreutils
35
+ diffutils
36
+ findutils
37
+ flex
38
+ gawk
39
+ grep
40
+ gzip
41
+ linux
42
+ perl
43
+ xz
44
+ )
45
+
46
+ # ========================================================================== #
47
+ # === EnvironmentInformation::ARRAY_VERSION
48
+ # ========================================================================== #
49
+ ARRAY_VERSION = [
50
+ /^-?-?version\??$/i
51
+ ]
52
+
53
+ # ========================================================================== #
54
+ # === EnvironmentInformation::NOT_FOUND
55
+ #
56
+ # This constant is used to denote that a component was not found.
57
+ # ========================================================================== #
58
+ NOT_FOUND = '[Not available, installed or found.]'
59
+
60
+ # ========================================================================== #
61
+ # === EnvironmentInformation::NOT_FOUND
62
+ #
63
+ # This was the old variant.
64
+ # ========================================================================== #
65
+ # NOT_FOUND = 'not found'
66
+
67
+ # ========================================================================== #
68
+ # === EnvironmentInformation::TEMP_DIRECTORY
69
+ #
70
+ # This constant denotes into which directory files should be stored,
71
+ # e. g. autogenerated files from the EnvironmentInformation project.
72
+ #
73
+ # This constant MUST have a trailing '/' character.
74
+ #
75
+ # The environment variable called MY_TEMP_DIR can overrule all
76
+ # other guesses made here, but it is not always available,
77
+ # e. g. in a .cgi file such an environment variable may not
78
+ # be available.
79
+ # ========================================================================== #
80
+ if ENV.has_key? 'MY_TEMP_DIR'
81
+ TEMP_DIRECTORY = ENV['MY_TEMP_DIR'].to_s
82
+ elsif File.directory? '/home/x/Temp/' # ← My main directory.
83
+ TEMP_DIRECTORY = '/home/x/Temp/'
84
+ elsif File.directory? '/Depot/Temp/'
85
+ TEMP_DIRECTORY = '/Depot/Temp/'
86
+ else
87
+ TEMP_DIRECTORY = '/tmp/' # ← "Rescue" for most other users on linux.
88
+ end
89
+
90
+ # ========================================================================== #
91
+ # === @temp_directory
92
+ # ========================================================================== #
93
+ @temp_directory = TEMP_DIRECTORY
94
+
95
+ # ========================================================================== #
96
+ # === EnvironmentInformation.temp_directory?
97
+ #
98
+ # This method will refer to the temp-directory in use for this project.
99
+ #
100
+ # It is advised to make use of the method, rather than the
101
+ # TEMP_DIRECTORY constant, as that is more convenient in the
102
+ # long run.
103
+ # ========================================================================== #
104
+ def self.temp_directory?(
105
+ i = @temp_directory
106
+ )
107
+ i.squeeze('/').dup
108
+ end; self.instance_eval { alias temp_dir? temp_directory? } # === EnvironmentInformation.temp_dir?
109
+
110
+ # ========================================================================== #
111
+ # === EnvironmentInformation::ARRAY_COMPARE_PROGRAM_VERSIONS
112
+ # ========================================================================== #
113
+ ARRAY_COMPARE_PROGRAM_VERSIONS = [
114
+ /^-?-?compare(-|_)?to(-|_)?program(-|_)?versions$/i,
115
+ /^-?-?compare(-|_)?program(-|_)?versions$/i,
116
+ /^-?-?compare(-|_)?programs$/i,
117
+ /^-?-?compare$/i,
118
+ /^-?-?compare(-|_)?version$/i
119
+ ]
120
+
121
+ # ========================================================================== #
122
+ # === EnvironmentInformation::NOT_INSTALLED_OR_NOT_FOUND
123
+ # ========================================================================== #
124
+ NOT_INSTALLED_OR_NOT_FOUND = '[Not installed or not found.]'
125
+
126
+ # ========================================================================== #
127
+ # === EnvironmentInformation::COMMAND_NOT_FOUND
128
+ # ========================================================================== #
129
+ COMMAND_NOT_FOUND = 'command not found'
130
+
131
+ # ========================================================================== #
132
+ # === EnvironmentInformation::VERSION_STRING
133
+ # ========================================================================== #
134
+ VERSION_STRING = 'version'
135
+
136
+ # ========================================================================== #
137
+ # === EnvironmentInformation::NOT_FOUND_IN_PKG_CONFIG_SEARCH_PATH
138
+ #
139
+ # This constant is specifically for missing (or not found) .pc
140
+ # files.
141
+ # ========================================================================== #
142
+ NOT_FOUND_IN_PKG_CONFIG_SEARCH_PATH =
143
+ 'as not found in the pkg-config search path'
144
+
145
+ # ========================================================================== #
146
+ # === EnvironmentInformation::THE_PROGRAM_WAS_NOT_FOUND
147
+ # ========================================================================== #
148
+ THE_PROGRAM_WAS_NOT_FOUND =
149
+ '[The program was not found.]'
150
+
151
+ # ========================================================================== #
152
+ # === EnvironmentInformation::PKGCONFIG_COMMAND_NOT_FOUND
153
+ #
154
+ # The constant that follows next is used to determine whether
155
+ # pkg-config could find a corresponding .pc file. If not then
156
+ # pkg-config will typically report a line such as this:
157
+ #
158
+ # Package libdr was not found in the pkg-config search path.
159
+ #
160
+ # We will include the last part of this string, as a generic
161
+ # message that can be used to indicate "this package could
162
+ # not be found on the given computer system at hand".
163
+ # ========================================================================== #
164
+ PKGCONFIG_COMMAND_NOT_FOUND =
165
+ ' was not found in the pkg-config search path.'
166
+
167
+ # ========================================================================== #
168
+ # === EnvironmentInformation::NO_SUCH_FILE_OR_DIRECTORY
169
+ # ========================================================================== #
170
+ NO_SUCH_FILE_OR_DIRECTORY =
171
+ 'No such file or directory'
172
+
173
+ # ========================================================================== #
174
+ # === TRY_TO_MAKE_USE_OF_THE_OPN_GEM_IF_IT_IS_AVAILABLE
175
+ #
176
+ # This gem is closely connected to the NAMESPACE constant, so it
177
+ # will also reside in this file here.
178
+ # ========================================================================== #
179
+ TRY_TO_MAKE_USE_OF_THE_OPN_GEM_IF_IT_IS_AVAILABLE = true
180
+
181
+ # ========================================================================== #
182
+ # === ERROR_LINE
183
+ #
184
+ # The error line is the one that can be appended to system-related
185
+ # queries (e. g. via system()).
186
+ # ========================================================================== #
187
+ ERROR_LINE = '2>&1'
188
+
189
+ # ========================================================================== #
190
+ # === EnvironmentInformation::SAVE_FILE
191
+ #
192
+ # Where to save stuff to. This depends on a proper setting of the
193
+ # toplevel variable called @temp_directory.
194
+ # ========================================================================== #
195
+ SAVE_FILE =
196
+ "#{@temp_directory}EnvironmentInformation.md"
197
+
198
+ # ========================================================================== #
199
+ # === EnvironmentInformation::UTF_ENCODING
200
+ #
201
+ # UTF-8 is the default encoding for the EnvironmentInformation namespace.
202
+ # ========================================================================== #
203
+ UTF_ENCODING = 'UTF-8'
204
+
205
+ # ========================================================================== #
206
+ # === EnvironmentInformation::MAIN_ENCODING
207
+ # ========================================================================== #
208
+ MAIN_ENCODING = UTF_ENCODING
209
+
210
+ # ========================================================================= #
211
+ # === ARRAY_TRACKED_PROGRAMS
212
+ # ========================================================================= #
213
+ this_file = EnvironmentInformation.project_base_directory?+
214
+ 'yaml/track_these_components.yml'
215
+ if File.exist? this_file
216
+ ARRAY_TRACKED_PROGRAMS = YAML.load_file(this_file)
217
+ else
218
+ ARRAY_TRACKED_PROGRAMS = []
219
+ end
220
+
221
+ # ========================================================================= #
222
+ # === FILE_THESE_PROGRAMS_CAN_BE_UPGRADED
223
+ #
224
+ # We may store which programs could be upgraded into a local file.
225
+ # ========================================================================= #
226
+ FILE_THESE_PROGRAMS_CAN_BE_UPGRADED =
227
+ 'these_programs_can_be_upgraded.yml'
228
+
229
+ # ========================================================================= #
230
+ # === EnvironmentInformation::ARRAY_TRACKED_XORG_COMPONENTS (xorg tag)
231
+ # ========================================================================= #
232
+ ARRAY_TRACKED_XORG_COMPONENTS = %w(
233
+ libevdev
234
+ libinput
235
+ libx11
236
+ libxaw3d
237
+ libxau
238
+ libxcb
239
+ libxcm
240
+ libxcursor
241
+ libxdamage
242
+ libxi
243
+ libxkbfile
244
+ libxmu
245
+ libxpm
246
+ libxpresent
247
+ libxtst
248
+ libxt
249
+ libxv
250
+ libxvmc
251
+ randrproto
252
+ xextproto
253
+ xkbcomp
254
+ xrandr
255
+ xstdcmap
256
+ xf86bigfontproto
257
+ xf86dgaproto
258
+ xf86driproto
259
+ )
260
+
261
+ # ========================================================================== #
262
+ # === EnvironmentInformation.tracked_xorg_components?
263
+ # ========================================================================== #
264
+ def self.tracked_xorg_components?
265
+ ARRAY_TRACKED_XORG_COMPONENTS
266
+ end; self.instance_eval { alias return_all_xorg_components_as_array tracked_xorg_components? } # === EnvironmentInformation.return_all_xorg_components_as_array
267
+ self.instance_eval { alias xorg_components? tracked_xorg_components? } # === EnvironmentInformation.xorg_components?
268
+
269
+ # ========================================================================== #
270
+ # === EnvironmentInformation.file_query_to_use_for_the_individual_components
271
+ # ========================================================================== #
272
+ def self.file_query_to_use_for_the_individual_components
273
+ "#{project_base_directory?}yaml/query_to_use_for_all_components.yml"
274
+ end
275
+
276
+ # ========================================================================== #
277
+ # === EnvironmentInformation::ARRAY_TRACKED_NON_PROGRAMS
278
+ # ========================================================================== #
279
+ ARRAY_TRACKED_NON_PROGRAMS = %w(
280
+ cpuinfo
281
+ operating_system
282
+ operating_system_bit_type
283
+ cflags
284
+ ram
285
+ rubygems_installation_directory
286
+ screen_resolution
287
+ )
288
+
289
+ # ========================================================================== #
290
+ # === EnvironmentInformation.tracked_components?
291
+ # ========================================================================== #
292
+ def self.tracked_components?
293
+ [
294
+ ARRAY_TRACKED_PROGRAMS+
295
+ ARRAY_TRACKED_NON_PROGRAMS
296
+ ].flatten
297
+ end
298
+
299
+ # ========================================================================= #
300
+ # === EnvironmentInformation.tracked_non_programs?
301
+ #
302
+ # Simpler toplevel-method to find out which non-programs are registered
303
+ # within the EnvironmentInformation project.
304
+ # ========================================================================= #
305
+ def self.tracked_non_programs?
306
+ ARRAY_TRACKED_NON_PROGRAMS
307
+ end; self.instance_eval { alias registered_extra_functionality tracked_non_programs? } # === EnvironmentInformation.registered_extra_functionality
308
+
309
+ # ========================================================================== #
310
+ # === EnvironmentInformation::ARRAY_SCIENCE_CLUSTER
311
+ #
312
+ # This is currently hardcoded here.
313
+ # ========================================================================== #
314
+ ARRAY_SCIENCE_CLUSTER = %w(
315
+ hmmer pbbam relion samtools viennarna
316
+ )
317
+
318
+ # ========================================================================== #
319
+ # === EnvironmentInformation.science_cluster?
320
+ # ========================================================================== #
321
+ def self.science_cluster?
322
+ ARRAY_SCIENCE_CLUSTER
323
+ end
324
+
325
+ # ========================================================================= #
326
+ # === ARRAY_LFS_TEMPORARY_PROGRAMS
327
+ #
328
+ # All programs that are temporary, e. g. for enabling the bootstrapping
329
+ # of the compiler, are stored in the following Array.
330
+ # ========================================================================= #
331
+ ARRAY_LFS_TEMPORARY_PROGRAMS = %i(
332
+ binutils
333
+ gcc
334
+ linux_API_headers
335
+ glibc
336
+ libstdc++
337
+ binutils
338
+ tcl
339
+ expect
340
+ dejagnu
341
+ m4
342
+ ncurse
343
+ bash
344
+ bison
345
+ bzip2
346
+ coreutils
347
+ diffutils
348
+ file
349
+ findutils
350
+ gawk
351
+ gettext
352
+ grep
353
+ gzip
354
+ make
355
+ patch
356
+ perl
357
+ python
358
+ sed
359
+ tar
360
+ texinfo
361
+ xz
362
+ )
363
+
364
+ # ========================================================================= #
365
+ # === EnvironmentInformation.tracked_programs?
366
+ #
367
+ # Simpler toplevel-method to find out which programs are registered
368
+ # within the EnvironmentInformation project.
369
+ # ========================================================================= #
370
+ def self.tracked_programs?
371
+ ARRAY_TRACKED_PROGRAMS
372
+ end
373
+
374
+ end
375
+
376
+ if __FILE__ == $PROGRAM_NAME
377
+ pp EnvironmentInformation.lfs_core_programs?
378
+ end
@@ -24,4 +24,4 @@ module EnvironmentInformation
24
24
  PROJECT_BASE_DIRECTORY
25
25
  end; self.instance_eval { alias project_base_dir? project_base_directory? } # === EnvironmentInformation.project_base_dir?
26
26
 
27
- end
27
+ end
@@ -0,0 +1,46 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # ============================================================================ #
5
+ # require 'environment_information/query/constants.rb'
6
+ # ============================================================================ #
7
+ require 'environment_information/base/base.rb'
8
+
9
+ module EnvironmentInformation
10
+
11
+ class Query < ::EnvironmentInformation::Base # === EnvironmentInformation::Query
12
+
13
+ # ========================================================================== #
14
+ # === EnvironmentInformation::EnvironmentInformation::THIS_FILE
15
+ #
16
+ # THIS_FILE = __FILE__
17
+ #
18
+ # We hardcode this since it is only relevant on my home system, anyway.
19
+ # ========================================================================== #
20
+ THIS_FILE =
21
+ '/home/x/programming/ruby/src/'\
22
+ 'environment_information/lib/environment_information/query/'\
23
+ 'query.rb'
24
+
25
+ # ========================================================================== #
26
+ # === N_LEFT_PAD
27
+ # ========================================================================== #
28
+ N_LEFT_PAD = 35
29
+
30
+ # ========================================================================== #
31
+ # === FILE_COLOURS
32
+ # ========================================================================== #
33
+ FILE_COLOURS = "#{::EnvironmentInformation.project_base_dir?}"\
34
+ "yaml/colours.yml"
35
+
36
+ # ========================================================================== #
37
+ # === NAMESPACE
38
+ # ========================================================================== #
39
+ NAMESPACE = inspect
40
+
41
+ # ========================================================================== #
42
+ # === QUERY_TO_USE_FOR_ALL_COMPONENTS
43
+ # ========================================================================== #
44
+ QUERY_TO_USE_FOR_ALL_COMPONENTS = ::EnvironmentInformation.query_to_use_for_all_components?
45
+
46
+ end; end
@@ -0,0 +1,88 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # ============================================================================ #
5
+ # require 'environment_information/query/help.rb'
6
+ # ============================================================================ #
7
+ require 'environment_information/base/base.rb'
8
+
9
+ module EnvironmentInformation
10
+
11
+ class Query < ::EnvironmentInformation::Base # === EnvironmentInformation::Query
12
+
13
+ # ========================================================================== #
14
+ # === do_show_help (help tag)
15
+ #
16
+ # Show the commandline-usage through this method here.
17
+ #
18
+ # To invoke this, try:
19
+ #
20
+ # envi --help
21
+ #
22
+ # ========================================================================== #
23
+ def do_show_help
24
+ e
25
+ lpad = "#{col1} "
26
+ e "#{rev}The following options are available for "\
27
+ "#{simp('class EnvironmentInformation:')}#{rev}#{N}#{N}"
28
+ if ASCIITABLE_IS_AVAILABLE
29
+ e col1+' asciitable '+rev+'# Print in Ascii Table format'
30
+ end
31
+ e lpad+'html '+rev+'# Save the environment information '\
32
+ 'into a .html file'
33
+ e lpad+'gui '+"#{rev}# Start the GTK gui bindings; some "\
34
+ "aliases are possible such as --GUI"
35
+ e lpad+'nocolours '+"#{rev}# Disable colours "\
36
+ "(--disable-colours also works)"
37
+ e lpad+'noruby '+rev+'# dont show ruby-related environment '\
38
+ 'information'
39
+ e lpad+'help '+rev+'# show some help'
40
+ e lpad+'xorg '+rev+'# show some xorg-specific '\
41
+ 'components (also --xorg-components)'
42
+ e lpad+'OS '+rev+'# show the OS then exit'
43
+ e lpad+'full '+rev+'# show full information, including '\
44
+ 'GTK, Glib, Atk and Pango Version'
45
+ e ' # ^^^ This is probably the most useful usage.'
46
+ e lpad+'openssl '+"#{rev}# display openssl option"
47
+ e lpad+'REALLY_ALL '+"#{rev}# also compare the program_versions "\
48
+ "(--really-everything is an alias to this)"
49
+ e lpad+'save '+"#{rev}# display the result, then "\
50
+ "save it into a file"
51
+ e lpad+'sinatra '+"#{rev}# start the sinatra-interface "\
52
+ "of the environment_information project"
53
+ e lpad+'version '+rev+'# show the version of '\
54
+ 'EnvironmentInformation in use'
55
+ e lpad+'--show-remote-url '+rev+'# show the remote URLs '\
56
+ 'of a program (requires the RBT project)'
57
+ e lpad+'padding=value '+"#{rev}# set to another padding value"
58
+ e lpad+'--one-liner '+"#{rev}# show everything compacted, without a newline"
59
+ e lpad+'--nentries? '+"#{rev}# feedback how many entries are tracked in total"
60
+ e rev+N+'The above commands should be commandline arguments, '\
61
+ 'such as: "'+teal('envi full')+rev+'".'
62
+ e
63
+ e "#{rev}Do note that you can prefix the above commands via "\
64
+ "a leading --, of course."
65
+ e
66
+ # ======================================================================== #
67
+ # Show a simple usage example next:
68
+ # ======================================================================== #
69
+ e 'Usage example:'
70
+ e
71
+ e steelblue(
72
+ ' envi --version'
73
+ )
74
+ e
75
+ e "#{rev}If you wish to show only some programs, you could "\
76
+ "use the following:"
77
+ e
78
+ e steelblue(
79
+ ' envi --use-these-programs=bash,binutils,bison,yacc,bzip2,coreutils,diff,find,gawk,gcc'
80
+ )
81
+ e steelblue(
82
+ ' envi --use-these-programs=:lfs'
83
+ )
84
+ e true_rev # Reset via Colours.rev here.
85
+ do_exit_the_program
86
+ end; alias show_help do_show_help # === show_help
87
+
88
+ end; end