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.
- checksums.yaml +7 -0
- data/README.md +1287 -0
- data/bin/envi +7 -0
- data/bin/fast_envi +7 -0
- data/doc/README.gen +1044 -0
- data/doc/todo/TODO_FOR_THE_ENVIRONMENT_INFORMATION_PROJECT.md +48 -0
- data/environment_information.gemspec +135 -0
- data/lib/environment_information/base/base.rb +166 -0
- data/lib/environment_information/class/class.rb +2829 -0
- data/lib/environment_information/colours/colours.rb +224 -0
- data/lib/environment_information/colours/sfancy.rb +19 -0
- data/lib/environment_information/colours/simp.rb +19 -0
- data/lib/environment_information/constants/array_tracked_components.rb +210 -0
- data/lib/environment_information/constants/constants.rb +17 -0
- data/lib/environment_information/constants/encoding.rb +21 -0
- data/lib/environment_information/constants/error_line.rb +17 -0
- data/lib/environment_information/constants/file_constants.rb +102 -0
- data/lib/environment_information/constants/misc.rb +86 -0
- data/lib/environment_information/constants/namespace.rb +14 -0
- data/lib/environment_information/constants/newline.rb +16 -0
- data/lib/environment_information/constants/regex.rb +30 -0
- data/lib/environment_information/constants/temp_directory.rb +52 -0
- data/lib/environment_information/gui/gtk2/environment_information.rb +35 -0
- data/lib/environment_information/gui/gtk3/environment_information.rb +34 -0
- data/lib/environment_information/gui/libui/environment_information.rb +74 -0
- data/lib/environment_information/gui/shared_code/environment_information_module.rb +409 -0
- data/lib/environment_information/misc_components/README.md +3 -0
- data/lib/environment_information/misc_components/cflags.rb +36 -0
- data/lib/environment_information/misc_components/cpuinfo.rb +64 -0
- data/lib/environment_information/misc_components/operating_system.rb +54 -0
- data/lib/environment_information/misc_components/operating_system_bit_type.rb +42 -0
- data/lib/environment_information/misc_components/ram.rb +30 -0
- data/lib/environment_information/misc_components/rubygems_installation_directory.rb +54 -0
- data/lib/environment_information/misc_components/screen_resolution.rb +50 -0
- data/lib/environment_information/project/project.rb +27 -0
- data/lib/environment_information/queries/README.md +2 -0
- data/lib/environment_information/queries/complex_version.rb +273 -0
- data/lib/environment_information/queries/pkg_config.rb +125 -0
- data/lib/environment_information/queries/simple_version.rb +217 -0
- data/lib/environment_information/requires/require_asciitable.rb +15 -0
- data/lib/environment_information/requires/require_the_constants.rb +7 -0
- data/lib/environment_information/requires/require_the_environment_information_project.rb +23 -0
- data/lib/environment_information/requires/require_the_individual_misc_components.rb +30 -0
- data/lib/environment_information/requires/require_the_toplevel_methods.rb +22 -0
- data/lib/environment_information/toplevel_methods/autogenerate_all_relevant_methods.rb +152 -0
- data/lib/environment_information/toplevel_methods/cd.rb +16 -0
- data/lib/environment_information/toplevel_methods/e.rb +43 -0
- data/lib/environment_information/toplevel_methods/hash.rb +60 -0
- data/lib/environment_information/toplevel_methods/internet_is_available.rb +30 -0
- data/lib/environment_information/toplevel_methods/is_on_roebe.rb +16 -0
- data/lib/environment_information/toplevel_methods/menu.rb +90 -0
- data/lib/environment_information/toplevel_methods/misc.rb +322 -0
- data/lib/environment_information/toplevel_methods/n_subcommands.rb +31 -0
- data/lib/environment_information/toplevel_methods/prefix_to_use.rb +39 -0
- data/lib/environment_information/toplevel_methods/register_this_component_is_missing.rb +61 -0
- data/lib/environment_information/toplevel_methods/remote_url_of_this_program.rb +45 -0
- data/lib/environment_information/toplevel_methods/replay_from_the_stored_file.rb +84 -0
- data/lib/environment_information/toplevel_methods/return_alias_to.rb +30 -0
- data/lib/environment_information/toplevel_methods/return_pkgconfig_based_programs.rb +28 -0
- data/lib/environment_information/toplevel_methods/return_remote_gtk2_version.rb +54 -0
- data/lib/environment_information/toplevel_methods/return_simple_version_based_programs.rb +28 -0
- data/lib/environment_information/toplevel_methods/return_version_of_this_program.rb +182 -0
- data/lib/environment_information/toplevel_methods/show_all_available_components.rb +192 -0
- data/lib/environment_information/toplevel_methods/write_what_into.rb +24 -0
- data/lib/environment_information/version/version.rb +25 -0
- data/lib/environment_information/www/sinatra_interface.rb +213 -0
- data/lib/environment_information/www/webobject_interface.cgi +29 -0
- data/lib/environment_information/yaml/array_default_programs_on_linux.yml +15 -0
- data/lib/environment_information/yaml/array_lfs_core_programs.yml +37 -0
- data/lib/environment_information/yaml/array_science_cluster.yml +12 -0
- data/lib/environment_information/yaml/array_tracked_non_programs.yml +13 -0
- data/lib/environment_information/yaml/array_tracked_programs.yml +215 -0
- data/lib/environment_information/yaml/array_tracked_xorg_components.yml +37 -0
- data/lib/environment_information/yaml/colours.yml +3 -0
- data/lib/environment_information/yaml/query_to_use_for_the_individual_components.yml +264 -0
- data/lib/environment_information.rb +5 -0
- data/test/testing_environment_information.rb +26 -0
- data/test/testing_missing_components.rb +9 -0
- data/test/testing_prefix_for_the_environment_information_project.rb +20 -0
- metadata +177 -0
@@ -0,0 +1,86 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# require 'environment_information/constants/misc.rb'
|
6
|
+
# =========================================================================== #
|
7
|
+
module EnvironmentInformation
|
8
|
+
|
9
|
+
require 'environment_information/constants/encoding.rb'
|
10
|
+
require 'environment_information/constants/temp_directory.rb'
|
11
|
+
|
12
|
+
# ========================================================================= #
|
13
|
+
# === EnvironmentInformation::NOT_INSTALLED_OR_NOT_FOUND
|
14
|
+
# ========================================================================= #
|
15
|
+
NOT_INSTALLED_OR_NOT_FOUND = '[Not installed or not found.]'
|
16
|
+
|
17
|
+
# ========================================================================= #
|
18
|
+
# === EnvironmentInformation::COMMAND_NOT_FOUND
|
19
|
+
# ========================================================================= #
|
20
|
+
COMMAND_NOT_FOUND = 'command not found'
|
21
|
+
|
22
|
+
# ========================================================================= #
|
23
|
+
# === EnvironmentInformation::NOT_FOUND
|
24
|
+
# ========================================================================= #
|
25
|
+
NOT_FOUND = 'not found'
|
26
|
+
|
27
|
+
# ========================================================================= #
|
28
|
+
# === EnvironmentInformation::VERSION_STRING
|
29
|
+
# ========================================================================= #
|
30
|
+
VERSION_STRING = 'version'
|
31
|
+
|
32
|
+
# ========================================================================= #
|
33
|
+
# === EnvironmentInformation::NOT_FOUND_IN_PKG_CONFIG_SEARCH_PATH
|
34
|
+
#
|
35
|
+
# This constant is specifically for missing (or not found) .pc
|
36
|
+
# files.
|
37
|
+
# ========================================================================= #
|
38
|
+
NOT_FOUND_IN_PKG_CONFIG_SEARCH_PATH =
|
39
|
+
'as not found in the pkg-config search path'
|
40
|
+
|
41
|
+
# ========================================================================= #
|
42
|
+
# === EnvironmentInformation::THE_PROGRAM_WAS_NOT_FOUND
|
43
|
+
# ========================================================================= #
|
44
|
+
THE_PROGRAM_WAS_NOT_FOUND =
|
45
|
+
'[The program was not found.]'
|
46
|
+
|
47
|
+
# ========================================================================= #
|
48
|
+
# === EnvironmentInformation::PKGCONFIG_COMMAND_NOT_FOUND
|
49
|
+
#
|
50
|
+
# The constant that follows next is used to determine whether
|
51
|
+
# pkg-config could find a corresponding .pc file. If not then
|
52
|
+
# pkg-config will typically report a line such as this:
|
53
|
+
#
|
54
|
+
# Package libdr was not found in the pkg-config search path.
|
55
|
+
#
|
56
|
+
# We will include the last part of this string, as a generic
|
57
|
+
# message that can be used to indicate "this package could
|
58
|
+
# not be found on the given computer system at hand".
|
59
|
+
# ========================================================================= #
|
60
|
+
PKGCONFIG_COMMAND_NOT_FOUND =
|
61
|
+
' was not found in the pkg-config search path.'
|
62
|
+
|
63
|
+
# ========================================================================= #
|
64
|
+
# === EnvironmentInformation::NO_SUCH_FILE_OR_DIRECTORY
|
65
|
+
# ========================================================================= #
|
66
|
+
NO_SUCH_FILE_OR_DIRECTORY =
|
67
|
+
'No such file or directory'
|
68
|
+
|
69
|
+
# ========================================================================= #
|
70
|
+
# === TRY_TO_MAKE_USE_OF_THE_OPN_GEM_IF_IT_IS_AVAILABLE
|
71
|
+
#
|
72
|
+
# This gem is closely connected to the NAMESPACE constant, so it
|
73
|
+
# will also reside in this file here.
|
74
|
+
# ========================================================================= #
|
75
|
+
TRY_TO_MAKE_USE_OF_THE_OPN_GEM_IF_IT_IS_AVAILABLE = true
|
76
|
+
|
77
|
+
# ========================================================================= #
|
78
|
+
# === EnvironmentInformation::SAVE_FILE
|
79
|
+
#
|
80
|
+
# Where to save stuff to. This depends on a proper setting of the
|
81
|
+
# toplevel variable called @temp_directory.
|
82
|
+
# ========================================================================= #
|
83
|
+
SAVE_FILE =
|
84
|
+
"#{@temp_directory}EnvironmentInformation.md"
|
85
|
+
|
86
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# require 'environment_information/constants/namespace.rb'
|
6
|
+
# =========================================================================== #
|
7
|
+
module EnvironmentInformation
|
8
|
+
|
9
|
+
# ========================================================================= #
|
10
|
+
# === NAMESPACE
|
11
|
+
# ========================================================================= #
|
12
|
+
NAMESPACE = inspect
|
13
|
+
|
14
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# require 'environment_information/constants/newline.rb'
|
6
|
+
# =========================================================================== #
|
7
|
+
module EnvironmentInformation
|
8
|
+
|
9
|
+
# ========================================================================= #
|
10
|
+
# === EnvironmentInformation::N
|
11
|
+
#
|
12
|
+
# A newline constant to simplify our life.
|
13
|
+
# ========================================================================= #
|
14
|
+
N = "\n"
|
15
|
+
|
16
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# All regexes that relate to EnvironmentInformation project should be
|
6
|
+
# stored in this file here.
|
7
|
+
# =========================================================================== #
|
8
|
+
# require 'environment_information/constants/regex.rb'
|
9
|
+
# =========================================================================== #
|
10
|
+
module EnvironmentInformation
|
11
|
+
|
12
|
+
# ========================================================================= #
|
13
|
+
# === EnvironmentInformation::ARRAY_VERSION
|
14
|
+
# ========================================================================= #
|
15
|
+
ARRAY_VERSION = [
|
16
|
+
/^-?-?version\??$/i
|
17
|
+
]
|
18
|
+
|
19
|
+
# ========================================================================= #
|
20
|
+
# === EnvironmentInformation::ARRAY_COMPARE_PROGRAM_VERSIONS
|
21
|
+
# ========================================================================= #
|
22
|
+
ARRAY_COMPARE_PROGRAM_VERSIONS = [
|
23
|
+
/^-?-?compare(-|_)?to(-|_)?program(-|_)?versions$/i,
|
24
|
+
/^-?-?compare(-|_)?program(-|_)?versions$/i,
|
25
|
+
/^-?-?compare(-|_)?programs$/i,
|
26
|
+
/^-?-?compare$/i,
|
27
|
+
/^-?-?compare(-|_)?version$/i
|
28
|
+
]
|
29
|
+
|
30
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# require 'environment_information/constants/temp_directory.rb'
|
6
|
+
# =========================================================================== #
|
7
|
+
module EnvironmentInformation
|
8
|
+
|
9
|
+
# ========================================================================= #
|
10
|
+
# === EnvironmentInformation::TEMP_DIRECTORY
|
11
|
+
#
|
12
|
+
# This constant denotes into which directory files should be stored,
|
13
|
+
# e. g. autogenerated files from the EnvironmentInformation project.
|
14
|
+
#
|
15
|
+
# This constant MUST have a trailing '/' character.
|
16
|
+
#
|
17
|
+
# The environment variable called MY_TEMP_DIR can overrule all
|
18
|
+
# other guesses made here, but it is not always available,
|
19
|
+
# e. g. in a .cgi file such an environment variable may not
|
20
|
+
# be available.
|
21
|
+
# ========================================================================= #
|
22
|
+
if ENV.has_key? 'MY_TEMP_DIR'
|
23
|
+
TEMP_DIRECTORY = ENV['MY_TEMP_DIR'].to_s
|
24
|
+
elsif File.directory? '/home/Temp/' # ← My main directory.
|
25
|
+
TEMP_DIRECTORY = '/home/Temp/'
|
26
|
+
elsif File.directory? '/Depot/Temp/'
|
27
|
+
TEMP_DIRECTORY = '/Depot/Temp/'
|
28
|
+
else
|
29
|
+
TEMP_DIRECTORY = '/tmp/' # ← "Rescue" for most other users on linux.
|
30
|
+
end
|
31
|
+
|
32
|
+
# ========================================================================= #
|
33
|
+
# === @temp_directory
|
34
|
+
# ========================================================================= #
|
35
|
+
@temp_directory = TEMP_DIRECTORY
|
36
|
+
|
37
|
+
# ========================================================================= #
|
38
|
+
# === EnvironmentInformation.temp_directory?
|
39
|
+
#
|
40
|
+
# This method will refer to the temp-directory in use for this project.
|
41
|
+
#
|
42
|
+
# It is advised to make use of the method, rather than the
|
43
|
+
# TEMP_DIRECTORY constant, as that is more convenient in the
|
44
|
+
# long run.
|
45
|
+
# ========================================================================= #
|
46
|
+
def self.temp_directory?(
|
47
|
+
i = @temp_directory
|
48
|
+
)
|
49
|
+
i.squeeze('/').dup
|
50
|
+
end; self.instance_eval { alias temp_dir? temp_directory? } # === EnvironmentInformation.temp_dir?
|
51
|
+
|
52
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# === EnvironmentInformation::EnvironmentInformation::GUI::Gtk::EnvironmentInformation
|
6
|
+
# =========================================================================== #
|
7
|
+
# require 'environment_information/gui/gtk2/environment_information.rb'
|
8
|
+
# EnvironmentInformation::EnvironmentInformation::GUI::GtkE::nvironmentInformation.run
|
9
|
+
# EnvironmentInformation.run_gtk
|
10
|
+
# =========================================================================== #
|
11
|
+
begin # Pull in the gtk_paradise project next.
|
12
|
+
require 'gtk_paradise/require_gtk2'
|
13
|
+
rescue LoadError; end
|
14
|
+
|
15
|
+
module EnvironmentInformation
|
16
|
+
|
17
|
+
require 'environment_information/base/base.rb'
|
18
|
+
require 'environment_information/requires/require_the_environment_information_project.rb'
|
19
|
+
|
20
|
+
class EnvironmentInformation < ::EnvironmentInformation::Base # === EnvironmentInformation::EnvironmentInformation
|
21
|
+
|
22
|
+
module GUI
|
23
|
+
|
24
|
+
module Gtk
|
25
|
+
|
26
|
+
class EnvironmentInformation < ::Gtk::VBox
|
27
|
+
|
28
|
+
require 'environment_information/gui/shared_code/binding_module.rb'
|
29
|
+
include ::EnvironmentInformation::EnvironmentInformation::GUI::Gtk::BindingModule
|
30
|
+
|
31
|
+
end; end; end; end; end
|
32
|
+
|
33
|
+
if __FILE__ == $PROGRAM_NAME
|
34
|
+
EnvironmentInformation.run_gtk
|
35
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# === EnvironmentInformation::EnvironmentInformation::GUI::Gtk::EnvironmentInformation
|
6
|
+
# =========================================================================== #
|
7
|
+
# require 'environment_information/gui/gtk3/environment_information.rb'
|
8
|
+
# EnvironmentInformation::EnvironmentInformation::GUI::Gtk::EnvironmentInformation.run
|
9
|
+
# =========================================================================== #
|
10
|
+
begin # Pull in the gtk_paradise project next.
|
11
|
+
require 'gtk_paradise/require_gtk3'
|
12
|
+
rescue LoadError; end
|
13
|
+
|
14
|
+
module EnvironmentInformation
|
15
|
+
|
16
|
+
require 'environment_information/base/base.rb'
|
17
|
+
require 'environment_information/requires/require_the_environment_information_project.rb'
|
18
|
+
|
19
|
+
class EnvironmentInformation < ::EnvironmentInformation::Base # === EnvironmentInformation::EnvironmentInformation
|
20
|
+
|
21
|
+
module GUI
|
22
|
+
|
23
|
+
module Gtk
|
24
|
+
|
25
|
+
class EnvironmentInformation < ::Gtk::Box
|
26
|
+
|
27
|
+
require 'environment_information/gui/shared_code/environment_information_module.rb'
|
28
|
+
include ::EnvironmentInformation::EnvironmentInformation::GUI::Gtk::EnvironmentInformationModule
|
29
|
+
|
30
|
+
end; end; end; end; end
|
31
|
+
|
32
|
+
if __FILE__ == $PROGRAM_NAME
|
33
|
+
EnvironmentInformation.run_gtk
|
34
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# === EnvironmentInformation::GUI::Libui::EnvironmentInformation
|
6
|
+
# =========================================================================== #
|
7
|
+
# require 'environment_information/gui/libui/environment_information.rb'
|
8
|
+
# EnvironmentInformation::GUI::Libui::EnvironmentInformation.new
|
9
|
+
# =========================================================================== #
|
10
|
+
module EnvironmentInformation
|
11
|
+
|
12
|
+
module GUI
|
13
|
+
|
14
|
+
module Libui
|
15
|
+
|
16
|
+
class EnvironmentInformation # === EnvironmentInformation::GUI::Libui::EnvironmentInformation
|
17
|
+
|
18
|
+
require 'libui_paradise/autoinclude'
|
19
|
+
require 'environment_information'
|
20
|
+
|
21
|
+
TITLE = 'Environment Information GUI'
|
22
|
+
WIDTH = 500
|
23
|
+
HEIGHT = 500
|
24
|
+
|
25
|
+
# ========================================================================= #
|
26
|
+
# === initialize
|
27
|
+
# ========================================================================= #
|
28
|
+
def initialize
|
29
|
+
reset
|
30
|
+
create_skeleton
|
31
|
+
@main_window = ui_margined_main_window(
|
32
|
+
TITLE, WIDTH, HEIGHT, 0
|
33
|
+
)
|
34
|
+
outer_vbox = ui_padded_vbox
|
35
|
+
label = ui_label('Environment Information GUI')
|
36
|
+
|
37
|
+
outer_vbox.minimal(
|
38
|
+
label
|
39
|
+
)
|
40
|
+
text_view = ui_text_view
|
41
|
+
_ = ''.dup
|
42
|
+
::EnvironmentInformation.initialize_hash
|
43
|
+
::EnvironmentInformation.hash.each_pair {|key, value|
|
44
|
+
_ << "#{(key.to_s+':').ljust(25)} #{value}\n"
|
45
|
+
}
|
46
|
+
text_view.set_text(_)
|
47
|
+
outer_vbox.maximal(text_view)
|
48
|
+
@main_window.child = outer_vbox
|
49
|
+
@main_window.intelligent_exit
|
50
|
+
end
|
51
|
+
|
52
|
+
# ========================================================================= #
|
53
|
+
# === reset (reset tag)
|
54
|
+
# ========================================================================= #
|
55
|
+
def reset
|
56
|
+
end
|
57
|
+
|
58
|
+
# ========================================================================= #
|
59
|
+
# === create_skeleton
|
60
|
+
# ========================================================================= #
|
61
|
+
def create_skeleton
|
62
|
+
end
|
63
|
+
|
64
|
+
# ========================================================================= #
|
65
|
+
# === create_buttons
|
66
|
+
# ========================================================================= #
|
67
|
+
def create_buttons
|
68
|
+
end
|
69
|
+
|
70
|
+
end; end; end; end
|
71
|
+
|
72
|
+
if __FILE__ == $PROGRAM_NAME
|
73
|
+
EnvironmentInformation::GUI::Libui::EnvironmentInformation.new
|
74
|
+
end
|