Subversion Repositories DevTools

Rev

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

Rev 2450 Rev 2764
Line 189... Line 189...
189
        next if ( $ScmPackages{$_}{BadVob} );
189
        next if ( $ScmPackages{$_}{BadVob} );
190
        $Vobs{$vob}++;
190
        $Vobs{$vob}++;
191
        push @{$PackageData{$pkgid}{vobs}{$vob}}, $_ ;
191
        push @{$PackageData{$pkgid}{vobs}{$vob}}, $_ ;
192
        push @{$PackageData{$pkgid}{vobPath}{$path}}, $_  if ($path);
192
        push @{$PackageData{$pkgid}{vobPath}{$path}}, $_  if ($path);
193
        $PackageData{$pkgid}{vobResolver}{$vob} = $path;
193
        $PackageData{$pkgid}{vobResolver}{$vob} = $path;
-
 
194
 
-
 
195
        if ( $vob eq 'SVN' )
-
 
196
        {
-
 
197
            delete $ScmPackages{$_}{BadCCView} ;
-
 
198
        }
194
    }
199
    }
195
 
200
 
196
    my $view = $ScmPackages{$_}{view};
201
    my $view = $ScmPackages{$_}{view};
197
    if ( $view )
202
    if ( $view )
198
    {
203
    {
Line 260... Line 265...
260
#
265
#
261
foreach my $pkgid ( keys %PackageSet )
266
foreach my $pkgid ( keys %PackageSet )
262
{
267
{
263
    ($PackageData{$pkgid}{type}, @{$PackageData{$pkgid}{suffixes}} ) = smartPackageType ($pkgid);
268
    ($PackageData{$pkgid}{type}, @{$PackageData{$pkgid}{suffixes}} ) = smartPackageType ($pkgid);
264
    my @vobs = keys %{$PackageData{$pkgid}{vobs}};
269
    my @vobs = keys %{$PackageData{$pkgid}{vobs}};
265
    $PackageData{$pkgid}{isSVN} = 1 if ( @vobs == 1 && $vobs[0] eq 'SVN' );
270
#    $PackageData{$pkgid}{isSVN} = 1 if ( @vobs == 1 && $vobs[0] eq 'SVN' );
266
    $PackageData{$pkgid}{isSVN} = 1 if ( (exists ($PackageData{$pkgid}{vobs}{SVN})) && $PackageData{$pkgid}{vobs}{SVN});
271
#    $PackageData{$pkgid}{isSVN} = 1 if ( (exists ($PackageData{$pkgid}{vobs}{SVN})) && $PackageData{$pkgid}{vobs}{SVN});
-
 
272
 
-
 
273
 
267
 
274
 
-
 
275
    $PackageData{$pkgid}{isSVN} = 1 if ( exists $ScmAllPackages{$pkgid} && $ScmAllPackages{$pkgid}{inSvn} );
268
    $PackageData{$pkgid}{MultiVob} = 1 if ( @vobs > 1 );
276
    $PackageData{$pkgid}{MultiVob} = 1 if ( @vobs > 1 );
269
    $PackageData{$pkgid}{BadVob} = 1 if ( grep {$_ eq 'BAD'} @vobs   );
277
    $PackageData{$pkgid}{BadVob} = 1 if ( grep {$_ eq 'BAD'} @vobs   );
270
}
278
}
271
 
279
 
272
 
-
 
273
#
280
#
274
#   Map packages into Repos
281
#   Map packages into Repos
275
#
282
#
276
my %Repos_lowercase;
283
my %Repos_lowercase;
277
my %Repos;
284
my %Repos;
Line 279... Line 286...
279
Message ("Mapping Vobs to Repo");
286
Message ("Mapping Vobs to Repo");
280
foreach my $pkgid ( keys %PackageSet )
287
foreach my $pkgid ( keys %PackageSet )
281
{
288
{
282
    my $repo = mapPackage($pkgid);
289
    my $repo = mapPackage($pkgid);
283
    Error ("Unmapped package: $PackageData{$pkgid}{name}" ) unless ( $repo );
290
    Error ("Unmapped package: $PackageData{$pkgid}{name}" ) unless ( $repo );
-
 
291
 
284
    my $repo_lc = lc $repo;
292
    my $repo_lc = lc $repo;
285
 
293
 
286
    if (exists $Repos_lowercase{$repo_lc} && $Repos_lowercase{$repo_lc} ne $repo )
294
    if (exists $Repos_lowercase{$repo_lc} && $Repos_lowercase{$repo_lc} ne $repo )
287
    {
295
    {
288
        Error ("Package mapping: Mapped to Repo with same name, but different case",
296
        Error ("Package mapping: Mapped to Repo with same name, but different case",
Line 449... Line 457...
449
            $Data{$name}{repo} = $repo;
457
            $Data{$name}{repo} = $repo;
450
            $Data{$name}{SVN} = 1 if $PackageData{$pkgid}{isSVN};
458
            $Data{$name}{SVN} = 1 if $PackageData{$pkgid}{isSVN};
451
            $Data{$name}{youngest} = $youngest;
459
            $Data{$name}{youngest} = $youngest;
452
            $Data{$name}{ynr} = $youngestNonRipple;
460
            $Data{$name}{ynr} = $youngestNonRipple;
453
            $Data{$name}{ynb} = $youngestNonBuildadm;
461
            $Data{$name}{ynb} = $youngestNonBuildadm;
454
            $Data{$name}{protected} = $Protected{$PackageData{$pkgid}{name}} if exists $Protected{$PackageData{$pkgid}{name}};
462
            $Data{$name}{protected} = $Protected{$PackageData{$pkgid}{name}}{mode} if exists $Protected{$PackageData{$pkgid}{name}};
455
        }
463
        }
456
        $fh->Close();
464
        $fh->Close();
457
    }
465
    }
458
 
466
 
459
    my $file = "cc2svn.repo.dat";
467
    my $file = "cc2svn.repo.dat";
Line 722... Line 730...
722
    print $HTML "Complete list of packages. This includes 'Essential Packages' and packages that ";
730
    print $HTML "Complete list of packages. This includes 'Essential Packages' and packages that ";
723
    print $HTML "are present in Release Manager, but are not currently used.";
731
    print $HTML "are present in Release Manager, but are not currently used.";
724
    print $HTML "<br><button type=\"button\" onclick=\"flipStyleByName('.nonessential', 'display', 'none', '')\" >Show/Hide non Essential</button>";
732
    print $HTML "<br><button type=\"button\" onclick=\"flipStyleByName('.nonessential', 'display', 'none', '')\" >Show/Hide non Essential</button>";
725
    print $HTML "<button type=\"button\" onclick=\"flipStyleByName('.essential', 'display', 'none', '')\" >Show/Hide Essential</button>";
733
    print $HTML "<button type=\"button\" onclick=\"flipStyleByName('.essential', 'display', 'none', '')\" >Show/Hide Essential</button>";
726
    
734
    
727
    foreach my $pkgid ( sort {lc($ScmAllPackages{$a}) cmp lc($ScmAllPackages{$b}) } keys %ScmAllPackages )
735
    foreach my $pkgid ( sort {lc($ScmAllPackages{$a}{name}) cmp lc($ScmAllPackages{$b}{name}) } keys %ScmAllPackages )
728
    {
736
    {
729
        my $thisChar = uc(substr($ScmAllPackages{$pkgid}, 0, 1 ));
737
        my $thisChar = uc(substr($ScmAllPackages{$pkgid}{name}, 0, 1 ));
730
        if ( $thisChar ne $currentChar )
738
        if ( $thisChar ne $currentChar )
731
        {
739
        {
732
            print $HTML $t->getTable if ( $t );
740
            print $HTML $t->getTable if ( $t );
733
            $t = new HTML::Table();
741
            $t = new HTML::Table();
734
 
742
 
Line 741... Line 749...
741
        my $import_log = '';
749
        my $import_log = '';
742
        my $marker = '';
750
        my $marker = '';
743
        my $class;
751
        my $class;
744
        unless ( exists $PackageData{$pkgid} )
752
        unless ( exists $PackageData{$pkgid} )
745
        {
753
        {
746
            $packageRef = $ScmAllPackages{$pkgid};
754
            $packageRef = $ScmAllPackages{$pkgid}{name};
747
            $marker = 'Not being converted at this time';
755
            $marker = 'Not being converted at this time';
748
            $class = 'nonEssential';
756
            $class = 'nonEssential';
749
        }
757
        }
750
        else
758
        else
751
        {
759
        {
Line 876... Line 884...
876
            }
884
            }
877
        }
885
        }
878
        my $txt = join( '<br>', values %RepoList);
886
        my $txt = join( '<br>', values %RepoList);
879
        $txt = ' : ' . $txt if ( $txt );
887
        $txt = ' : ' . $txt if ( $txt );
880
        $t->addRow("Repo:", hRef("#Repo_$repo", $repo). $txt );
888
        $t->addRow("Repo:", hRef("#Repo_$repo", $repo). $txt );
881
        $t->addRow("Protected:", $Protected{$PackageData{$pkgid}{name}} ) if exists $Protected{$PackageData{$pkgid}{name}};
889
        if ( exists $Protected{$PackageData{$pkgid}{name}} )
-
 
890
        {
-
 
891
            my $entry = $Protected{$PackageData{$pkgid}{name}};
-
 
892
            my $comment = $entry->{comment} || '';
-
 
893
            my $t2 = new HTML::Table( -border=>0, -padding=>0, -spacing=>0, -class=>'paddedTable' );
-
 
894
 
-
 
895
            $t2->addRow($entry->{mode}, $comment );
-
 
896
            $t->addRow("Protected:", $t2->getTable);
-
 
897
        }
882
    }
898
    }
883
    $t->setColClass (1, 'listTitle' );
899
    $t->setColClass (1, 'listTitle' );
884
    print $HTML $t->getTable;
900
    print $HTML $t->getTable;
885
    generateHTMLTail($HTML);
901
    generateHTMLTail($HTML);
886
    #
902
    #
Line 1197... Line 1213...
1197
    $t->addRow( "Protected Packages - Migration delayed");
1213
    $t->addRow( "Protected Packages - Migration delayed");
1198
    $t->setRowClass  (-1, 'packageTitle');
1214
    $t->setRowClass  (-1, 'packageTitle');
1199
    $t->setCellColSpan(-1, 1, 2);
1215
    $t->setCellColSpan(-1, 1, 2);
1200
    foreach my $pkgname ( sort keys %Protected )
1216
    foreach my $pkgname ( sort keys %Protected )
1201
    {
1217
    {
1202
        next unless ( $Protected{$pkgname} eq 'Protected' );
1218
        next unless ( $Protected{$pkgname}{mode} eq 'Protected' );
1203
        my $pkgid =  $ScmPkgNames{$pkgname};
1219
        my $pkgid =  $ScmPkgNames{$pkgname};
1204
        my $txt = $pkgid ? linkPackageDetails($pkgid) : $pkgname;
1220
        my $txt = $pkgid ? linkPackageDetails($pkgid) : $pkgname;
1205
        $t->addRow( $txt, $Protected{$pkgname});
1221
        $t->addRow( $txt, $Protected{$pkgname}{comment});
1206
    }
1222
    }
1207
 
1223
 
1208
    $t->addRow( "Broken Packages - Migration not possible");
1224
    $t->addRow( "Broken Packages - Migration not possible");
1209
    $t->setRowClass  (-1, 'packageTitle');
1225
    $t->setRowClass  (-1, 'packageTitle');
1210
    $t->setCellColSpan(-1, 1, 2);
1226
    $t->setCellColSpan(-1, 1, 2);
1211
    foreach my $pkgname ( sort keys %Protected )
1227
    foreach my $pkgname ( sort keys %Protected )
1212
    {
1228
    {
1213
        next if ( $Protected{$pkgname} eq 'Protected' );
1229
        next if ( $Protected{$pkgname}{mode} eq 'Protected' );
1214
        my $pkgid =  $ScmPkgNames{$pkgname};
1230
        my $pkgid =  $ScmPkgNames{$pkgname};
1215
        my $txt = $pkgid ? linkPackageDetails($pkgid) : $pkgname;
1231
        my $txt = $pkgid ? linkPackageDetails($pkgid) : $pkgname;
1216
        $t->addRow( $txt, $Protected{$pkgname});
1232
        $t->addRow( $txt, $Protected{$pkgname}{comment});
1217
    }
1233
    }
1218
    
1234
    
1219
    print $HTML $t->getTable;
1235
    print $HTML $t->getTable;
1220
    
1236
    
1221
 
1237
 
Line 1500... Line 1516...
1500
        'AdvisoryDependency'                    => 'DevTools/buildtool_tests',
1516
        'AdvisoryDependency'                    => 'DevTools/buildtool_tests',
1501
        'CommonDependency'                      => 'DevTools/buildtool_tests',
1517
        'CommonDependency'                      => 'DevTools/buildtool_tests',
1502
        'GenericProduct'                        => 'DevTools/buildtool_tests',
1518
        'GenericProduct'                        => 'DevTools/buildtool_tests',
1503
        'LinuxCentricProduct'                   => 'DevTools/buildtool_tests',
1519
        'LinuxCentricProduct'                   => 'DevTools/buildtool_tests',
1504
        'CotsWithFunnyVersion'                  => 'DevTools/buildtool_tests',
1520
        'CotsWithFunnyVersion'                  => 'DevTools/buildtool_tests',
-
 
1521
        'xp_sequence'                           => 'MASS_Dev_Bus',
-
 
1522
        'dmrc_windows_proxy'                    => 'MASS_Dev_Infra/Dmrc',
-
 
1523
        'ExtDataImporter'                       => 'MASS_Dev_Infra/Dmrc',
-
 
1524
        'inqshim'                               => 'MASS_Dev_Infra/Dmrc',
1505
 
1525
 
1506
        'GenAppaCE'                             => 'DPG_SWCode/utilities',
1526
        'GenAppaCE'                             => 'DPG_SWCode/utilities',
1507
 
1527
 
1508
        'AtmelHAL'                              => 'MASS_Dev_Crypto',
1528
        'AtmelHAL'                              => 'MASS_Dev_Crypto',
1509
        'Netbula'                               => 'COTS',
1529
        'Netbula'                               => 'COTS',
Line 1523... Line 1543...
1523
 
1543
 
1524
        'jboss_config'                          => 'MASS_Dev_Bus/Business' ,
1544
        'jboss_config'                          => 'MASS_Dev_Bus/Business' ,
1525
        'jboss_service'                         => 'MASS_Dev_Bus/Business' ,
1545
        'jboss_service'                         => 'MASS_Dev_Bus/Business' ,
1526
        'pgres'                                 => 'ITSO_TRACS/DataManagement' ,
1546
        'pgres'                                 => 'ITSO_TRACS/DataManagement' ,
1527
        'ERGcda_imports'                        => 'MREF_Package',
1547
        'ERGcda_imports'                        => 'MREF_Package',
1528
        'daf_dataman_extras'                    => 'ProjectCD/seattle',
1548
        'daf_dataman_extras'                    => 'DPG_SWCode/ProjectCD/seattle',
-
 
1549
        'daf_paper_variables'                   => 'DPG_SWCode/ProjectCD',
-
 
1550
 
1529
        'XmlDocInterface'                       => 'MASS_Dev_Infra',
1551
        'XmlDocInterface'                       => 'MASS_Dev_Infra',
1530
        'SPOS_IngenicoApp'                      => 'DPG_SWCode',
1552
        'SPOS_IngenicoApp'                      => 'DPG_SWCode',
1531
 
1553
 
1532
 
1554
 
1533
        # Kill single package subdirs
1555
        # Kill single package subdirs
Line 1541... Line 1563...
1541
        'boi'                                   => 'MASS_Dev_Bus/BOI',
1563
        'boi'                                   => 'MASS_Dev_Bus/BOI',
1542
 
1564
 
1543
        'mrviewer'                              => 'MASS_Dev_Infra/Reports',
1565
        'mrviewer'                              => 'MASS_Dev_Infra/Reports',
1544
        'cdss'                                  => 'MASS_Dev_Infra/Cdss',
1566
        'cdss'                                  => 'MASS_Dev_Infra/Cdss',
1545
        'InfraPSS'                              => 'MASS_Dev_Infra',
1567
        'InfraPSS'                              => 'MASS_Dev_Infra',
-
 
1568
 
-
 
1569
 
-
 
1570
        'vsdev-proftpd-insecure'                => 'SmartSite',
-
 
1571
        'obe'                                   => 'ITSO_TRACS/obe',
-
 
1572
        'obme'                                  => 'ITSO_TRACS/obe',
-
 
1573
        'linuxaudio'                            => 'LinuxDevices/libraries',
-
 
1574
 
-
 
1575
 
1546
        
1576
        #
-
 
1577
        #   Packages from the LMOS Vob
-
 
1578
        #   Too many rules - just hard code the lot of them
-
 
1579
        #
-
 
1580
        'rolff'                                 => 'DPG_SWBase/Dugite',
-
 
1581
        'ftplinux'                              => 'UNKNOWN',
-
 
1582
 
-
 
1583
        'linux-app-framework'              => 'DPG_SWBase/linux-app-framework',
-
 
1584
        'linux-app-upgrade'                => 'DPG_SWBase/linux-app-framework',
-
 
1585
        'linux-app-example'                => 'DPG_SWBase/linux-app-framework',
-
 
1586
        'linux-app-transfer'               => 'DPG_SWBase/linux-app-framework',
-
 
1587
 
-
 
1588
        'dropbear'                         => 'LinuxDevices/opensource',
-
 
1589
 
-
 
1590
 
-
 
1591
        'demo_cp6000'                      => 'LinuxDevices/apps',
-
 
1592
        'ivaldemo'                         => 'LinuxDevices/apps',
-
 
1593
        'linux-cotral-example'             => 'LinuxDevices/apps',
-
 
1594
        'lmos_utest'                       => 'LinuxDevices/apps',
-
 
1595
        'ublox-agps-example'               => 'LinuxDevices/apps',
-
 
1596
        'fdt-ads5121'                      => 'LinuxDevices/bootstrap',
-
 
1597
        'fdt-viper'                        => 'LinuxDevices/bootstrap',
-
 
1598
        'linux-grub'                       => 'LinuxDevices/bootstrap',
-
 
1599
        'romboot'                          => 'LinuxDevices/bootstrap',
-
 
1600
        'u-boot'                           => 'LinuxDevices/bootstrap',
-
 
1601
        'u-boot-cobra'                     => 'LinuxDevices/bootstrap',
-
 
1602
        'u-boot-hk'                        => 'LinuxDevices/bootstrap',
-
 
1603
        'u-boot_viper'                     => 'LinuxDevices/bootstrap',
-
 
1604
        'uboot-cobra-tools'                => 'LinuxDevices/bootstrap',
-
 
1605
        'uboot-viper-tools'                => 'LinuxDevices/bootstrap',
-
 
1606
        'viper-platform-setup'             => 'LinuxDevices/bootstrap',
-
 
1607
        'coalesce'                         => 'LinuxDevices/dams',
-
 
1608
        'dams_eb5600'                      => 'LinuxDevices/dams',
-
 
1609
        'dams_ival'                        => 'LinuxDevices/dams',
-
 
1610
        'dams_pcp5700'                     => 'LinuxDevices/dams',
-
 
1611
        'dams_tp5600'                      => 'LinuxDevices/dams',
-
 
1612
        'demo_msp_lnx_viper'               => 'LinuxDevices/devkit',
-
 
1613
        'devkit-tool'                      => 'LinuxDevices/devkit',
-
 
1614
        'idp_lnx_viper'                    => 'LinuxDevices/devkit',
-
 
1615
        'ival-devkit'                      => 'LinuxDevices/devkit',
-
 
1616
        'linux_infra_eb5600'               => 'LinuxDevices/devkit',
-
 
1617
        'linux_infra_tp5600'               => 'LinuxDevices/devkit',
-
 
1618
        'drivers_api_viper'                => 'LinuxDevices/drivers',
-
 
1619
        'gprsmodem-firmware'               => 'LinuxDevices/drivers',
-
 
1620
        'linux_driver_csc_cobra'           => 'LinuxDevices/drivers',
-
 
1621
        'linux_driver_csc_viper'           => 'LinuxDevices/drivers',
-
 
1622
        'linux_driver_ip_over_rs485'       => 'LinuxDevices/drivers',
-
 
1623
        'linux_drivers_api'                => 'LinuxDevices/drivers',
-
 
1624
        'linux_drivers_cobra'              => 'LinuxDevices/drivers',
-
 
1625
        'linux_drivers_eb5600'             => 'LinuxDevices/drivers',
-
 
1626
        'linux_drivers_etx86'              => 'LinuxDevices/drivers',
-
 
1627
        'linux_drivers_serpent-api'        => 'LinuxDevices/drivers',
-
 
1628
        'linux_drivers_tp5600'             => 'LinuxDevices/drivers',
-
 
1629
        'linux_drivers_viper'              => 'LinuxDevices/drivers',
-
 
1630
        'svgalib'                          => 'LinuxDevices/drivers',
-
 
1631
        'usb_gadget_host'                  => 'LinuxDevices/drivers',
-
 
1632
        'viper-pic-firmware'               => 'LinuxDevices/drivers',
-
 
1633
        'viper-tipsoc-firmware'            => 'LinuxDevices/drivers',
-
 
1634
        'viper_csc'                        => 'LinuxDevices/drivers',
-
 
1635
        'busybox'                          => 'LinuxDevices/filesystems',
-
 
1636
        'busybox_cobra'                    => 'LinuxDevices/filesystems',
-
 
1637
        'cobra_day0fs_base'                => 'LinuxDevices/filesystems',
-
 
1638
        'day0-cotral'                      => 'LinuxDevices/filesystems',
-
 
1639
        'day0-upgrade'                     => 'LinuxDevices/filesystems',
-
 
1640
        'e2fsimage'                        => 'LinuxDevices/filesystems',
-
 
1641
        'e2fsprogs'                        => 'LinuxDevices/filesystems',
-
 
1642
        'ERGDay0UpgradeServer'             => 'LinuxDevices/filesystems',
-
 
1643
        'linux_day0fs_base'                => 'LinuxDevices/filesystems',
-
 
1644
        'linux_day0fs_cobra'               => 'LinuxDevices/filesystems',
-
 
1645
        'linux_day0fs_cp6100_sl6087_fwup'  => 'LinuxDevices/filesystems',
-
 
1646
        'linux_day0fs_eb5600'              => 'LinuxDevices/filesystems',
-
 
1647
        'linux_day0fs_etx86'               => 'LinuxDevices/filesystems',
-
 
1648
        'linux_day0fs_tp5600'              => 'LinuxDevices/filesystems',
-
 
1649
        'linux_day0fs_viper'               => 'LinuxDevices/filesystems',
-
 
1650
        'linux_day0fs_viper_demo'          => 'LinuxDevices/filesystems',
-
 
1651
        'linux_day0fs_viper_dev'           => 'LinuxDevices/filesystems',
-
 
1652
        'ERGviper-kernel'                  => 'LinuxDevices/kernel',
-
 
1653
        'linux_kernel_bcp4600'             => 'LinuxDevices/kernel',
-
 
1654
        'linux_kernel_cobra'               => 'LinuxDevices/kernel',
-
 
1655
        'linux_kernel_eb5600'              => 'LinuxDevices/kernel',
-
 
1656
        'linux_kernel_etx86'               => 'LinuxDevices/kernel',
-
 
1657
        'linux_kernel_tp5600'              => 'LinuxDevices/kernel',
-
 
1658
        'linux_kernel_viper'               => 'LinuxDevices/kernel',
-
 
1659
        'libviper-mtp'                     => 'LinuxDevices/libraries',
-
 
1660
        'libviper-sam'                     => 'LinuxDevices/libraries',
-
 
1661
        'libviper-util'                    => 'LinuxDevices/libraries',
-
 
1662
        'linux_types'                      => 'LinuxDevices/libraries',
-
 
1663
        'setMAC'                           => 'LinuxDevices/libraries',
-
 
1664
        'support_serpent'                  => 'LinuxDevices/libraries',
-
 
1665
        'support_serpent-api'              => 'LinuxDevices/libraries',
-
 
1666
        'support_serpent-so'               => 'LinuxDevices/libraries',
-
 
1667
        'viper-support'                    => 'LinuxDevices/libraries',
-
 
1668
        'viper_setmac'                     => 'LinuxDevices/libraries',
-
 
1669
        'libviper-mcr'                     => 'LinuxDevices/mcr',
-
 
1670
        'linux-mcrfirmware'                => 'LinuxDevices/mcr',
-
 
1671
        'mcr400-firmware'                  => 'LinuxDevices/mcr',
-
 
1672
        'mcr400_emulator'                  => 'LinuxDevices/mcr',
-
 
1673
        'mcrdemo'                          => 'LinuxDevices/mcr',
-
 
1674
        'alsa'                             => 'LinuxDevices/opensource',
-
 
1675
        'can-utils'                        => 'LinuxDevices/opensource',
-
 
1676
        'canbus-j1708-monitor'             => 'LinuxDevices/opensource',
-
 
1677
        'dfbtool'                          => 'LinuxDevices/opensource',
-
 
1678
        'directfb'                         => 'LinuxDevices/opensource',
-
 
1679
        'expat-linux'                      => 'LinuxDevices/opensource',
-
 
1680
        'freetype'                         => 'LinuxDevices/opensource',
-
 
1681
        'gpsd'                             => 'LinuxDevices/opensource',
-
 
1682
        'iniparser'                        => 'LinuxDevices/opensource',
-
 
1683
        'iptables'                         => 'LinuxDevices/opensource',
-
 
1684
        'irda-utils'                       => 'LinuxDevices/opensource',
-
 
1685
        'libftdi'                          => 'LinuxDevices/opensource',
-
 
1686
        'libid3tag'                        => 'LinuxDevices/opensource',
-
 
1687
        'libjpeg'                          => 'LinuxDevices/opensource',
-
 
1688
        'libmad'                           => 'LinuxDevices/opensource',
-
 
1689
        'libmodbus'                        => 'LinuxDevices/opensource',
-
 
1690
        'libmysql'                         => 'LinuxDevices/opensource',
-
 
1691
        'linux-glibc'                      => 'LinuxDevices/opensource',
-
 
1692
        'linux-glibc-dbg'                  => 'LinuxDevices/opensource',
-
 
1693
        'lrzsz'                            => 'LinuxDevices/opensource',
-
 
1694
        'madplay'                          => 'LinuxDevices/opensource',
-
 
1695
        'mkimage'                          => 'LinuxDevices/opensource',
-
 
1696
        'mtd-utils'                        => 'LinuxDevices/opensource',
-
 
1697
        'ncurses'                          => 'LinuxDevices/opensource',
-
 
1698
        'openntpd'                         => 'LinuxDevices/opensource',
-
 
1699
        'oprofile'                         => 'LinuxDevices/opensource',
-
 
1700
        'oprofile-dev'                     => 'LinuxDevices/opensource',
-
 
1701
        'pmctst'                           => 'LinuxDevices/opensource',
-
 
1702
        'popt'                             => 'LinuxDevices/opensource',
-
 
1703
        'ppp'                              => 'LinuxDevices/opensource',
-
 
1704
        'rsync'                            => 'LinuxDevices/opensource',
-
 
1705
        'smcroute'                         => 'LinuxDevices/opensource',
-
 
1706
        'sshpass'                          => 'LinuxDevices/opensource',
-
 
1707
        'strace'                           => 'LinuxDevices/opensource',
-
 
1708
        'tcpdump'                          => 'LinuxDevices/opensource',
-
 
1709
        'tslib'                            => 'LinuxDevices/opensource',
-
 
1710
        'AT91load'                         => 'LinuxDevices/programingUtils',
-
 
1711
        'CobraLoad'                        => 'LinuxDevices/programingUtils',
-
 
1712
        'ERGAT91load_bcp4600'              => 'LinuxDevices/programingUtils',
-
 
1713
        'ERGAT91load_eb5600'               => 'LinuxDevices/programingUtils',
-
 
1714
        'ERGAT91load_tp5600'               => 'LinuxDevices/programingUtils',
-
 
1715
        'flash_copier_eb5600'              => 'LinuxDevices/programingUtils',
-
 
1716
        'flash_copier_pcp5700'             => 'LinuxDevices/programingUtils',
-
 
1717
        'flash_copier_tp5600'              => 'LinuxDevices/programingUtils',
-
 
1718
        'SDCardCopy'                       => 'LinuxDevices/programingUtils',
-
 
1719
        'ViperLoad'                        => 'LinuxDevices/programingUtils',
-
 
1720
        'arm-926ejs-linux-gnueabi'         => 'LinuxDevices/toolchain',
-
 
1721
        'binutils'                         => 'LinuxDevices/toolchain',
-
 
1722
        'crosstool-ng'                     => 'LinuxDevices/toolchain',
-
 
1723
        'gdb'                              => 'LinuxDevices/toolchain',
-
 
1724
        'linux_gnu_tools'                  => 'LinuxDevices/toolchain',
-
 
1725
        'imageviewer'                      => 'LinuxDevices/utilities',
-
 
1726
        'imgput'                           => 'LinuxDevices/utilities',
-
 
1727
        'thrash'                           => 'LinuxDevices/utilities',
-
 
1728
        'webviewer'                        => 'LinuxDevices/utilities',
-
 
1729
        'haserl'                           => 'LinuxDevices/webserver',
-
 
1730
        'lua'                              => 'LinuxDevices/webserver',
-
 
1731
        'thttpd'                           => 'LinuxDevices/webserver',
-
 
1732
        'compat-wireless'                  => 'LinuxDevices/wireless',
-
 
1733
        'hostapd-experimental'             => 'LinuxDevices/wireless',
-
 
1734
        'rt2571'                           => 'LinuxDevices/wireless',
-
 
1735
        'rt2870-firmware'                  => 'LinuxDevices/wireless',
-
 
1736
        'rt3070'                           => 'LinuxDevices/wireless',
-
 
1737
        'wireless_tools'                   => 'LinuxDevices/wireless',
-
 
1738
        'wpa-supplicant'                   => 'LinuxDevices/wireless',
-
 
1739
        'zd1211-firmware'                  => 'LinuxDevices/wireless',
-
 
1740
 
-
 
1741
        # Plan to move these
-
 
1742
        'debian_dpkg'                      => 'LinuxDevices/opensource',
-
 
1743
        'openobex'                         => 'LinuxDevices/opensource',
-
 
1744
        'dtc'                              => 'LinuxDevices/opensource',
-
 
1745
        'watchdog'                         => 'LinuxDevices/opensource',
-
 
1746
        'zlib_linux'                       => 'LinuxDevices/opensource',
-
 
1747
        'sktcat'                           => 'LinuxDevices/opensource',
-
 
1748
        'mono'                             => 'LinuxDevices/opensource',
-
 
1749
        'libpng'                           => 'LinuxDevices/opensource',
-
 
1750
 
1547
    );
1751
    );
1548
 
1752
 
1549
    my %VobRename = (
1753
    my %VobRename = (
1550
        'LMOS'              => 'LinuxDevices',
1754
        'LMOS'                      => 'LinuxDevices',
1551
        'MANUFACTURING'     => 'Manufacturing',
1755
        'MANUFACTURING'             => 'Manufacturing',
1552
        'MREF_Package'      => 'MREF_Package',
1756
        'MREF_Package'              => 'MREF_Package',
1553
        'MASS_Dev'          => 'MASS_Dev_Bus',
1757
        'MASS_Dev'                  => 'MASS_Dev_Bus',
1554
        's4k_tracs'         => 'TRACS',
1758
        's4k_tracs'                 => 'TRACS',
1555
        'MASS_Dev_Tools'    => 'DevTools',
1759
        'MASS_Dev_Tools'            => 'DevTools',
1556
 
1760
 
1557
        'GMPTE2005'             => 'ITSO_TRACS',
1761
        'GMPTE2005'                 => 'ITSO_TRACS',
1558
        'GMPTE2005_obe'         => 'ITSO_TRACS',
1762
        'GMPTE2005_obe'             => 'ITSO_TRACS/obe/dummyDir',
1559
        'UK_ITSO_COMPLIANT'     => 'ITSO_TRACS',
1763
        'UK_ITSO_COMPLIANT'         => 'ITSO_TRACS',
1560
 
1764
 
1561
        'MASS_Dev_Infra/security'   => 'MASS_Dev_Infra/Security',
1765
        'MASS_Dev_Infra/security'   => 'MASS_Dev_Infra/Security',
1562
        'MASS_Dev_Infra/web'        => 'MASS_Dev_Infra/Web',
1766
        'MASS_Dev_Infra/web'        => 'MASS_Dev_Infra/Web',
1563
        'MASS_Dev_Infra/cdss'       => 'MASS_Dev_Infra/Cdss',
1767
        'MASS_Dev_Infra/cdss'       => 'MASS_Dev_Infra/Cdss',
-
 
1768
 
-
 
1769
        'TRACS/faresets'            => 'ITSO_TRACS/faresets',
-
 
1770
        'ProjectCD'                 => 'DPG_SWCode/ProjectCD',
-
 
1771
 
1564
    );
1772
    );
1565
 
1773
 
1566
    my %PreferredPath = (
1774
    my %PreferredPath = (
1567
        'MASS_Dev_Bus/Reports'      => 1,
1775
        'MASS_Dev_Bus/Reports'      => 1,
1568
        'MASS_Dev_Bus/CBP'          => 1,
1776
        'MASS_Dev_Bus/CBP'          => 1,
1569
        'MASS_Dev_Bus/Business'     => 1,
1777
        'MASS_Dev_Bus/Business'     => 1,
1570
        'MASS_Dev_Bus/CIPP'        => 1,
1778
        'MASS_Dev_Bus/CIPP'         => 1,
1571
 
1779
 
1572
        'MASS_Dev_Infra/ProjectSpecific' => 1,
1780
        'MASS_Dev_Infra/ProjectSpecific' => 1,
1573
    );
1781
    );
1574
 
1782
 
1575
    # default is 1
1783
    # default is 1
1576
    my %VobDepth = (
1784
    my %VobDepth = (
1577
        'DPG_SWBase'                => 2,
1785
        'DPG_SWBase'                => 2,
1578
        'ITSO_TRACS'                => 2,
1786
        'ITSO_TRACS'                => 2,
1579
        'ITSO_TRACS/Packages'       => 1,
1787
        'ITSO_TRACS/Packages'       => 1,
1580
        'LinuxDevices'              => 2,
-
 
1581
        'MASS_Dev_Bus'              => 2,
1788
        'MASS_Dev_Bus'              => 2,
1582
        'MASS_Dev_Infra'            => 2,
1789
        'MASS_Dev_Infra'            => 2,
1583
        'MPR'                       => 2,
1790
        'MPR'                       => 2,
1584
        'ProjectCD'                 => 2,
1791
        'DPG_SWCode/ProjectCD'      => 3,
1585
        'TRACS'                     => 2,
1792
        'TRACS'                     => 2,
1586
        'VIX-PAYMENTS'              => 2,
1793
        'VIX-PAYMENTS'              => 2,
1587
        'WINCE500'                  => 2,
1794
        'WINCE500'                  => 2,
1588
        'LinuxDevices/linux'        => 3,
-
 
1589
        'DAMS_mos_diag'             => 2,
1795
        'DAMS_mos_diag'             => 2,
1590
        'MASS_Dev_Bus/Financial'    => 3,
1796
        'MASS_Dev_Bus/Financial'    => 3,
-
 
1797
        'SmartSite'                 => 2,
1591
    );
1798
    );
1592
 
1799
 
1593
    return ('SVN') if ( $PackageData{$pkgid}{isSVN} );
1800
    return ('SVN') if ( $PackageData{$pkgid}{isSVN} );
1594
    my $name = $PackageData{$pkgid}{name};
1801
    my $name = $PackageData{$pkgid}{name};
1595
 
1802
 
Line 1626... Line 1833...
1626
        my $newName = $VobRename{$name};
1833
        my $newName = $VobRename{$name};
1627
        $path =~ s~^/$name/~/$newName/~i;
1834
        $path =~ s~^/$name/~/$newName/~i;
1628
        $path =~ s~^/$name$~/$newName~i;
1835
        $path =~ s~^/$name$~/$newName~i;
1629
    }
1836
    }
1630
 
1837
 
-
 
1838
    $PackageData{$pkgid}{mappingPath} = $path;
-
 
1839
 
1631
    return $Named{$name}  if ( exists $Named{$name} );
1840
    return $Named{$name}  if ( exists $Named{$name} );
1632
 
1841
 
1633
    return 'DevTools/ant'  if ( $name =~ m~^ant~ );
1842
    return 'DevTools/ant'  if ( $name =~ m~^ant~ );
1634
    return 'DevTools/ant'  if ( $name =~ m~^jant~ );
1843
    return 'DevTools/ant'  if ( $name =~ m~^jant~ );
1635
 
1844
 
1636
    return 'LinuxDevices/tools' if ( $path =~ m~LinuxDevices/linux/tools~i );
-
 
1637
 
-
 
1638
    return 'MASS_Dev_Dataman' if ( $name =~ m~^dm_~ );
1845
    return 'MASS_Dev_Dataman' if ( $name =~ m~^dm_~ );
1639
 
1846
 
1640
    return 'MPR/EMV/emvl2' if ( $name =~ m~^cp[sf]-~ );
1847
    return 'MPR/EMV/emvl2' if ( $name =~ m~^cp[sf]-~ );
1641
 
1848
 
1642
    return 'COTS' if ( $PackageData{$pkgid}{type} eq 'COTS' && ! exists $PackageData{$pkgid}{vobs}{'LMOS'});
1849
    return 'COTS' if ( $PackageData{$pkgid}{type} eq 'COTS' && ! exists $PackageData{$pkgid}{vobs}{'LMOS'});
Line 1663... Line 1870...
1663
    push @pathBase, $vob unless ( @pathBase );
1870
    push @pathBase, $vob unless ( @pathBase );
1664
 
1871
 
1665
#print "Full: @pathFull\n";
1872
#print "Full: @pathFull\n";
1666
#print "Base: @pathBase\n";
1873
#print "Base: @pathBase\n";
1667
 
1874
 
-
 
1875
    if ( $vob eq 'LinuxDevices' )
-
 
1876
    {
-
 
1877
        return 'UNKNOWN';
-
 
1878
    }
-
 
1879
 
-
 
1880
 
1668
    return 'MOS/images'  if (($vob eq 'COTS' || $vob eq 'MOS') &&  $name =~ m~^mos_~ && $name =~ m~\d\d\d\d~);
1881
    return 'MOS/images'  if (($vob eq 'COTS' || $vob eq 'MOS') &&  $name =~ m~^mos_~ && $name =~ m~\d\d\d\d~);
1669
 
1882
 
1670
    return 'COTS' if ( $vob =~ m~^COTS_~ );
1883
    return 'COTS' if ( $vob =~ m~^COTS_~ );
1671
    return 'COTS' if ( $vob eq 'COTS' );
1884
    return 'COTS' if ( $vob eq 'COTS' );
1672
 
1885
 
Line 1702... Line 1915...
1702
 
1915
 
1703
    #
1916
    #
1704
    #   ProjectCd is badly done
1917
    #   ProjectCd is badly done
1705
    #   Many packages are in named directories, some are not.
1918
    #   Many packages are in named directories, some are not.
1706
    #
1919
    #
1707
    if ( $vob eq 'ProjectCD' )
1920
    if ( defined $pathFull[1] && $pathFull[1] eq 'ProjectCD' )
1708
    {
1921
    {
1709
        return $vob if ( $name eq 'daf_paper_variables' );
-
 
1710
        return ($vob . '/seattle')
-
 
1711
            if (  grep {$_ eq 'seattle'} @pathFull );
1922
        push @pathBase, $pathFull[2] if ( defined $pathFull[2]  );
1712
        return ($vob . '/stockholm')
-
 
1713
            if (  grep {$_ eq 'stockholm'} @pathFull );
-
 
1714
        return $vob;
-
 
1715
    }
1923
    }
1716
 
1924
 
1717
    #
1925
    #
1718
    #   Detect core_xxx packages
1926
    #   Detect core_xxx packages
1719
    #
1927
    #
Line 1748... Line 1956...
1748
            }
1956
            }
1749
        }
1957
        }
1750
    }
1958
    }
1751
 
1959
 
1752
    #
1960
    #
-
 
1961
    #   Last resort
1753
    #   Determine depth for this path
1962
    #   Determine depth for this path
1754
    #
1963
    #
1755
    my $depth = 1;
1964
    my $depth = 1;
1756
    foreach ( reverse sort keys %VobDepth)
1965
    foreach ( reverse sort keys %VobDepth)
1757
    {
1966
    {
Line 1903... Line 2112...
1903
        $bad = 1 unless ( $label );
2112
        $bad = 1 unless ( $label );
1904
        $bad = 1 if ( $label =~ m~^N/A$~i || $label  =~ m~^na$~i );
2113
        $bad = 1 if ( $label =~ m~^N/A$~i || $label  =~ m~^na$~i );
1905
 
2114
 
1906
        $bad = 1 unless ( $path );
2115
        $bad = 1 unless ( $path );
1907
        $bad = 1 if ( $path =~ m~^N/A$~i || $path  =~ m~^na$~i );
2116
        $bad = 1 if ( $path =~ m~^N/A$~i || $path  =~ m~^na$~i );
-
 
2117
        $bad = 1 if ( $path =~ m~^/dpkg_archive~ || $path  =~ m~^dpkg_archive~ );
1908
        $bad = 1 if ( $path =~ m~^/dpkg_archive~ );
2118
        $bad = 1 if ( $path =~ m~^/devl/~ || $path  =~ m~^devl/~ );
1909
        $bad = 1 if ( $path =~ m~^CVS~ );
2119
        $bad = 1 if ( $path =~ m~^CVS~ );
1910
        $bad = 1 if ( $path =~ m~^dpkg_archive~ );
-
 
1911
        $bad = 1 if ( $path =~ m~^http:~i );
2120
        $bad = 1 if ( $path =~ m~^http:~i );
1912
        $bad = 1 if ( $path =~ m~^[A-Za-z]\:~ );
2121
        $bad = 1 if ( $path =~ m~^[A-Za-z]\:~ );
1913
        $bad = 1 if ( $path =~ m~^//~ );
2122
        $bad = 1 if ( $path =~ m~^//~ );
1914
        $bad = 1 if ( $path =~ m~^/blade1/~ );
2123
        $bad = 1 if ( $path =~ m~^/blade1/~ );
1915
        $bad = 1 if ( $path =~ m~^/devl/~ );
2124
        $bad = 1 if ( $path =~ m~^/devl/~ );
1916
        $bad = 1 if ( $path =~ m~^/*none~i );
2125
        $bad = 1 if ( $path =~ m~^/*none~i );
1917
        $bad = 1 if ( $path =~ m~^/*NoWhere~i );
2126
        $bad = 1 if ( $path =~ m~^/*NoWhere~i );
1918
        $bad = 1 if ( $path =~ m~^-$~i );
2127
        $bad = 1 if ( $path =~ m~^-$~i );
-
 
2128
        $bad = 1 if ( $path =~ m~^cvsserver:~ );
-
 
2129
        $bad = 1 if ( $path =~ m~,\s*module:~ );
1919
        $bad = 1 if ( $path =~ m~[()]~ );
2130
        $bad = 1 if ( $path =~ m~[()]~ );
1920
#        $bad = 1 unless ( $path =~ m~^/~ );
2131
#        $bad = 1 unless ( $path =~ m~^/~ );
1921
    }
2132
    }
1922
    else
2133
    else
1923
    {
2134
    {
Line 2029... Line 2240...
2029
# Returns         : Cleaned up vcs tag
2240
# Returns         : Cleaned up vcs tag
2030
#
2241
#
2031
sub vcsCleanup
2242
sub vcsCleanup
2032
{
2243
{
2033
    my ($tag) = @_;
2244
    my ($tag) = @_;
2034
    $tag =~ tr~\\/~/~;
2245
    $tag =~ tr~\\/~/~;                              # Force use of /
-
 
2246
    $tag =~ s~/+$~~;                                # Trailing /
2035
    if ( $tag =~ m~^CC::~ )
2247
    if ( $tag =~ m~^CC::~ )
2036
    {
2248
    {
-
 
2249
        $tag =~ s~CC::/VOB:/~CC::/~;                # Kill stuff
2037
        $tag =~ s~CC::load\s+~CC::~;                # Load rule
2250
        $tag =~ s~CC::load\s+~CC::~;                # Load rule
2038
        $tag =~ s~CC::\s+~CC::~;                    # Leading white space
2251
        $tag =~ s~CC::\s+~CC::~;                    # Leading white space
2039
        $tag =~ s~CC::[A-Za-z]\:/~CC::/~;           # Leading driver letter
2252
        $tag =~ s~CC::[A-Za-z]\:/~CC::/~;           # Leading driver letter
2040
        $tag =~ s~CC::/+~CC::/~;                    # Multiple initial /'s
2253
        $tag =~ s~CC::/+~CC::/~;                    # Multiple initial /'s
2041
        $tag =~ s~/build.pl::~::~i;
2254
        $tag =~ s~/build.pl::~::~i;
Line 2046... Line 2259...
2046
        $tag =~ s~/MASS_Dev/Bus/web~/MASS_Dev_Bus/web~i;
2259
        $tag =~ s~/MASS_Dev/Bus/web~/MASS_Dev_Bus/web~i;
2047
 
2260
 
2048
        $tag =~ s~/Vastraffik/~/Vasttrafik/~;
2261
        $tag =~ s~/Vastraffik/~/Vasttrafik/~;
2049
        $tag =~ s~/MREF_Package/ergpostmongui$~/MREF_Package/ergpostmongui~i;
2262
        $tag =~ s~/MREF_Package/ergpostmongui$~/MREF_Package/ergpostmongui~i;
2050
        $tag =~ s~DPC_SWCode/~DPG_SWCode/~i;
2263
        $tag =~ s~DPC_SWCode/~DPG_SWCode/~i;
2051
 
-
 
2052
    }
2264
    }
2053
    return $tag;
2265
    return $tag;
2054
}
2266
}
2055
 
2267
 
2056
#-------------------------------------------------------------------------------
2268
#-------------------------------------------------------------------------------
Line 2139... Line 2351...
2139
sub getProtectedPackages
2351
sub getProtectedPackages
2140
{
2352
{
2141
    my $badFile = 'cc2svn_protected.txt';
2353
    my $badFile = 'cc2svn_protected.txt';
2142
    Message ("Reading Protected Package: $badFile");
2354
    Message ("Reading Protected Package: $badFile");
2143
    open (my $fh, '<', $badFile ) || Error ("Cannot open $badFile");
2355
    open (my $fh, '<', $badFile ) || Error ("Cannot open $badFile");
-
 
2356
    my $section_comment;
2144
    while ( <$fh> )
2357
    while ( <$fh> )
2145
    {
2358
    {
2146
        #
2359
        #
2147
        #   Format of data is:
2360
        #   Format of data is:
2148
        #       packageName     - protected
2361
        #       packageName     - protected
2149
        #      -packageName     - Known Broken
2362
        #      -packageName     - Known Broken
2150
        #
2363
        #
-
 
2364
        #   Line Comment is '#'
-
 
2365
        #   Package Comment is delimted by White space
-
 
2366
        #   Section Comment is [ comment ]
-
 
2367
        #
2151
        s~\s+$~~;
2368
        s~\s+$~~;
2152
        s~^\s+~~;
2369
        s~^\s+~~;
2153
        next if ( m~^#~ );
2370
        next if ( m~^#~ );
-
 
2371
        if ( m~^\s*\[\s*(.*?)\s*\]~ )
-
 
2372
        {
-
 
2373
            $section_comment = $1;
-
 
2374
            next;
-
 
2375
        }
-
 
2376
 
2154
        $_ .= ' ';
2377
        $_ .= ' ';
2155
        my @data = split (/ /, $_, 2);
2378
        my @data = split (/ /, $_, 2);
2156
        next unless ( $data[0] );
2379
        next unless ( $data[0] );
2157
        my $name = $data[0];
2380
        my $name = $data[0];
-
 
2381
        my $comment = $data[1];
-
 
2382
        $comment =~ s~^\s+#~~;
-
 
2383
        $comment =~ s~^\s+~~;
-
 
2384
        $comment =~ s~\s+$~~;
-
 
2385
        $comment = $comment || $section_comment;
2158
        my $mode = 'Protected';
2386
        my $mode = 'Protected';
2159
        if ( $name =~ m~^-(.*)~ )
2387
        if ( $name =~ m~^-(.*)~ )
2160
        {
2388
        {
2161
            $name = $1;
2389
            $name = $1;
2162
            $mode = 'Broken'
2390
            $mode = 'Broken'
2163
        }
2391
        }
2164
        $Protected{$name} = $mode;
2392
        $Protected{$name}{mode} = $mode;
-
 
2393
        $Protected{$name}{comment} = $comment if ( $comment );
2165
    }
2394
    }
2166
    close $fh;
2395
    close $fh;
2167
#    DebugDumpData('%Protected', \%Protected );
2396
#    DebugDumpData('%Protected', \%Protected );
2168
}
2397
}
2169
 
2398