1*b1cdbd2cSJim Jagielskipackage oshelper;
2*b1cdbd2cSJim Jagielski
3*b1cdbd2cSJim Jagielski#**************************************************************
4*b1cdbd2cSJim Jagielski#
5*b1cdbd2cSJim Jagielski#  Licensed to the Apache Software Foundation (ASF) under one
6*b1cdbd2cSJim Jagielski#  or more contributor license agreements.  See the NOTICE file
7*b1cdbd2cSJim Jagielski#  distributed with this work for additional information
8*b1cdbd2cSJim Jagielski#  regarding copyright ownership.  The ASF licenses this file
9*b1cdbd2cSJim Jagielski#  to you under the Apache License, Version 2.0 (the
10*b1cdbd2cSJim Jagielski#  "License"); you may not use this file except in compliance
11*b1cdbd2cSJim Jagielski#  with the License.  You may obtain a copy of the License at
12*b1cdbd2cSJim Jagielski#
13*b1cdbd2cSJim Jagielski#    http://www.apache.org/licenses/LICENSE-2.0
14*b1cdbd2cSJim Jagielski#
15*b1cdbd2cSJim Jagielski#  Unless required by applicable law or agreed to in writing,
16*b1cdbd2cSJim Jagielski#  software distributed under the License is distributed on an
17*b1cdbd2cSJim Jagielski#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
18*b1cdbd2cSJim Jagielski#  KIND, either express or implied.  See the License for the
19*b1cdbd2cSJim Jagielski#  specific language governing permissions and limitations
20*b1cdbd2cSJim Jagielski#  under the License.
21*b1cdbd2cSJim Jagielski#
22*b1cdbd2cSJim Jagielski#**************************************************************
23*b1cdbd2cSJim Jagielski
24*b1cdbd2cSJim Jagielski
25*b1cdbd2cSJim Jagielski
26*b1cdbd2cSJim Jagielskiuse English;
27*b1cdbd2cSJim Jagielskiuse warnings;
28*b1cdbd2cSJim Jagielskiuse strict;
29*b1cdbd2cSJim Jagielski
30*b1cdbd2cSJim JagielskiBEGIN {
31*b1cdbd2cSJim Jagielski    use Exporter   ();
32*b1cdbd2cSJim Jagielski    our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
33*b1cdbd2cSJim Jagielski
34*b1cdbd2cSJim Jagielski    $VERSION     = 1.00;
35*b1cdbd2cSJim Jagielski    # if using RCS/CVS, this may be preferred
36*b1cdbd2cSJim Jagielski    $VERSION = do { my @r = (q$Revision: 1.1 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r }; # must be all one line, for MakeMaker
37*b1cdbd2cSJim Jagielski    @ISA         = qw(Exporter);
38*b1cdbd2cSJim Jagielski    @EXPORT      = qw(&getEnvironment &isWindowsEnvironment &isUnixEnvironment &getUsername);
39*b1cdbd2cSJim Jagielski    %EXPORT_TAGS = ( );     # eg: TAG => [ qw!name1 name2! ],
40*b1cdbd2cSJim Jagielski    # your exported package globals go here,
41*b1cdbd2cSJim Jagielski    # as well as any optionally exported functions
42*b1cdbd2cSJim Jagielski    @EXPORT_OK   = ( ); # qw($Var1 %Hashit &func3);
43*b1cdbd2cSJim Jagielski}
44*b1cdbd2cSJim Jagielski
45*b1cdbd2cSJim Jagielski
46*b1cdbd2cSJim Jagielski# ------------------------------------------------------------------------------
47*b1cdbd2cSJim Jagielskisub getEnvironment()
48*b1cdbd2cSJim Jagielski{
49*b1cdbd2cSJim Jagielski    my $sEnvironment;
50*b1cdbd2cSJim Jagielski    if ($OSNAME eq "MSWin32" || $OSNAME eq "cygwin")
51*b1cdbd2cSJim Jagielski    {
52*b1cdbd2cSJim Jagielski        $sEnvironment = "wntmsci";
53*b1cdbd2cSJim Jagielski    }
54*b1cdbd2cSJim Jagielski    elsif ( $OSNAME eq "linux")
55*b1cdbd2cSJim Jagielski    {
56*b1cdbd2cSJim Jagielski        $sEnvironment = "unxlngi";
57*b1cdbd2cSJim Jagielski    }
58*b1cdbd2cSJim Jagielski    elsif ( $OSNAME eq "solaris")
59*b1cdbd2cSJim Jagielski    {
60*b1cdbd2cSJim Jagielski        $sEnvironment = "unxsoli";
61*b1cdbd2cSJim Jagielski    }
62*b1cdbd2cSJim Jagielski    else
63*b1cdbd2cSJim Jagielski    {
64*b1cdbd2cSJim Jagielski        print "Unknown Environment please check OSNAME: '$OSNAME'\n";
65*b1cdbd2cSJim Jagielski        $sEnvironment = "unknown";
66*b1cdbd2cSJim Jagielski    }
67*b1cdbd2cSJim Jagielski    return $sEnvironment;
68*b1cdbd2cSJim Jagielski}
69*b1cdbd2cSJim Jagielski
70*b1cdbd2cSJim Jagielski# ------------------------------------------------------------------------------
71*b1cdbd2cSJim Jagielski
72*b1cdbd2cSJim Jagielskisub isWindowsEnvironment()
73*b1cdbd2cSJim Jagielski{
74*b1cdbd2cSJim Jagielski    if ($OSNAME eq "MSWin32" ||
75*b1cdbd2cSJim Jagielski        $OSNAME eq "cygwin")
76*b1cdbd2cSJim Jagielski    {
77*b1cdbd2cSJim Jagielski        return 1;
78*b1cdbd2cSJim Jagielski    }
79*b1cdbd2cSJim Jagielski    return 0;
80*b1cdbd2cSJim Jagielski}
81*b1cdbd2cSJim Jagielski
82*b1cdbd2cSJim Jagielskisub isUnixEnvironment()
83*b1cdbd2cSJim Jagielski{
84*b1cdbd2cSJim Jagielski    if ($OSNAME eq "linux" ||
85*b1cdbd2cSJim Jagielski        $OSNAME eq "solaris")
86*b1cdbd2cSJim Jagielski    {
87*b1cdbd2cSJim Jagielski        return 1;
88*b1cdbd2cSJim Jagielski    }
89*b1cdbd2cSJim Jagielski    return 0;
90*b1cdbd2cSJim Jagielski}
91*b1cdbd2cSJim Jagielski
92*b1cdbd2cSJim Jagielskisub getUsername()
93*b1cdbd2cSJim Jagielski{
94*b1cdbd2cSJim Jagielski    my $sUser = $ENV{USER};
95*b1cdbd2cSJim Jagielski    if (!$sUser)
96*b1cdbd2cSJim Jagielski    {
97*b1cdbd2cSJim Jagielski        $sUser = $ENV{USERNAME};
98*b1cdbd2cSJim Jagielski    }
99*b1cdbd2cSJim Jagielski    if (!$sUser)
100*b1cdbd2cSJim Jagielski    {
101*b1cdbd2cSJim Jagielski        die "Username not set.\n";
102*b1cdbd2cSJim Jagielski    }
103*b1cdbd2cSJim Jagielski    return $sUser;
104*b1cdbd2cSJim Jagielski}
105*b1cdbd2cSJim Jagielski
106*b1cdbd2cSJim Jagielski1;
107