sys-uname 0.7.3 → 0.7.4

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGES CHANGED
@@ -1,3 +1,7 @@
1
+ == 0.7.4 - 19-Nov-2006
2
+ * Internal layout changes, doc updates and gemspec improvements.
3
+ * No code changes.
4
+
1
5
  == 0.7.3 - 30-Jul-2006
2
6
  * Bug fix for 64 bit platforms.
3
7
  * Minor modification of the extconf.rb file.
data/MANIFEST CHANGED
@@ -1,16 +1,16 @@
1
- extconf.rb
2
1
  install.rb
3
2
  MANIFEST
4
3
  CHANGES
5
4
  README
6
5
  sys-uname.gemspec
7
6
 
8
- doc/uname.rd
9
7
  doc/uname.txt
10
8
 
11
9
  examples/uname_test.rb
12
10
 
13
- lib/os/unix.c
14
- lib/os/windows.rb
11
+ ext/extconf.rb
12
+ ext/uname.c
15
13
 
16
- test/tc_uname.rb
14
+ lib/sys/uname.rb
15
+
16
+ test/tc_uname.rb
data/README CHANGED
@@ -1,30 +1,42 @@
1
- == Prerequisites
2
- Unix: Ruby 1.8.0 or later
3
- Windows: Ruby 1.8.2 or later (earlier versions segfault due to OLE bugs)
1
+ = Prerequisites
2
+ === Unix
3
+ Ruby 1.8.0 or later.
4
+ === MS Windows
5
+ Ruby 1.8.2 or later. Earlier versions segfault due to OLE bugs.
6
+ Active WMI service (normally on by default).
4
7
 
5
- == Installation: Unix
8
+ = Installation
9
+ === Unix
6
10
  ruby extconf.rb
7
11
  make
8
12
  ruby test/tc_uname.rb (optional)
9
13
  make site-install
10
-
11
- == Installation: Win32
14
+ === MS Windows
12
15
  ruby test\tc_uname.rb (optional)
13
16
  ruby install.rb
14
-
15
- == Solaris Notes
17
+
18
+ = Synopsis
19
+ require 'sys/uname'
20
+ include Sys
21
+
22
+ p Uname.uname
23
+
24
+ = Solaris Notes
16
25
  Folks building this package on SunOS get two extra methods: architecture()
17
26
  and platform()
18
27
 
19
- == OS X Notes
28
+ = OS X Notes
20
29
  OS X users get the extra method "model()".
21
30
 
22
- == HP-UX Notes
31
+ = HP-UX Notes
23
32
  HP-UX users get the extra method "id()". This is actually a String, not
24
33
  a Fixnum, because that's how it's defined in the utsname struct.
25
34
 
26
- == MS Windows Notes
35
+ = MS Windows Notes
27
36
  The C version for Windows has been completely scrapped in favor of an OLE
28
37
  plus WMI approach. It is pure Ruby. Please see the MSDN documentation for
29
38
  the Win32_OperatingSystem class for a complete list of what each of the
30
39
  UnameStruct members mean.
40
+
41
+ = Documentation
42
+ For more details, see the 'uname.txt' file under the 'doc' directory.
data/doc/uname.txt CHANGED
@@ -1,122 +1,122 @@
1
1
  == Description
2
- A Ruby interface to the 'uname' command.
2
+ A Ruby interface to the 'uname' command.
3
3
 
4
4
  == Synopsis
5
- require 'sys/uname'
6
- include Sys
7
-
8
- puts Uname.nodename
9
- puts Uname.version
10
- puts Uname.sysname
11
- puts Uname.machine
12
- puts Uname.release
5
+ require 'sys/uname'
6
+ include Sys
7
+
8
+ puts Uname.nodename
9
+ puts Uname.version
10
+ puts Uname.sysname
11
+ puts Uname.machine
12
+ puts Uname.release
13
13
 
14
- p Uname.uname
14
+ p Uname.uname
15
15
 
16
16
  == Constants
17
17
  VERSION
18
- The current version number of sys-uname.
18
+ The current version number of sys-uname.
19
19
 
20
20
  == Class Methods
21
21
  Uname.sysname
22
- Returns the operating system name. e.g. "SunOS"
22
+ Returns the operating system name. e.g. "SunOS"
23
23
 
24
24
  Uname.nodename
25
- Returns the nodename. This is usually, but not necessarily, the
26
- same as the system's hostname.
25
+ Returns the nodename. This is usually, but not necessarily, the
26
+ same as the system's hostname.
27
27
 
28
- You cannot currently set the nodename (root or otherwise). This may
29
- be added in a future release.
28
+ You cannot currently set the nodename (root or otherwise). This may
29
+ be added in a future release.
30
30
 
31
31
  Uname.machine
32
- Returns the machine hardware type. e.g. "i686"
32
+ Returns the machine hardware type. e.g. "i686"
33
33
 
34
34
  Uname.version
35
- Returns the operating system version. e.g. "5.8". In the case of MS
36
- Windows, it returns the version plus patch information, separated by
37
- a hyphen, e.g. "2915-Service Pack 2".
35
+ Returns the operating system version. e.g. "5.8". In the case of MS
36
+ Windows, it returns the version plus patch information, separated by
37
+ a hyphen, e.g. "2915-Service Pack 2".
38
38
 
39
39
  Uname.release
40
- Returns the operating system release. e.g. "2.2.16-3"
40
+ Returns the operating system release. e.g. "2.2.16-3"
41
41
 
42
42
  Uname.uname
43
- Returns a struct of type UnameStruct that contains sysname, nodename,
44
- machine, version, and release. On Solaris, it will also include
45
- architecture and platform. On HP-UX, it will also include id.
43
+ Returns a struct of type UnameStruct that contains sysname, nodename,
44
+ machine, version, and release. On Solaris, it will also include
45
+ architecture and platform. On HP-UX, it will also include id.
46
46
 
47
- MS Windows - there are many more, and different, fields in the struct.
48
- Please see the MSDN documenation for a complete explanation of what
49
- each of these members mean.
47
+ MS Windows - there are many more, and different, fields in the struct.
48
+ Please see the MSDN documenation for a complete explanation of what
49
+ each of these members mean.
50
50
 
51
51
  == Solaris Only
52
52
  Uname.architecture
53
- Returns the instruction set architecture. e.g. "sparc"
53
+ Returns the instruction set architecture. e.g. "sparc"
54
54
 
55
55
  Uname.platform
56
- Returns the platform identifier. e.g. "SUNW,Sun-Blade-100"
56
+ Returns the platform identifier. e.g. "SUNW,Sun-Blade-100"
57
57
 
58
58
  Uname.isa_list
59
- Returns a space separated string containing a list of all variant
60
- instruction set architectures executable on the current system.
59
+ Returns a space separated string containing a list of all variant
60
+ instruction set architectures executable on the current system.
61
61
 
62
- They are listed in order of performance, from best to worst.
62
+ They are listed in order of performance, from best to worst.
63
63
 
64
64
  Uname.hw_provider
65
- Returns the name of the hardware manufacturer.
65
+ Returns the name of the hardware manufacturer.
66
66
 
67
67
  Uname.hw_serial_number
68
- Returns the ASCII representation of the hardware-specific serial number
69
- of the machine that executes the function.
68
+ Returns the ASCII representation of the hardware-specific serial number
69
+ of the machine that executes the function.
70
70
 
71
71
  Uname.srpc_domain
72
- Returns the name of the Secure Remote Procedure Call domain, if any.
72
+ Returns the name of the Secure Remote Procedure Call domain, if any.
73
73
 
74
74
  Uname.dhcp_cache
75
- Returns a hexidecimal encoding, in String form, of the name of the
76
- interface configured by boot(1M) followed by the DHCPACK reply from
77
- the server.
75
+ Returns a hexidecimal encoding, in String form, of the name of the
76
+ interface configured by boot(1M) followed by the DHCPACK reply from
77
+ the server.
78
78
 
79
79
  == OS X Only
80
80
  Uname.model
81
- Returns the model type, e.g. "PowerBook5,1"
81
+ Returns the model type, e.g. "PowerBook5,1"
82
82
 
83
83
  == HP-UX Only
84
84
  Uname.id
85
- Returns the id number, e.g. 234233587. This is a String, not a Fixnum.
85
+ Returns the id number, e.g. 234233587. This is a String, not a Fixnum.
86
86
 
87
87
  == Notes
88
- Not all of the information that you might be used to seeing with
89
- a 'uname -a' is available. This may be added in future releases,
90
- but since different implementations provide different information
91
- (via different header files) it will be a bit of a pain.
88
+ Not all of the information that you might be used to seeing with
89
+ a 'uname -a' is available. This may be added in future releases,
90
+ but since different implementations provide different information
91
+ (via different header files) it will be a bit of a pain.
92
92
 
93
- Windows users - please see the MSDN documentation for the
93
+ Windows users - please see the MSDN documentation for the
94
94
  Win32_OperatingSystem class for a complete list of what each of the
95
95
  UnameStruct members mean.
96
96
 
97
97
  == Known Bugs
98
- None that I'm aware of. Please log any bugs on the project page at
99
- http://ruby-sysutils.sf.net.
98
+ None that I'm aware of. Please log any bugs on the project page at
99
+ http://www.rubyforge.org/projects/sysutils.
100
100
 
101
101
  == Future Plans
102
102
  Add additional info for Linux, Solaris, BSD.
103
103
 
104
104
  == License
105
- Ruby's
105
+ Ruby's
106
106
 
107
107
  == Copyright
108
- (C) 2002-2005 Daniel J. Berger
109
- All Rights Reserved
108
+ (C) 2002-2006 Daniel J. Berger
109
+ All Rights Reserved
110
110
 
111
111
  == Warranty
112
- This package is provided "as is" and without any express or
113
- implied warranties, including, without limitation, the implied
114
- warranties of merchantability and fitness for a particular purpose.
112
+ This package is provided "as is" and without any express or
113
+ implied warranties, including, without limitation, the implied
114
+ warranties of merchantability and fitness for a particular purpose.
115
115
 
116
116
  == Author
117
- Daniel Berger
118
- djberg96 at yahoo dot com
119
- imperator/rubyhacker1 on IRC (Freenode)
117
+ Daniel Berger
118
+ djberg96 at gmail dot com
119
+ imperator on IRC (Freenode)
120
120
 
121
121
  == See Also
122
- uname(1) for unix, or WMI for MS Windows.
122
+ uname(1) for unix, or WMI for MS Windows.
data/ext/extconf.rb ADDED
@@ -0,0 +1,28 @@
1
+ ##########################
2
+ # extconf.rb - sys-uname
3
+ ##########################
4
+ require 'mkmf'
5
+
6
+ if PLATFORM.match('mswin')
7
+ STDERR.puts "Run 'ruby install.rb' instead for Windows"
8
+ STDERR.puts "Exiting..."
9
+ exit
10
+ end
11
+
12
+ if RUBY_PLATFORM =~ /sunos|solaris/i
13
+ have_header('sys/systeminfo.h')
14
+ end
15
+
16
+ ########################################################################
17
+ # Move any ".rb" files under 'lib/sys/' to ".orig" to prevent mkmf from
18
+ # installing them during the 'make install' phase.
19
+ ########################################################################
20
+ if File.basename(Dir.pwd) == 'ext'
21
+ Dir.chdir('..'){
22
+ Dir["lib/sys/*.rb"].each{ |f|
23
+ File.rename(f, 'lib/sys/' + File.basename(f, '.rb')+ '.orig')
24
+ }
25
+ }
26
+ end
27
+
28
+ create_makefile('sys/uname')
@@ -8,7 +8,7 @@
8
8
  #include "ruby.h"
9
9
  #include <sys/utsname.h>
10
10
 
11
- #define SYS_UNAME_VERSION "0.7.3"
11
+ #define SYS_UNAME_VERSION "0.7.4"
12
12
 
13
13
  /* Solaris */
14
14
  #ifdef HAVE_SYS_SYSTEMINFO_H
data/test/tc_uname.rb CHANGED
@@ -5,34 +5,28 @@
5
5
  ##############################################################################
6
6
  base = File.basename(Dir.pwd)
7
7
 
8
- if base == "test" || base =~ /sys-uname/
9
- require "ftools"
10
-
11
- Dir.chdir("..") if base == "test"
12
- Dir.mkdir("sys") unless File.exists?("sys")
8
+ if base == 'test' || base =~ /sys-uname/
9
+ Dir.chdir('..') if base == 'test'
13
10
 
14
- extension = nil
15
- case RUBY_PLATFORM
16
- when /powerpc|darwin/i
17
- extension = ".bundle"
18
- when /hpux/i
19
- extension = ".sl"
11
+ if RUBY_PLATFORM.match('mswin')
12
+ $LOAD_PATH.unshift(Dir.pwd + '/lib')
13
+ else
14
+ require 'ftools'
15
+ require 'rbconfig'
16
+ Dir.mkdir('sys') unless File.exists?('sys')
17
+ file = 'uname.' + Config::CONFIG['DLEXT']
18
+ if File.exists?(file)
19
+ File.copy(file, 'sys')
20
20
  else
21
- extension = ".so"
21
+ File.copy('ext/' + file, 'sys')
22
+ end
22
23
  end
23
24
 
24
- if File::ALT_SEPARATOR
25
- file = "lib/os/windows.rb"
26
- File.copy(file,"sys/uname.rb")
27
- else
28
- file = "uname" + extension
29
- File.copy(file,"sys")
30
- end
31
- $LOAD_PATH.unshift Dir.pwd
25
+ $LOAD_PATH.unshift(Dir.pwd)
32
26
  end
33
27
 
34
- require "sys/uname"
35
- require "test/unit"
28
+ require 'sys/uname'
29
+ require 'test/unit'
36
30
  include Sys
37
31
 
38
32
  # For testing purposes only
@@ -45,11 +39,11 @@ class TC_Uname < Test::Unit::TestCase
45
39
  assert_not_nil(Uname::VERSION)
46
40
  assert_nothing_raised{ Uname::VERSION }
47
41
  assert_kind_of(String, Uname::VERSION)
48
- assert_equal("0.7.3", Uname::VERSION, "Bad version")
42
+ assert_equal('0.7.4', Uname::VERSION)
49
43
  end
50
44
 
51
45
  def test_machine
52
- assert_respond_to(Uname,:machine)
46
+ assert_respond_to(Uname, :machine)
53
47
  assert_nothing_raised{ Uname.machine }
54
48
  assert_kind_of(String, Uname.machine)
55
49
  end
@@ -75,7 +69,7 @@ class TC_Uname < Test::Unit::TestCase
75
69
  def test_sysname
76
70
  assert_respond_to(Uname, :sysname)
77
71
  assert_nothing_raised{ Uname.sysname }
78
- assert_kind_of(String, Uname.sysname, "Invalid Type")
72
+ assert_kind_of(String, Uname.sysname, 'Invalid Type')
79
73
  end
80
74
 
81
75
  def test_architecture
@@ -84,7 +78,7 @@ class TC_Uname < Test::Unit::TestCase
84
78
  assert_nothing_raised{ Uname.architecture }
85
79
  assert_kind_of(String, Uname.architecture)
86
80
  else
87
- puts "'architecture' test skipped on this platform"
81
+ puts '"architecture" test skipped on this platform'
88
82
  end
89
83
  end
90
84
 
@@ -94,7 +88,7 @@ class TC_Uname < Test::Unit::TestCase
94
88
  assert_nothing_raised{ Uname.platform }
95
89
  assert_kind_of(String, Uname.platform)
96
90
  else
97
- puts "'platform' test skipped on this platform"
91
+ puts '"platform" test skipped on this platform'
98
92
  end
99
93
  end
100
94
 
@@ -104,7 +98,7 @@ class TC_Uname < Test::Unit::TestCase
104
98
  assert_nothing_raised{ Uname.isa_list }
105
99
  assert_kind_of(String, Uname.isa_list)
106
100
  else
107
- puts "'isa_list' test skipped on this platform"
101
+ puts '"isa_list" test skipped on this platform'
108
102
  end
109
103
  end
110
104
 
@@ -114,7 +108,7 @@ class TC_Uname < Test::Unit::TestCase
114
108
  assert_nothing_raised{ Uname.hw_provider }
115
109
  assert_kind_of(String, Uname.hw_provider)
116
110
  else
117
- puts "'hw_provider' test skipped on this platform"
111
+ puts '"hw_provider" test skipped on this platform'
118
112
  end
119
113
  end
120
114
 
@@ -124,7 +118,7 @@ class TC_Uname < Test::Unit::TestCase
124
118
  assert_nothing_raised{ Uname.hw_serial_number }
125
119
  assert_kind_of(Integer, Uname.hw_serial_number)
126
120
  else
127
- puts "'hw_serial_number' test skipped on this platform"
121
+ puts '"hw_serial_number" test skipped on this platform'
128
122
  end
129
123
  end
130
124
 
@@ -134,7 +128,7 @@ class TC_Uname < Test::Unit::TestCase
134
128
  assert_nothing_raised{ Uname.srpc_domain }
135
129
  assert_kind_of(String, Uname.srpc_domain)
136
130
  else
137
- puts "'srpc_domain' test skipped on this platform"
131
+ puts '"srpc_domain" test skipped on this platform'
138
132
  end
139
133
  end
140
134
 
@@ -144,7 +138,7 @@ class TC_Uname < Test::Unit::TestCase
144
138
  assert_nothing_raised{ Uname.dhcp_cache }
145
139
  assert_kind_of(String, Uname.dhcp_cache)
146
140
  else
147
- puts "'srpc_domain' test skipped on this platform"
141
+ puts '"srpc_domain" test skipped on this platform'
148
142
  end
149
143
  end
150
144
 
@@ -154,7 +148,7 @@ class TC_Uname < Test::Unit::TestCase
154
148
  assert_nothing_raised{ Uname.model }
155
149
  assert_kind_of(String, Uname.model)
156
150
  else
157
- puts "'model' test skipped on this platform"
151
+ puts '"model" test skipped on this platform'
158
152
  end
159
153
  end
160
154
 
@@ -164,7 +158,7 @@ class TC_Uname < Test::Unit::TestCase
164
158
  assert_nothing_raised{ Uname.id }
165
159
  assert_kind_of(String, Uname.id)
166
160
  else
167
- puts "'id' test skipped on this platform"
161
+ puts '"id" test skipped on this platform'
168
162
  end
169
163
  end
170
164
 
@@ -172,11 +166,11 @@ class TC_Uname < Test::Unit::TestCase
172
166
  members = %w/sysname nodename machine version release/
173
167
  case RUBY_PLATFORM
174
168
  when /sunos|solaris/i
175
- members.push("architecture","platform")
169
+ members.push('architecture','platform')
176
170
  when /powerpc|darwin/i
177
- members.push("model")
171
+ members.push('model')
178
172
  when /hpux/i
179
- members.push("id")
173
+ members.push('id')
180
174
  when /win32|mingw|cygwin|dos/i
181
175
  members = %w/
182
176
  boot_device build_number build_type caption code_set country_code
@@ -198,8 +192,8 @@ class TC_Uname < Test::Unit::TestCase
198
192
  /
199
193
  end
200
194
  assert_nothing_raised{ Uname.uname }
201
- assert_kind_of(Struct, Uname.uname, "Invalid Type")
202
- assert_equal(members, Uname.uname.members, "Bad struct members")
195
+ assert_kind_of(Struct, Uname.uname)
196
+ assert_equal(members, Uname.uname.members)
203
197
  end
204
198
 
205
199
  # The following tests are win32 only
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.0
3
3
  specification_version: 1
4
4
  name: sys-uname
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.7.3
7
- date: 2006-07-30 00:00:00 -06:00
6
+ version: 0.7.4
7
+ date: 2006-11-19 00:00:00 -07:00
8
8
  summary: An interface for returning uname (platform) information
9
9
  require_paths:
10
10
  - lib
@@ -34,8 +34,8 @@ files:
34
34
  - README
35
35
  - CHANGES
36
36
  - MANIFEST
37
- - extconf.rb
38
- - lib/os/unix.c
37
+ - ext/extconf.rb
38
+ - ext/uname.c
39
39
  test_files:
40
40
  - test/tc_uname.rb
41
41
  rdoc_options: []
@@ -44,10 +44,11 @@ extra_rdoc_files:
44
44
  - CHANGES
45
45
  - README
46
46
  - MANIFEST
47
+ - doc/uname.txt
47
48
  executables: []
48
49
 
49
50
  extensions:
50
- - extconf.rb
51
+ - ext/extconf.rb
51
52
  requirements: []
52
53
 
53
54
  dependencies: []
data/extconf.rb DELETED
@@ -1,28 +0,0 @@
1
- ##########################
2
- # extconf.rb - sys-uname
3
- ##########################
4
- require "mkmf"
5
- require "ftools"
6
-
7
- if PLATFORM.match('mswin')
8
- STDERR.puts "Run 'ruby install.rb' instead for Windows"
9
- STDERR.puts "Exiting..."
10
- exit
11
- else
12
- File.delete("uname.c") if File.exists?("uname.c")
13
- File.symlink("lib/os/unix.c","uname.c")
14
- end
15
-
16
- if RUBY_PLATFORM =~ /sunos|solaris/i
17
- have_header("sys/systeminfo.h")
18
- end
19
-
20
- ########################################################################
21
- # Move any ".rb" files under 'lib/os/' to ".orig" to prevent mkmf from
22
- # installing them during the 'make site-install' phase.
23
- ########################################################################
24
- Dir["lib/os/*.rb"].each{ |f|
25
- File.rename(f,"lib/os/" + File.basename(f,".rb")+".orig")
26
- }
27
-
28
- create_makefile("sys/uname")