Rev 2026 | Blame | Compare with Previous | Last modification | View Log | RSS feed
######################################################################### Copyright ( C ) 2004 ERG Limited, All rights reserved## Module name : jats.sh# Module type : Makefile system# Compiler(s) : n/a# Environment(s): jats## Description : Display the currently released version of ALL packages# that are a part of a given release## Can saves results in a file.## Usage:##......................................................................#require 5.006_001;use strict;use warnings;use JatsError;use Getopt::Long;use Pod::Usage; # required for help supportuse JatsRmApi;use IO::Handle;use DBI;my $VERSION = "1.2.3"; # Update thismy $opt_verbose = 1;my $opt_help = 0;my $opt_manual;my $opt_rtag_id;my $opt_ofile;my $RM_DB;#-------------------------------------------------------------------------------# Function : Main Entry## Description :## Inputs :## Returns :#my $result = GetOptions ("help+" => \$opt_help, # flag, multiple use allowed"manual" => \$opt_manual, # flag"verbose+" => \$opt_verbose, # flag"rtagid=s" => \$opt_rtag_id, # string"outfile=s" => \$opt_ofile, # string);## Process help and manual options#pod2usage(-verbose => 0, -message => "Version: $VERSION") if ($opt_help == 1 || ! $result);pod2usage(-verbose => 1) if ($opt_help == 2 );pod2usage(-verbose => 2) if ($opt_manual || ($opt_help > 2));ErrorConfig( 'name' =>'PLAY12' );Error ("No RTAGID specified") unless ( $opt_rtag_id );if ( $opt_ofile ){open (OFILE, ">", $opt_ofile) || Error("Cannot open output file: $opt_ofile");STDOUT->fdopen( \*OFILE, 'w' ) || Error("Cannot open output file: $!");}getPkgDetailsByRTAG_ID($opt_rtag_id);exit;sub getPkgDetailsByRTAG_ID{my ($RTAG_ID) = @_;my (@row);# if we are not or cannot connect then return 0 as we have not found anythingconnectRM(\$RM_DB) unless ( $RM_DB );# First get details from pv_idmy $m_sqlstr = "SELECT pv.PV_ID, pkg.PKG_NAME, pv.PKG_VERSION, pv.PKG_LABEL, pv.SRC_PATH, pv.BUILD_TYPE" ." FROM RELEASE_MANAGER.RELEASE_CONTENT rc, RELEASE_MANAGER.PACKAGE_VERSIONS pv, RELEASE_MANAGER.PACKAGES pkg" ." WHERE rc.RTAG_ID = $RTAG_ID AND rc.PV_ID = pv.PV_ID AND pv.PKG_ID = pkg.PKG_ID";my $sth = $RM_DB->prepare($m_sqlstr);if ( defined($sth) ){if ( $sth->execute( ) ){if ( $sth->rows ){while ( @row = $sth->fetchrow_array ){my $pv_id = $row[0];my $name = $row[1];my $ver = $row[2];my $label = $row[3] || '';my $path = $row[4] || '';$path =~ tr~\\/~/~s;print "$name $ver\n";}}$sth->finish();}}else{Error("Prepare failure" );}}