Subversion Repositories DevTools

Rev

Rev 394 | Rev 396 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 394 Rev 395
Line 24... Line 24...
24
use ConfigurationFile;
24
use ConfigurationFile;
25
use HTML::Table;
25
use HTML::Table;
26
 
26
 
27
use DBI;
27
use DBI;
28
our $GBE_RM_URL;
28
our $GBE_RM_URL;
-
 
29
our $GBE_DM_URL;
29
 
30
 
30
my $VERSION = "1.2.3";                      # Update this
31
my $VERSION = "1.2.3";                      # Update this
31
my $opt_verbose = 1;
32
my $opt_verbose = 1;
32
my $opt_help = 0;
33
my $opt_help = 0;
33
my $opt_manual;
34
my $opt_manual;
Line 39... Line 40...
39
#
40
#
40
our %ScmReleases;
41
our %ScmReleases;
41
our %ScmPackages;
42
our %ScmPackages;
42
our %ScmSuffixes;
43
our %ScmSuffixes;
43
our %ScmAllPackages;
44
our %ScmAllPackages;
-
 
45
our %ScmAllBomProjects;
-
 
46
our %ScmSboms;
44
 
47
 
45
 
48
 
46
#-------------------------------------------------------------------------------
49
#-------------------------------------------------------------------------------
47
# Function        : Main Entry
50
# Function        : Main Entry
48
#
51
#
Line 156... Line 159...
156
    {
159
    {
157
        next if ( $ScmPackages{$_}{BadVob} );
160
        next if ( $ScmPackages{$_}{BadVob} );
158
        $Vobs{$vob}++;
161
        $Vobs{$vob}++;
159
        push @{$PackageData{$pkgid}{vobs}{$vob}}, $_ ;
162
        push @{$PackageData{$pkgid}{vobs}{$vob}}, $_ ;
160
        push @{$PackageData{$pkgid}{vobPath}{$path}}, $_  if ($path);
163
        push @{$PackageData{$pkgid}{vobPath}{$path}}, $_  if ($path);
-
 
164
        $PackageData{$pkgid}{vobResolver}{$vob} = $path;
161
    }
165
    }
162
 
166
 
163
    my $view = $ScmPackages{$_}{view};
167
    my $view = $ScmPackages{$_}{view};
164
    if ( $view )
168
    if ( $view )
165
    {
169
    {
Line 257... Line 261...
257
    close $fh;
261
    close $fh;
258
    Message("Unique Package Names: $count");
262
    Message("Unique Package Names: $count");
259
#    DebugDumpData("PackageData", \%PackageData);
263
#    DebugDumpData("PackageData", \%PackageData);
260
}
264
}
261
 
265
 
-
 
266
=pod
262
#
267
#
263
#   Display MutiVob Packages
268
#   Display MutiVob Packages
264
#
269
#
265
    foreach my $pkgid (  keys %PackageData )
270
    foreach my $pkgid (  keys %PackageData )
266
    {
271
    {
Line 274... Line 279...
274
                Message ("        $ScmPackages{$pvid}{'version'}, $ScmPackages{$pvid}{'vcstag'}");
279
                Message ("        $ScmPackages{$pvid}{'version'}, $ScmPackages{$pvid}{'vcstag'}");
275
            }
280
            }
276
        }
281
        }
277
#DebugDumpData("DATA",$PackageData{$pkgid} );
282
#DebugDumpData("DATA",$PackageData{$pkgid} );
278
    }
283
    }
-
 
284
=cut
279
 
285
 
280
=pod
286
=pod
281
    foreach my $pkgid (  keys %PackageData )
287
    foreach my $pkgid (  keys %PackageData )
282
    {
288
    {
283
        next unless ( $PackageData{$pkgid}{isSVN}  );
289
        next unless ( $PackageData{$pkgid}{isSVN}  );
Line 364... Line 370...
364
 
370
 
365
sub generateHTML
371
sub generateHTML
366
{
372
{
367
    my @PackageOrder;
373
    my @PackageOrder;
368
    EnvImport('GBE_RM_URL');
374
    EnvImport('GBE_RM_URL');
-
 
375
    EnvImport('GBE_DM_URL');
369
    my $t;
376
    my $t;
370
 
377
 
371
 
378
 
372
    open (HTML, '>', 'PackageConversion.html') || Error ("Cannot create HTML");
379
    open (HTML, '>', 'PackageConversion.html') || Error ("Cannot create HTML");
373
    print HTML <<'HEADER';
380
    print HTML <<'HEADER';
Line 482... Line 489...
482
    #
489
    #
483
    #   Generate an index
490
    #   Generate an index
484
    #
491
    #
485
    print HTML htmlH1(anchor("Index", 'Index'));
492
    print HTML htmlH1(anchor("Index", 'Index'));
486
    print HTML "<dl>";
493
    print HTML "<dl>";
-
 
494
    print HTML "<dd>" . hRef("#BOMIndex"                ,'Included BOM Projects');
487
    print HTML "<dd>" . hRef("#ReleaseIndex"            ,'Included Releases');
495
    print HTML "<dd>" . hRef("#ReleaseIndex"            ,'Included Releases');
488
    print HTML "<dd>" . hRef("#ReleaseIndexExcluded"    ,'Excluded Releases');
496
    print HTML "<dd>" . hRef("#ReleaseIndexExcluded"    ,'Excluded Releases');
489
    print HTML "<dd>" . hRef("#CompletePackageIndex"    ,'Complete Package Index');
497
    print HTML "<dd>" . hRef("#CompletePackageIndex"    ,'Complete Package Index');
490
    print HTML "<dd>" . hRef("#PackageDetails"          ,'Package Conversion Details');
498
    print HTML "<dd>" . hRef("#PackageDetails"          ,'Package Conversion Details');
491
    print HTML "<dd>" . hRef("#BadPackageVersions"      ,'Bad Package Versions');
499
    print HTML "<dd>" . hRef("#BadPackageVersions"      ,'Bad Package Versions');
Line 495... Line 503...
495
    print HTML "<dd>" . hRef("#NotMapped"               ,'Unmapped Packages');
503
    print HTML "<dd>" . hRef("#NotMapped"               ,'Unmapped Packages');
496
    print HTML "<dd>" . hRef("#InSvn"                   ,'Packages in Subversion');
504
    print HTML "<dd>" . hRef("#InSvn"                   ,'Packages in Subversion');
497
    print HTML "</dl>\n";
505
    print HTML "</dl>\n";
498
 
506
 
499
    #
507
    #
-
 
508
    #   BOM Projects
-
 
509
    #
-
 
510
    print HTML header('BOMIndex', 'Included BOM Projects');
-
 
511
    print HTML "BOM Projects included in processing. All branches and and SBOMS scanned for essential packages and versions\n";
-
 
512
 
-
 
513
    print HTML "<dl>\n";
-
 
514
    foreach my $project_id ( sort {$ScmAllBomProjects{$a}{project_name} cmp $ScmAllBomProjects{$b}{project_name} } keys %ScmAllBomProjects )
-
 
515
    {
-
 
516
        print HTML "<dd>" . linkBomProject($project_id,$ScmAllBomProjects{$project_id}{project_name});
-
 
517
    }
-
 
518
    print HTML "</dl>\n";
-
 
519
 
-
 
520
 
-
 
521
    #
500
    #   Release List
522
    #   Release List
501
    #
523
    #
502
    my %Projects;
524
    my %Projects;
503
    push @{$Projects{$ScmReleases{$_}{'pName'}}}, $_ foreach ( keys %ScmReleases );
525
    push @{$Projects{$ScmReleases{$_}{'pName'}}}, $_ foreach ( keys %ScmReleases );
504
 
526
 
505
    print HTML header('ReleaseIndex', 'Included Releases');
527
    print HTML header('ReleaseIndex', 'Included Releases');
506
    print HTML "Releases that will be considered in the conversion process. These are releases that are not closed or archived.\n";
528
    print HTML "Releases that will be considered in the conversion process.\n";
-
 
529
    print HTML "<br>Releases are scanned for packages and versions that are used.\n";
507
    print HTML "<dl>\n";
530
    print HTML "<dl>\n";
508
    foreach ( sort keys %Projects )
531
    foreach ( sort keys %Projects )
509
    {
532
    {
510
        foreach my $rtagid ( @{$Projects{$_}} )
533
        foreach my $rtagid ( sort {$ScmReleases{$a}{name} cmp $ScmReleases{$b}{name}} @{$Projects{$_}} )
511
        {
534
        {
512
            next if ( $ScmReleases{$rtagid}{'excluded'} );
535
            next if ( $ScmReleases{$rtagid}{'excluded'} );
513
            print HTML "<dd>" . linkRelease($rtagid);
536
            print HTML "<dd>" . linkRelease($rtagid);
514
        }
537
        }
515
    }
538
    }
Line 518... Line 541...
518
    print HTML header('ReleaseIndexExcluded', 'Excluded Releases');
541
    print HTML header('ReleaseIndexExcluded', 'Excluded Releases');
519
    print HTML "Releases that will NOT be considered in the conversion process. These are releases that have been specificly excluded.\n";
542
    print HTML "Releases that will NOT be considered in the conversion process. These are releases that have been specificly excluded.\n";
520
    print HTML "<dl>\n";
543
    print HTML "<dl>\n";
521
    foreach ( sort keys %Projects )
544
    foreach ( sort keys %Projects )
522
    {
545
    {
523
        foreach my $rtagid ( @{$Projects{$_}} )
546
        foreach my $rtagid ( sort {$ScmReleases{$a}{name} cmp $ScmReleases{$b}{name}} @{$Projects{$_}} )
524
        {
547
        {
525
            next unless ( $ScmReleases{$rtagid}{'excluded'} );
548
            next unless ( $ScmReleases{$rtagid}{'excluded'} );
526
            print HTML "<dd>" . linkRelease($rtagid);
549
            print HTML "<dd>" . linkRelease($rtagid);
527
        }
550
        }
528
    }
551
    }
Line 631... Line 654...
631
                {
654
                {
632
                    $t2->addRow('&nbsp;', linkPvid($pvid, undef, 1), "$ScmPackages{$pvid}{'vcstag'}" );
655
                    $t2->addRow('&nbsp;', linkPvid($pvid, undef, 1), "$ScmPackages{$pvid}{'vcstag'}" );
633
                }
656
                }
634
            }
657
            }
635
            $t2->setColClass (1, 'listTitle' );
658
            $t2->setColClass (1, 'listTitle' );
636
            $t->addRow("Vobs:", $t2->getTable);
659
            $t->addRow("MultiVobs:", $t2->getTable);
637
        }
660
        }
638
        else
661
        else
639
        {
662
        {
640
            $t->addRow("Vobs:", join (',', keys %{$PackageData{$pkgid}{vobs}}));
663
            $t->addRow("Vobs:", join (',', keys %{$PackageData{$pkgid}{vobs}}));
641
        }
664
        }
Line 1106... Line 1129...
1106
                . hRef("#Section_" . ($headerCount - 1),'<sup><font size="2"> [Prev]</font></sup>')
1129
                . hRef("#Section_" . ($headerCount - 1),'<sup><font size="2"> [Prev]</font></sup>')
1107
                . hRef("#Section_" . ($headerCount + 1),'<sup><font size="2"> [Next]</font></sup>')
1130
                . hRef("#Section_" . ($headerCount + 1),'<sup><font size="2"> [Next]</font></sup>')
1108
                );
1131
                );
1109
}
1132
}
1110
 
1133
 
-
 
1134
sub linkBomProject
-
 
1135
{
-
 
1136
    my ($projId, $text) = @_;
-
 
1137
    my $ref = $GBE_DM_URL . "/Default.asp?proj_id=$projId";
-
 
1138
 
-
 
1139
    return hRef($ref, $text, '_packageData');
-
 
1140
}
-
 
1141
 
-
 
1142
 
1111
sub linkRelease
1143
sub linkRelease
1112
{
1144
{
1113
    my ($pkgid, $pvid, $mode) = @_;
1145
    my ($pkgid, $pvid, $mode) = @_;
1114
    my $pkgid_ref = $GBE_RM_URL . "/fixed_issues.asp?rtag_id=$pkgid";
1146
    my $pkgid_ref = $GBE_RM_URL . "/fixed_issues.asp?rtag_id=$pkgid";
1115
    $pkgid_ref .= "&pv_id=$pvid" if defined $pvid;
1147
    $pkgid_ref .= "&pv_id=$pvid" if defined $pvid;
Line 1336... Line 1368...
1336
        'TRACS'                                 => 'TRACS',
1368
        'TRACS'                                 => 'TRACS',
1337
 
1369
 
1338
        'jboss_config'                          => 'MASS_Dev_Bus/Business' ,
1370
        'jboss_config'                          => 'MASS_Dev_Bus/Business' ,
1339
        'jboss_service'                         => 'MASS_Dev_Bus/Business' ,
1371
        'jboss_service'                         => 'MASS_Dev_Bus/Business' ,
1340
        'pgres'                                 => 'GMPTE2005/DataManagement' ,
1372
        'pgres'                                 => 'GMPTE2005/DataManagement' ,
-
 
1373
        'ERGcda_imports'                        => 'MREF_Package',
1341
 
1374
 
1342
    );
1375
    );
1343
 
1376
 
1344
    my %VobRename = (
1377
    my %VobRename = (
1345
        'LMOS'              => 'iValDevices',
1378
        'LMOS'              => 'LinuxDevices',
1346
        'MANUFACTURING'     => 'Manufacturing',
1379
        'MANUFACTURING'     => 'Manufacturing',
1347
        'MREF_Package'      => 'MREF_Package',
1380
        'MREF_Package'      => 'MREF_Package',
1348
        'MASS_Dev'          => 'MASS_Dev_Bus',
1381
        'MASS_Dev'          => 'MASS_Dev_Bus',
1349
        's4k_tracs'         => 'TRACS',
1382
        's4k_tracs'         => 'TRACS',
1350
        'MASS_Dev_Tools'    => 'DevTools',
1383
        'MASS_Dev_Tools'    => 'DevTools',
Line 1352... Line 1385...
1352
 
1385
 
1353
    # default is 1
1386
    # default is 1
1354
    my %VobDepth = (
1387
    my %VobDepth = (
1355
        'DPG_SWBase'                => 2,
1388
        'DPG_SWBase'                => 2,
1356
        'GMPTE2005'                 => 2,
1389
        'GMPTE2005'                 => 2,
1357
        'iValDevices'               => 2,
1390
        'LinuxDevices'               => 2,
1358
        'MASS_Dev_Bus'              => 2,
1391
        'MASS_Dev_Bus'              => 2,
1359
        'MASS_Dev_Infra'            => 2,
1392
        'MASS_Dev_Infra'            => 2,
1360
        'MPR'                       => 2,
1393
        'MPR'                       => 2,
1361
        'ProjectCD'                 => 2,
1394
        'ProjectCD'                 => 2,
1362
        'TRACS'                     => 2,
1395
        'TRACS'                     => 2,
1363
        'VIX-PAYMENTS'              => 2,
1396
        'VIX-PAYMENTS'              => 2,
1364
        'WINCE500'                  => 2,
1397
        'WINCE500'                  => 2,
1365
        'iValDevices/linux'         => 3,
1398
        'LinuxDevices/linux'         => 3,
1366
        'DAMS_mos_diag'             => 2,
1399
        'DAMS_mos_diag'             => 2,
1367
        'MASS_Dev_Bus/Financial'    => 3,
1400
        'MASS_Dev_Bus/Financial'    => 3,
1368
    );
1401
    );
1369
 
1402
 
1370
    return ('SVN') if ( $PackageData{$pkgid}{isSVN} );
1403
    return ('SVN') if ( $PackageData{$pkgid}{isSVN} );
Line 1382... Line 1415...
1382
    #
1415
    #
1383
    #   Some path cleanup
1416
    #   Some path cleanup
1384
    #
1417
    #
1385
    if ( $path )
1418
    if ( $path )
1386
    {
1419
    {
-
 
1420
        $path =~ s~DPC_SWCode/~DPG_SWCode/~i;
1387
        $path =~ s~MASS_Dev/Bus/~MASS_Dev_Bus/~i;
1421
        $path =~ s~MASS_Dev/Bus/~MASS_Dev_Bus/~i;
1388
        $path =~ s~MASS_Dev_Bus/Cbp/~MASS_Dev_Bus/CBP/~i;
1422
        $path =~ s~MASS_Dev_Bus/Cbp/~MASS_Dev_Bus/CBP/~i;
1389
        $path =~ s~/Vastraffik/~/Vasttrafik/~;
1423
        $path =~ s~/Vastraffik/~/Vasttrafik/~;
1390
        $path =~ s~/MREF_Package/ergpostmongui$~/MREF_Package/ergpostmongui~i;
1424
        $path =~ s~/MREF_Package/ergpostmongui$~/MREF_Package/ergpostmongui~i;
1391
    }
1425
    }
Line 1397... Line 1431...
1397
    {
1431
    {
1398
        my $newName = $VobRename{$name};
1432
        my $newName = $VobRename{$name};
1399
        $path =~ s~^/$name/~/$newName/~i;
1433
        $path =~ s~^/$name/~/$newName/~i;
1400
    }
1434
    }
1401
 
1435
 
-
 
1436
    return $Named{$name}  if ( exists $Named{$name} );
-
 
1437
 
-
 
1438
    return 'DevTools/ant'  if ( $name =~ m~^ant~ );
-
 
1439
    return 'DevTools/ant'  if ( $name =~ m~^jant~ );
-
 
1440
 
-
 
1441
    return 'LinuxDevices/tools' if ( $path =~ m~LinuxDevices/linux/tools~i );
-
 
1442
 
-
 
1443
    return 'MASS_Dev_Dataman' if ( $name =~ m~^dm_~ );
-
 
1444
 
-
 
1445
    return 'MPR/EMV/emvl2' if ( $name =~ m~^cp[sf]-~ );
-
 
1446
 
-
 
1447
    return 'COTS' if ( $PackageData{$pkgid}{type} eq 'COTS' && ! exists $PackageData{$pkgid}{vobs}{'LMOS'});
-
 
1448
    
-
 
1449
    #
-
 
1450
    #   Must resolve Multivobs
-
 
1451
    #
-
 
1452
    if ( $PackageData{$pkgid}{MultiVob} )
-
 
1453
    {
-
 
1454
        $path = resolveMultiVob($name, $pkgid );
-
 
1455
    }
-
 
1456
 
1402
    my $vob = '';
1457
    my $vob = '';
1403
    my @pathBase;
1458
    my @pathBase;
1404
    my @pathFull;
1459
    my @pathFull;
1405
    $path =~ s~/$~~g;
1460
    $path =~ s~/$~~g;
1406
    $path =~ s~^/~~g;
1461
    $path =~ s~^/~~g;
Line 1410... Line 1465...
1410
 
1465
 
1411
    @pathBase = @pathFull;
1466
    @pathBase = @pathFull;
1412
    delete $pathBase[-1];
1467
    delete $pathBase[-1];
1413
    push @pathBase, $vob unless ( @pathBase );
1468
    push @pathBase, $vob unless ( @pathBase );
1414
 
1469
 
1415
    #
-
 
1416
    #   Some MultiVobs
-
 
1417
    #
-
 
1418
    if ( $PackageData{$pkgid}{MultiVob} )
-
 
1419
    {
-
 
1420
 
-
 
1421
        if ( exists ($PackageData{$pkgid}{vobs}{MASS_Dataman}) && exists ($PackageData{$pkgid}{vobs}{MASS_Dev_Dataman})  )
-
 
1422
        {
-
 
1423
            $vob = 'MASS_Dev_Dataman';
-
 
1424
        }
-
 
1425
 
-
 
1426
        if ( exists ($PackageData{$pkgid}{vobs}{DPG_SWBase}) && exists ($PackageData{$pkgid}{vobs}{DPG_SWCode})  )
-
 
1427
        {
-
 
1428
            $vob = 'DPG_SWCode';
-
 
1429
        }
-
 
1430
 
-
 
1431
        if ( exists ($PackageData{$pkgid}{vobs}{MREF_Package}) )
-
 
1432
        {
-
 
1433
            $vob = 'MREF_Package';
-
 
1434
        }
-
 
1435
 
-
 
1436
        if ( exists ($PackageData{$pkgid}{vobs}{MASS_Dev}) && exists ($PackageData{$pkgid}{vobs}{MASS_Dev_Bus}))
-
 
1437
        {
-
 
1438
            $vob = 'MASS_Dev_Bus';
-
 
1439
        }
-
 
1440
        
-
 
1441
        if ( $vob )
-
 
1442
        {
-
 
1443
            $pathBase[0] = $vob;
-
 
1444
            $pathFull[0] = $vob;
-
 
1445
        }
-
 
1446
#        else
-
 
1447
#        {
-
 
1448
#            Warning ("Unmapped MultiVob package: $PackageData{$pkgid}{name}" );
-
 
1449
#        }
-
 
1450
    }
-
 
1451
 
-
 
1452
 
-
 
1453
#print "Full: @pathFull\n";
1470
#print "Full: @pathFull\n";
1454
#print "Base: @pathBase\n";
1471
#print "Base: @pathBase\n";
1455
 
1472
 
-
 
1473
    return 'MOS/images'  if (($vob eq 'COTS' || $vob eq 'MOS') &&  $name =~ m~^mos_~ && $name =~ m~\d\d\d\d~);
1456
 
1474
 
1457
    return $Named{$name}  if ( exists $Named{$name} );
-
 
1458
    return 'MOS/images'  if ($vob eq 'COTS' &&  $name =~ m~^mos_~ );
-
 
1459
    
-
 
1460
    return 'DevTools/ant'  if ( $name =~ m~^ant~ );
-
 
1461
    return 'DevTools/ant'  if ( $name =~ m~^jant~ );
-
 
1462
 
-
 
1463
    return 'iValDevices/tools' if ( $path =~ m~iValDevices/linux/tools~i );
-
 
1464
 
-
 
1465
    return 'COTS' if ( $PackageData{$pkgid}{type} eq 'COTS' && $vob ne 'iValDevices');
-
 
1466
    return 'COTS' if ( $vob =~ m~^COTS_~ );
1475
    return 'COTS' if ( $vob =~ m~^COTS_~ );
1467
    return 'COTS' if ( $vob eq 'COTS' );
1476
    return 'COTS' if ( $vob eq 'COTS' );
1468
 
1477
 
1469
    return 'DPG_SWBase/Demos'  if ($vob eq 'DPG_SWBase' &&  $name =~ m~^demo_~ );
1478
    return 'DPG_SWBase/Demos'  if ($vob eq 'DPG_SWBase' &&  $name =~ m~^demo_~ );
1470
    return 'DPG_SWBase/Demos'  if ( $name =~ m~^qt_demo~ );
1479
    return 'DPG_SWBase/Demos'  if ( $name =~ m~^qt_demo~ );
Line 1488... Line 1497...
1488
#    return 'MREF_Package'  if ( $name =~ m~^VIX~ );
1497
#    return 'MREF_Package'  if ( $name =~ m~^VIX~ );
1489
 
1498
 
1490
    if ( $name =~ m~^VIX~ || $name =~ m~^ERG~ )
1499
    if ( $name =~ m~^VIX~ || $name =~ m~^ERG~ )
1491
    {
1500
    {
1492
        return 'MREF_Package'
1501
        return 'MREF_Package'
1493
            if ( $vob =~ m~^CORE~ || $vob =~ m~^MASS~ );
1502
            if ( $vob =~ m~^CORE~ || $vob =~ m~^MASS~ || $vob =~ m~^MREF~ );
1494
    }
1503
    }
1495
 
1504
 
1496
#    if ( $vob ne 'MREF_Package' )
1505
#    if ( $vob ne 'MREF_Package' )
1497
#    {
1506
#    {
1498
#print "---- $name, $path\n" if ( $name =~ m~^VIX~ );
1507
#print "---- $name, $path\n" if ( $name =~ m~^VIX~ );
1499
#print "---- $name, $path\n" if ( $name =~ m~^ERG~ );
1508
#print "---- $name, $path\n" if ( $name =~ m~^ERG~ );
1500
#    }
1509
#    }
1501
 
1510
 
1502
    return 'MASS_Dev_Dataman' if ( $name =~ m~^dm_~ );
-
 
1503
 
-
 
1504
    return 'MPR/EMV/emvl2' if ( $name =~ m~^cp[sf]-~ );
-
 
1505
 
-
 
1506
    #
1511
    #
1507
    #   ProjectCd is badly done
1512
    #   ProjectCd is badly done
1508
    #   Many packages are in named directories, some are not.
1513
    #   Many packages are in named directories, some are not.
1509
    #
1514
    #
1510
    if ( $vob eq 'ProjectCD' )
1515
    if ( $vob eq 'ProjectCD' )
Line 1515... Line 1520...
1515
        return ($vob . '/stockholm')
1520
        return ($vob . '/stockholm')
1516
            if (  grep {$_ eq 'stockholm'} @pathFull );
1521
            if (  grep {$_ eq 'stockholm'} @pathFull );
1517
        return $vob;
1522
        return $vob;
1518
    }
1523
    }
1519
 
1524
 
-
 
1525
    #
-
 
1526
    #   Detect core_xxx packages
-
 
1527
    #
-
 
1528
    if ( $vob eq 'MASS_Dev_Infra' && $path =~ m~/core_~ )
-
 
1529
    {
-
 
1530
        return "$vob/Core";
-
 
1531
    }
-
 
1532
 
1520
    return "UNKNOWN"
1533
    return "UNKNOWN"
1521
        unless ( $vob );
1534
        unless ( $vob );
1522
 
1535
 
1523
    #
1536
    #
1524
    #   Determine depth for this path
1537
    #   Determine depth for this path
Line 1549... Line 1562...
1549
    }
1562
    }
1550
#print "----$path, $name: $num, @data --> $val\n";
1563
#print "----$path, $name: $num, @data --> $val\n";
1551
    return $val;
1564
    return $val;
1552
}
1565
}
1553
 
1566
 
-
 
1567
 
-
 
1568
#-------------------------------------------------------------------------------
-
 
1569
# Function        : resolveMultiVob
-
 
1570
#
-
 
1571
# Description     : Time to resolve multivob issues
-
 
1572
#
-
 
1573
# Inputs          : $name           - Package Name
-
 
1574
#                   $pkgid          - Package ID
-
 
1575
#
-
 
1576
#
-
 
1577
# Returns         : Resulved path
-
 
1578
#
-
 
1579
sub resolveMultiVob
-
 
1580
{
-
 
1581
    my ($name, $pkgid) = @_;
-
 
1582
    my $path = '';
-
 
1583
 
-
 
1584
my %preferredVob = (
-
 
1585
        'uiconv'        => 'DPG_SWBase',
-
 
1586
        'gnupg'         => 'COTS',
-
 
1587
    );
-
 
1588
 
-
 
1589
 
-
 
1590
    my $pvob = $preferredVob{$name};
-
 
1591
    unless ( defined $pvob )
-
 
1592
    {
-
 
1593
        if ( exists ($PackageData{$pkgid}{vobs}{MASS_Dataman}) && exists ($PackageData{$pkgid}{vobs}{MASS_Dev_Dataman})  )
-
 
1594
        {
-
 
1595
            $pvob = 'MASS_Dev_Dataman';
-
 
1596
        }
-
 
1597
 
-
 
1598
        if ( exists ($PackageData{$pkgid}{vobs}{DPG_SWBase}) && exists ($PackageData{$pkgid}{vobs}{DPG_SWCode})  )
-
 
1599
        {
-
 
1600
            $pvob = 'DPG_SWCode';
-
 
1601
        }
-
 
1602
 
-
 
1603
        if ( exists ($PackageData{$pkgid}{vobs}{MREF_Package}) )
-
 
1604
        {
-
 
1605
            $pvob = 'MREF_Package';
-
 
1606
        }
-
 
1607
 
-
 
1608
        if ( exists ($PackageData{$pkgid}{vobs}{MASS_Dev}) && exists ($PackageData{$pkgid}{vobs}{MASS_Dev_Bus}))
-
 
1609
        {
-
 
1610
            $pvob = 'MASS_Dev_Bus';
-
 
1611
        }
-
 
1612
 
-
 
1613
        if ( exists ($PackageData{$pkgid}{vobs}{s4k_obe}) && exists ($PackageData{$pkgid}{vobs}{GMPTE2005}))
-
 
1614
        {
-
 
1615
            $pvob = 'GMPTE2005';
-
 
1616
        }
-
 
1617
 
-
 
1618
        if ( exists ($PackageData{$pkgid}{vobs}{s4k_obe}) && exists ($PackageData{$pkgid}{vobs}{GMPTE2005_obe}))
-
 
1619
        {
-
 
1620
            $pvob = 'GMPTE2005_obe';
-
 
1621
        }
-
 
1622
 
-
 
1623
        if ( exists ($PackageData{$pkgid}{vobs}{TRACS}) && exists ($PackageData{$pkgid}{vobs}{GMPTE2005}))
-
 
1624
        {
-
 
1625
            $pvob = 'GMPTE2005';
-
 
1626
        }
-
 
1627
        
-
 
1628
        if ( exists ($PackageData{$pkgid}{vobs}{MASS_Dev_Infra}) && exists ($PackageData{$pkgid}{vobs}{MASS_Dev_Tools}))
-
 
1629
        {
-
 
1630
            $pvob = 'MASS_Dev_Infra';
-
 
1631
        }
-
 
1632
 
-
 
1633
        if ( exists ($PackageData{$pkgid}{vobs}{COTS}) && exists ($PackageData{$pkgid}{vobs}{MOS}))
-
 
1634
        {
-
 
1635
            $pvob = 'MOS';
-
 
1636
        }
-
 
1637
            
-
 
1638
        if ( exists ($PackageData{$pkgid}{vobs}{COTS}) && exists ($PackageData{$pkgid}{vobs}{MPR}))
-
 
1639
        {
-
 
1640
            $pvob = 'MPR';
-
 
1641
        }
-
 
1642
 
-
 
1643
        if ( exists ($PackageData{$pkgid}{vobs}{COTS}) && exists ($PackageData{$pkgid}{vobs}{COTS_Java}))
-
 
1644
        {
-
 
1645
            $pvob = 'COTS';
-
 
1646
        }
-
 
1647
    }
-
 
1648
 
-
 
1649
    if ( defined $pvob )
-
 
1650
    {
-
 
1651
        if ( exists $PackageData{$pkgid}{vobResolver}{$pvob} )
-
 
1652
        {
-
 
1653
            $path = $PackageData{$pkgid}{vobResolver}{$pvob} ;
-
 
1654
        }
-
 
1655
    }
-
 
1656
    else
-
 
1657
    {
-
 
1658
        Message ("Unresolved multivob: $PackageData{$pkgid}{name}");
-
 
1659
#DebugDumpData("DATA", \$PackageData{$pkgid} );
-
 
1660
#exit 1;
-
 
1661
    $path = 'UNKNOWN';
-
 
1662
    }
-
 
1663
 
-
 
1664
    return $path;
-
 
1665
}
-
 
1666
 
-
 
1667
 
1554
#-------------------------------------------------------------------------------
1668
#-------------------------------------------------------------------------------
1555
# Function        : examineVcsTag
1669
# Function        : examineVcsTag
1556
#
1670
#
1557
# Description     : Examine a VCS Tag and determine if it looks like rubbish
1671
# Description     : Examine a VCS Tag and determine if it looks like rubbish
1558
#
1672
#
Line 1573... Line 1687...
1573
        $bad = 1 if ( $label =~ m~^N/A$~i || $label  =~ m~^na$~i );
1687
        $bad = 1 if ( $label =~ m~^N/A$~i || $label  =~ m~^na$~i );
1574
 
1688
 
1575
        $bad = 1 unless ( $path );
1689
        $bad = 1 unless ( $path );
1576
        $bad = 1 if ( $path =~ m~^N/A$~i || $path  =~ m~^na$~i );
1690
        $bad = 1 if ( $path =~ m~^N/A$~i || $path  =~ m~^na$~i );
1577
        $bad = 1 if ( $path =~ m~^/dpkg_archive~ );
1691
        $bad = 1 if ( $path =~ m~^/dpkg_archive~ );
-
 
1692
        $bad = 1 if ( $path =~ m~^CVS~ );
1578
        $bad = 1 if ( $path =~ m~^dpkg_archive~ );
1693
        $bad = 1 if ( $path =~ m~^dpkg_archive~ );
1579
        $bad = 1 if ( $path =~ m~^http:~i );
1694
        $bad = 1 if ( $path =~ m~^http:~i );
1580
        $bad = 1 if ( $path =~ m~^[A-Za-z]\:~ );
1695
        $bad = 1 if ( $path =~ m~^[A-Za-z]\:~ );
1581
        $bad = 1 if ( $path =~ m~^//~ );
1696
        $bad = 1 if ( $path =~ m~^//~ );
1582
        $bad = 1 if ( $path =~ m~^/blade1/~ );
1697
        $bad = 1 if ( $path =~ m~^/blade1/~ );
Line 1708... Line 1823...
1708
        $tag =~ s~/MASS_Dev/Infra~MASS_Dev_Infra~i;
1823
        $tag =~ s~/MASS_Dev/Infra~MASS_Dev_Infra~i;
1709
        $tag =~ s~/MASS_Dev/Bus/web~/MASS_Dev_Bus/web~i;
1824
        $tag =~ s~/MASS_Dev/Bus/web~/MASS_Dev_Bus/web~i;
1710
 
1825
 
1711
        $tag =~ s~/Vastraffik/~/Vasttrafik/~;
1826
        $tag =~ s~/Vastraffik/~/Vasttrafik/~;
1712
        $tag =~ s~/MREF_Package/ergpostmongui$~/MREF_Package/ergpostmongui~i;
1827
        $tag =~ s~/MREF_Package/ergpostmongui$~/MREF_Package/ergpostmongui~i;
-
 
1828
        $tag =~ s~DPC_SWCode/~DPG_SWCode/~i;
1713
 
1829
 
1714
    }
1830
    }
1715
    return $tag;
1831
    return $tag;
1716
}
1832
}
1717
 
1833