burak / CPAN-Sys-Info

Fetch information from the host system (Perl)

Clone this repository (size: 40.6 KB): HTTPS / SSH
$ hg clone http://bitbucket.org/burak/cpan-sys-info/
commit 13: ffa4dba95bb7
parent 12: 0aeaa43c776e
branch: default
add bitness to demo. add TODO
Burak Gursoy
12 months ago

Changed (Δ1.2 KB):

raw changeset »

Changes (3 lines added, 0 lines removed)

MANIFEST (1 lines added, 0 lines removed)

PREREQ (2 lines added, 2 lines removed)

TODO (23 lines added, 0 lines removed)

eg/sysinfo.pl (8 lines added, 0 lines removed)

lib/Sys/Info.pm (1 lines added, 1 lines removed)

Up to file-list Changes:

@@ -2,6 +2,9 @@ Revision history for Perl extension Sys:
2
2
3
3
Time zone is GMT+2.
4
4
5
0.69_11 Sat Apr  4 22:19:04 2009
6
    => Bump version to test bitness().
7
5
8
0.69_10 Fri Apr  3 21:17:29 2009
6
9
    => Updated the build tools and tests.
7
10

Up to file-list MANIFEST:

@@ -10,3 +10,4 @@ MANIFEST
10
10
README
11
11
PREREQ
12
12
META.yml
13
TODO

Up to file-list PREREQ:

@@ -27,8 +27,8 @@ BEGIN {
27
27
28
28
%PREREQ = (
29
29
   'IO::File'                     => 0,
30
   'Sys::Info::Base'              => '0.69_10',
31
   'Sys::Info::Driver::' . OSID() => '0.69_10',
30
   'Sys::Info::Base'              => '0.69_11',
31
   'Sys::Info::Driver::' . OSID() => '0.69_11',
32
32
);
33
33
34
34
1;

Up to file-list TODO:

1
* Unified file system information
2
    - Add a database to ::Base to query fs meta data
3
    - Return FS information for all available partitions.
4
* Add new devices
5
    - BIOS -> Easy on Windows through WMI
6
    - Optical
7
    - PCI
8
    - VGA
9
    - Other?
10
* Can there be improvements on the current user detection?
11
* CPU flags on non-Linux OS
12
    - Windows & BSD are currently lacking this. BSD seem to have /proc support
13
        but not intalled by default. So, unreliable.
14
* MacOSX Driver
15
    - I don't own a Mac. If anyone wants to Work on that, just create
16
        Sys::Info::Driver::MacOSX and ping me so that I can enable that
17
        driver in the os detector "OSID".
18
* Improve BSD driver
19
    - I'm testing this on DesktopBSD. Needs to be tested on others as well.
20
* CPU
21
    - bitness() not implemented in BSD & Unknown
22
* OS
23
    - bitness() not implemented in BSD & Unknown

Up to file-list eg/sysinfo.pl:

@@ -23,7 +23,14 @@ my %meta = $os->meta;
23
23
24
24
my @probe;
25
25
26
my %bit = (
27
   cpu => $cpu->bitness,
28
   os  => $os->bitness,
29
);
30
map { $bit{$_} ||= '??' } keys %bit;
31
26
32
@probe = eval {(
33
   [ "Sys::Info Version"         => Sys::Info->VERSION                     ],
27
34
   [ "Perl Version"              => $i->perl_long                          ],
28
35
   [ "Host Name"                 => $os->host_name                         ],
29
36
   [ "OS Name"                   => $os->name( long => 1, edition => 1 )   ],
@@ -31,6 +38,7 @@ my @probe;
31
38
   [ "OS Manufacturer"           => $meta{'manufacturer'}        || $NA    ],
32
39
   [ "OS Configuration"          => $os->product_type            || $NA    ],
33
40
   [ "OS Build Type"             => $meta{'build_type'}          || $NA    ],
41
   [ "Running on"                => "$bit{cpu}bit CPU & $bit{os}bit OS"    ],
34
42
   [ "Registered Owner"          => $meta{'owner'}               || $NA    ],
35
43
   [ "Registered Organization"   => $meta{'organization'}        || $NA    ],
36
44
   [ "Product ID"                => $meta{'product_id'}          || $NA    ],

Up to file-list lib/Sys/Info.pm:

@@ -4,7 +4,7 @@ use vars qw( $VERSION @EXPORT_OK );
4
4
use Carp qw( croak );
5
5
use Sys::Info::Constants qw( OSID );
6
6
7
$VERSION   = '0.69_10';
7
$VERSION   = '0.69_11';
8
8
@EXPORT_OK = qw( OSID );
9
9
10
10
__PACKAGE__->_mk_object( $_ ) for qw( OS Device );