ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/host/ihost-perl/plugins/perl/i-scream_osver.pl
Revision: 1.5
Committed: Fri Mar 28 16:30:34 2003 UTC (21 years, 7 months ago) by tdb
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Changes since 1.4: +1 -1 lines
State: FILE REMOVED
Error occurred while calculating annotation data.
Log Message:
Removed some un-used code from CVS. We can always resurrect this later if
someone feels they want to work on it. Gone are the old perl ihost which
isn't needed now, winhost which is broken and shows no sign of being fixed,
and DBReporter. If someone wants to revive them, I'll undelete them :-)

File Contents

# Content
1 #!/usr/bin/perl -w
2
3 #
4 # i-scream central monitoring system
5 # http://www.i-scream.org.uk
6 # Copyright (C) 2000-2002 i-scream
7 #
8 # This program is free software; you can redistribute it and/or
9 # modify it under the terms of the GNU General Public License
10 # as published by the Free Software Foundation; either version 2
11 # of the License, or (at your option) any later version.
12 #
13 # This program is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 # GNU General Public License for more details.
17 #
18 # You should have received a copy of the GNU General Public License
19 # along with this program; if not, write to the Free Software
20 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21 #
22
23 #-----------------------------------------------------------------
24 # i-scream host plugin - os details and version
25 # $Author: tdb $
26 # $Id: i-scream_osver.pl,v 1.4 2002/05/21 16:47:12 tdb Exp $
27 #
28 # A short perl script to grab the os version etc
29 #-----------------------------------------------------------------
30
31
32 $| = 1;
33
34
35 # You'd be silly not to use this ;)
36 use strict;
37
38 # Get the OS type from the args, or try towork it out
39 my($ostype) = $ARGV[0];
40 $ostype = `uname -s` if not defined $ostype;
41 chomp($ostype);
42
43 # Decide which paths we should use.
44 my($unamebin);
45 if ($ostype eq "SunOS" || $ostype eq "FreeBSD") {
46 # covers: Solaris 7/8
47 # covers: FreeBSD 4.X
48 $unamebin = "/usr/bin/uname";
49 }
50 elsif ($ostype eq "Linux") {
51 # covers: Debian r2.2
52 $unamebin = "/bin/uname";
53 }
54 else {
55 print "i-scream_osver.pl Error: Unable to identify system type - \"$ostype\".\n";
56 print "\"uname -s\" does not report one of the following known types;\n";
57 print " SunOS, Linux, FreeBSD\n";
58 exit(1);
59 }
60
61 # Run the following components: -
62 &include_osver();
63
64 # End the program normally.
65 exit(0);
66
67
68
69
70 # sub to print pairs of data, separated by a single space character.
71 # If the second argument is undefined, then the pair is still printed,
72 # however, the value shall be displayed as the the 'default' value
73 # if the passed value was undefined.
74 sub print_pair($$$) {
75 my($default, $name, $value) = @_;
76
77 if (!defined $value) {
78 $value = $default;
79 }
80
81 # Remove the trailing linefeed if we've not already done so.
82 chomp($value);
83
84 # print the pair of data with a space inbetween.
85 print "$name $value\n";
86 }
87
88 # sub to get details of the machine's operating system.
89 sub include_osver() {
90
91 # Find out details about the operating system
92 # If these values remain undefined, then the print_pair
93 # function shall show the value to be the string "unknown".
94 my($os_name) = `$unamebin -s`;
95 my($os_release) = `$unamebin -r`;
96 my($os_platform) = `$unamebin -m`;
97 my($os_sysname) = `$unamebin -n`;
98 my($os_version) = `$unamebin -v`;
99
100 &print_pair("unknown", "packet.os.name", $os_name);
101 &print_pair("unknown", "packet.os.release", $os_release);
102 &print_pair("unknown", "packet.os.platform", $os_platform);
103 &print_pair("unknown", "packet.os.sysname", $os_sysname);
104 &print_pair("unknown", "packet.os.version", $os_version);
105
106 }