Rev 2026 | Blame | Compare with Previous | Last modification | View Log | RSS feed
#! perl######################################################################### Copyright ( C ) 2004 ERG Limited, All rights reserved## Module name : jats.sh# Module type : Makefile system# Compiler(s) : n/a# Environment(s): jats## Description : Get package dependancies and sub-dependancies# for a package name and version as specified on the# command line.## No formatting of the output## Usage:## Version Who Date Description##......................................................................#require 5.006_001;use strict;use warnings;#use Data::Dumper;use Cwd;use DeployUtils::RmPkgInfo;my %Package;my $ONLY_DISPLAY_ONCE = 1;my $DISPLAY_SUB_DEPEND = 1;## Determine root package#unless ( $ARGV[0] && $ARGV[1] ){print "Specify a package as 'name' 'version'\n";exit;}## Test the RM Interface#GetDepends (0, $ARGV[0], $ARGV[1] );#-------------------------------------------------------------------------------# Function : GetDepends## Description :## Inputs : pkg_name# pkg_ver## Returns :#sub GetDepends{my ($level, $pkg_name, $pkg_ver ) = @_;# return# if ( defined($Package{$pkg_name}) );displayName( $level, $pkg_name, $pkg_ver );return if ( !$DISPLAY_SUB_DEPEND && $level > 0 );my $pkgInfo = $Package{$pkg_name}{$pkg_ver};unless ( defined $pkgInfo ){$pkgInfo = DeployUtils::RmPkgInfo->new( { PKG_NAME => $pkg_name , PKG_VERSION => $pkg_ver } );$Package{$pkg_name}{$pkg_ver} = $pkgInfo;if ( ! $pkgInfo->foundDetails() ){print "PACKAGE DETAILS NOT FOUND: $pkg_name $pkg_ver\n";}}else{return if ( $ONLY_DISPLAY_ONCE );}foreach my $depName ( $pkgInfo->getDependencyNames() ){my $depPkg = $pkgInfo->getDependencyObject($depName);my $depVer = $depPkg->pkg_version();# next if ( exists( $Package{$depName}{$depVer} ) );# print ' ' x ($level * 4), "Depends: Name $depName $depVer, \n";GetDepends( $level + 1, $depName, $depVer );}}sub displayName{my ($level, $name, $ver ) = @_;if ( $ONLY_DISPLAY_ONCE ){print "Package $name $ver\n" unless $Package{$name};}else{print ' ' x ($level * 4), "Package $name $ver\n";}}#-------------------------------------------------------------------------------# Function : StorePackage## Description : Store Package information## Inputs : $pkg_name# $pkg_ver# $pkg_info## Returns :##DebugDumpData("PackageData2", \$pkgInfo );