Subversion Repositories DevTools

Rev

Rev 5710 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
392 dpurdie 1
#! perl
2
########################################################################
6177 dpurdie 3
# COPYRIGHT - VIX IP PTY LTD ("VIX"). ALL RIGHTS RESERVED.
392 dpurdie 4
#
5
# Module name   : jats.sh
6
# Module type   : Makefile system
7
# Compiler(s)   : n/a
8
# Environment(s): jats
9
#
10
# Description   : Determine all packages (where version end in .mas)
11
#
12
#......................................................................#
13
 
14
require 5.006_001;
15
use strict;
16
use warnings;
17
use JatsError;
18
use JatsSystem;
19
use Getopt::Long;
20
use Pod::Usage;                             # required for help support
21
use JatsRmApi;
22
 
23
use DBI;
24
 
25
my $VERSION = "1.2.3";                      # Update this
26
my $opt_verbose = 1;
27
my $opt_help = 0;
28
my $opt_manual;
29
my $opt_rtag_id;
30
my $RM_DB;
31
 
32
#
33
#   Package information
34
#
35
my %Package;
36
my %Dnr;
37
my @StrayPackages;
38
 
39
#-------------------------------------------------------------------------------
40
# Function        : Main Entry
41
#
42
# Description     :
43
#
44
# Inputs          :
45
#
46
# Returns         :
47
#
48
my $result = GetOptions (
49
                "help+"         => \$opt_help,          # flag, multiple use allowed
50
                "manual"        => \$opt_manual,        # flag
51
                "verbose+"      => \$opt_verbose,       # flag
52
                "rtag=s"        => \$opt_rtag_id,       # string
53
                );
54
 
55
#
56
#   Process help and manual options
57
#
58
pod2usage(-verbose => 0, -message => "Version: $VERSION")  if ($opt_help == 1  || ! $result);
59
pod2usage(-verbose => 1)  if ($opt_help == 2 );
60
pod2usage(-verbose => 2)  if ($opt_manual || ($opt_help > 2));
61
 
62
ErrorConfig( 'name'    =>'PLAY18b' );
63
 
64
getPkgDetails();
65
foreach my $name ( sort keys %Package )
66
{
67
#    print "$name ($Package{$name})\n";
68
    print "$name\n";
69
}
70
 
71
#DebugDumpData ("Package", \%Package );
72
 
73
exit;
74
 
75
 
76
sub getPkgDetails
77
{
78
    my $foundDetails = 0;
79
    my (@row);
80
 
81
    # Connect to the database
82
    connectRM( \$RM_DB)
83
        unless $RM_DB;
84
 
85
    # First get details from pv_id
86
 
87
    my $m_sqlstr = "SELECT DISTINCT pv.PV_ID, pkg.PKG_NAME, pv.PKG_VERSION, pv.PKG_LABEL, pv.SRC_PATH" .
88
                    " FROM RELEASE_MANAGER.PACKAGE_VERSIONS pv, RELEASE_MANAGER.PACKAGES pkg" .
89
                    " WHERE pv.PKG_VERSION like '%.mas' AND pv.PKG_ID = pkg.PKG_ID";
90
    my $sth = $RM_DB->prepare($m_sqlstr);
91
    if ( defined($sth) )
92
    {
93
        if ( $sth->execute( ) )
94
        {
95
            if ( $sth->rows )
96
            {
97
                while ( @row = $sth->fetchrow_array )
98
                {
99
                    my $pv_id = $row[0];
100
                    my $name = $row[1];
101
                    my $ver = $row[2];
102
                    my $label = $row[3] || '';
103
                    my $path = $row[4] || '';
104
                    $Package{$name}++;
105
                    $path =~ tr~\\/~/~s;
106
#print "$name, $ver\n";
107
                }
108
            }
109
            else
110
            {
111
            Error("No Data" );
112
            }
113
            $sth->finish();
114
        }
115
        else
116
        {
117
            Error ("May be an execute error", $m_sqlstr, $sth->errstr());
118
        }
119
    }
120
    else
121
    {
122
        Error("Prepare failure" );
123
    }
124
}
125
 
126