Subversion Repositories DevTools

Rev

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

Rev 2449 Rev 2548
Line 260... Line 260...
260
#
260
#
261
foreach my $pkgid ( keys %PackageSet )
261
foreach my $pkgid ( keys %PackageSet )
262
{
262
{
263
    ($PackageData{$pkgid}{type}, @{$PackageData{$pkgid}{suffixes}} ) = smartPackageType ($pkgid);
263
    ($PackageData{$pkgid}{type}, @{$PackageData{$pkgid}{suffixes}} ) = smartPackageType ($pkgid);
264
    my @vobs = keys %{$PackageData{$pkgid}{vobs}};
264
    my @vobs = keys %{$PackageData{$pkgid}{vobs}};
265
    $PackageData{$pkgid}{isSVN} = 1 if ( @vobs == 1 && $vobs[0] eq 'SVN' );
265
#    $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});
266
#    $PackageData{$pkgid}{isSVN} = 1 if ( (exists ($PackageData{$pkgid}{vobs}{SVN})) && $PackageData{$pkgid}{vobs}{SVN});
267
 
267
 
-
 
268
 
-
 
269
 
-
 
270
    $PackageData{$pkgid}{isSVN} = 1 if ( exists $ScmAllPackages{$pkgid} && $ScmAllPackages{$pkgid}{inSvn} );
268
    $PackageData{$pkgid}{MultiVob} = 1 if ( @vobs > 1 );
271
    $PackageData{$pkgid}{MultiVob} = 1 if ( @vobs > 1 );
269
    $PackageData{$pkgid}{BadVob} = 1 if ( grep {$_ eq 'BAD'} @vobs   );
272
    $PackageData{$pkgid}{BadVob} = 1 if ( grep {$_ eq 'BAD'} @vobs   );
270
}
273
}
271
 
274
 
272
 
-
 
273
#
275
#
274
#   Map packages into Repos
276
#   Map packages into Repos
275
#
277
#
276
my %Repos_lowercase;
278
my %Repos_lowercase;
277
my %Repos;
279
my %Repos;
Line 449... Line 451...
449
            $Data{$name}{repo} = $repo;
451
            $Data{$name}{repo} = $repo;
450
            $Data{$name}{SVN} = 1 if $PackageData{$pkgid}{isSVN};
452
            $Data{$name}{SVN} = 1 if $PackageData{$pkgid}{isSVN};
451
            $Data{$name}{youngest} = $youngest;
453
            $Data{$name}{youngest} = $youngest;
452
            $Data{$name}{ynr} = $youngestNonRipple;
454
            $Data{$name}{ynr} = $youngestNonRipple;
453
            $Data{$name}{ynb} = $youngestNonBuildadm;
455
            $Data{$name}{ynb} = $youngestNonBuildadm;
454
            $Data{$name}{protected} = $Protected{$PackageData{$pkgid}{name}} if exists $Protected{$PackageData{$pkgid}{name}};
456
            $Data{$name}{protected} = $Protected{$PackageData{$pkgid}{name}}{mode} if exists $Protected{$PackageData{$pkgid}{name}};
455
        }
457
        }
456
        $fh->Close();
458
        $fh->Close();
457
    }
459
    }
458
 
460
 
459
    my $file = "cc2svn.repo.dat";
461
    my $file = "cc2svn.repo.dat";
Line 722... Line 724...
722
    print $HTML "Complete list of packages. This includes 'Essential Packages' and packages that ";
724
    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.";
725
    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>";
726
    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>";
727
    print $HTML "<button type=\"button\" onclick=\"flipStyleByName('.essential', 'display', 'none', '')\" >Show/Hide Essential</button>";
726
    
728
    
727
    foreach my $pkgid ( sort {lc($ScmAllPackages{$a}) cmp lc($ScmAllPackages{$b}) } keys %ScmAllPackages )
729
    foreach my $pkgid ( sort {lc($ScmAllPackages{$a}{name}) cmp lc($ScmAllPackages{$b}{name}) } keys %ScmAllPackages )
728
    {
730
    {
729
        my $thisChar = uc(substr($ScmAllPackages{$pkgid}, 0, 1 ));
731
        my $thisChar = uc(substr($ScmAllPackages{$pkgid}{name}, 0, 1 ));
730
        if ( $thisChar ne $currentChar )
732
        if ( $thisChar ne $currentChar )
731
        {
733
        {
732
            print $HTML $t->getTable if ( $t );
734
            print $HTML $t->getTable if ( $t );
733
            $t = new HTML::Table();
735
            $t = new HTML::Table();
734
 
736
 
Line 741... Line 743...
741
        my $import_log = '';
743
        my $import_log = '';
742
        my $marker = '';
744
        my $marker = '';
743
        my $class;
745
        my $class;
744
        unless ( exists $PackageData{$pkgid} )
746
        unless ( exists $PackageData{$pkgid} )
745
        {
747
        {
746
            $packageRef = $ScmAllPackages{$pkgid};
748
            $packageRef = $ScmAllPackages{$pkgid}{name};
747
            $marker = 'Not being converted at this time';
749
            $marker = 'Not being converted at this time';
748
            $class = 'nonEssential';
750
            $class = 'nonEssential';
749
        }
751
        }
750
        else
752
        else
751
        {
753
        {
Line 876... Line 878...
876
            }
878
            }
877
        }
879
        }
878
        my $txt = join( '<br>', values %RepoList);
880
        my $txt = join( '<br>', values %RepoList);
879
        $txt = ' : ' . $txt if ( $txt );
881
        $txt = ' : ' . $txt if ( $txt );
880
        $t->addRow("Repo:", hRef("#Repo_$repo", $repo). $txt );
882
        $t->addRow("Repo:", hRef("#Repo_$repo", $repo). $txt );
881
        $t->addRow("Protected:", $Protected{$PackageData{$pkgid}{name}} ) if exists $Protected{$PackageData{$pkgid}{name}};
883
        if ( exists $Protected{$PackageData{$pkgid}{name}} )
-
 
884
        {
-
 
885
            my $entry = $Protected{$PackageData{$pkgid}{name}};
-
 
886
            my $comment = $entry->{comment} || '';
-
 
887
            my $t2 = new HTML::Table( -border=>0, -padding=>0, -spacing=>0, -class=>'paddedTable' );
-
 
888
 
-
 
889
            $t2->addRow($entry->{mode}, $comment );
-
 
890
            $t->addRow("Protected:", $t2->getTable);
-
 
891
        }
882
    }
892
    }
883
    $t->setColClass (1, 'listTitle' );
893
    $t->setColClass (1, 'listTitle' );
884
    print $HTML $t->getTable;
894
    print $HTML $t->getTable;
885
    generateHTMLTail($HTML);
895
    generateHTMLTail($HTML);
886
    #
896
    #
Line 1197... Line 1207...
1197
    $t->addRow( "Protected Packages - Migration delayed");
1207
    $t->addRow( "Protected Packages - Migration delayed");
1198
    $t->setRowClass  (-1, 'packageTitle');
1208
    $t->setRowClass  (-1, 'packageTitle');
1199
    $t->setCellColSpan(-1, 1, 2);
1209
    $t->setCellColSpan(-1, 1, 2);
1200
    foreach my $pkgname ( sort keys %Protected )
1210
    foreach my $pkgname ( sort keys %Protected )
1201
    {
1211
    {
1202
        next unless ( $Protected{$pkgname} eq 'Protected' );
1212
        next unless ( $Protected{$pkgname}{mode} eq 'Protected' );
1203
        my $pkgid =  $ScmPkgNames{$pkgname};
1213
        my $pkgid =  $ScmPkgNames{$pkgname};
1204
        my $txt = $pkgid ? linkPackageDetails($pkgid) : $pkgname;
1214
        my $txt = $pkgid ? linkPackageDetails($pkgid) : $pkgname;
1205
        $t->addRow( $txt, $Protected{$pkgname});
1215
        $t->addRow( $txt, $Protected{$pkgname}{comment});
1206
    }
1216
    }
1207
 
1217
 
1208
    $t->addRow( "Broken Packages - Migration not possible");
1218
    $t->addRow( "Broken Packages - Migration not possible");
1209
    $t->setRowClass  (-1, 'packageTitle');
1219
    $t->setRowClass  (-1, 'packageTitle');
1210
    $t->setCellColSpan(-1, 1, 2);
1220
    $t->setCellColSpan(-1, 1, 2);
1211
    foreach my $pkgname ( sort keys %Protected )
1221
    foreach my $pkgname ( sort keys %Protected )
1212
    {
1222
    {
1213
        next if ( $Protected{$pkgname} eq 'Protected' );
1223
        next if ( $Protected{$pkgname}{mode} eq 'Protected' );
1214
        my $pkgid =  $ScmPkgNames{$pkgname};
1224
        my $pkgid =  $ScmPkgNames{$pkgname};
1215
        my $txt = $pkgid ? linkPackageDetails($pkgid) : $pkgname;
1225
        my $txt = $pkgid ? linkPackageDetails($pkgid) : $pkgname;
1216
        $t->addRow( $txt, $Protected{$pkgname});
1226
        $t->addRow( $txt, $Protected{$pkgname}{comment});
1217
    }
1227
    }
1218
    
1228
    
1219
    print $HTML $t->getTable;
1229
    print $HTML $t->getTable;
1220
    
1230
    
1221
 
1231
 
Line 1500... Line 1510...
1500
        'AdvisoryDependency'                    => 'DevTools/buildtool_tests',
1510
        'AdvisoryDependency'                    => 'DevTools/buildtool_tests',
1501
        'CommonDependency'                      => 'DevTools/buildtool_tests',
1511
        'CommonDependency'                      => 'DevTools/buildtool_tests',
1502
        'GenericProduct'                        => 'DevTools/buildtool_tests',
1512
        'GenericProduct'                        => 'DevTools/buildtool_tests',
1503
        'LinuxCentricProduct'                   => 'DevTools/buildtool_tests',
1513
        'LinuxCentricProduct'                   => 'DevTools/buildtool_tests',
1504
        'CotsWithFunnyVersion'                  => 'DevTools/buildtool_tests',
1514
        'CotsWithFunnyVersion'                  => 'DevTools/buildtool_tests',
-
 
1515
        'xp_sequence'                           => 'MASS_Dev_Bus',
-
 
1516
        'dmrc_windows_proxy'                    => 'MASS_Dev_Infra/Dmrc',
-
 
1517
        'ExtDataImporter'                       => 'MASS_Dev_Infra/Dmrc',
-
 
1518
        'inqshim'                               => 'MASS_Dev_Infra/Dmrc',
1505
 
1519
 
1506
        'GenAppaCE'                             => 'DPG_SWCode/utilities',
1520
        'GenAppaCE'                             => 'DPG_SWCode/utilities',
1507
 
1521
 
1508
        'AtmelHAL'                              => 'MASS_Dev_Crypto',
1522
        'AtmelHAL'                              => 'MASS_Dev_Crypto',
1509
        'Netbula'                               => 'COTS',
1523
        'Netbula'                               => 'COTS',
Line 1559... Line 1573...
1559
        'UK_ITSO_COMPLIANT'     => 'ITSO_TRACS',
1573
        'UK_ITSO_COMPLIANT'     => 'ITSO_TRACS',
1560
 
1574
 
1561
        'MASS_Dev_Infra/security'   => 'MASS_Dev_Infra/Security',
1575
        'MASS_Dev_Infra/security'   => 'MASS_Dev_Infra/Security',
1562
        'MASS_Dev_Infra/web'        => 'MASS_Dev_Infra/Web',
1576
        'MASS_Dev_Infra/web'        => 'MASS_Dev_Infra/Web',
1563
        'MASS_Dev_Infra/cdss'       => 'MASS_Dev_Infra/Cdss',
1577
        'MASS_Dev_Infra/cdss'       => 'MASS_Dev_Infra/Cdss',
-
 
1578
 
-
 
1579
        'TRACS/faresets'            => 'ITSO_TRACS/faresets',
1564
    );
1580
    );
1565
 
1581
 
1566
    my %PreferredPath = (
1582
    my %PreferredPath = (
1567
        'MASS_Dev_Bus/Reports'      => 1,
1583
        'MASS_Dev_Bus/Reports'      => 1,
1568
        'MASS_Dev_Bus/CBP'          => 1,
1584
        'MASS_Dev_Bus/CBP'          => 1,
Line 1903... Line 1919...
1903
        $bad = 1 unless ( $label );
1919
        $bad = 1 unless ( $label );
1904
        $bad = 1 if ( $label =~ m~^N/A$~i || $label  =~ m~^na$~i );
1920
        $bad = 1 if ( $label =~ m~^N/A$~i || $label  =~ m~^na$~i );
1905
 
1921
 
1906
        $bad = 1 unless ( $path );
1922
        $bad = 1 unless ( $path );
1907
        $bad = 1 if ( $path =~ m~^N/A$~i || $path  =~ m~^na$~i );
1923
        $bad = 1 if ( $path =~ m~^N/A$~i || $path  =~ m~^na$~i );
-
 
1924
        $bad = 1 if ( $path =~ m~^/dpkg_archive~ || $path  =~ m~^dpkg_archive~ );
1908
        $bad = 1 if ( $path =~ m~^/dpkg_archive~ );
1925
        $bad = 1 if ( $path =~ m~^/devl/~ || $path  =~ m~^devl/~ );
1909
        $bad = 1 if ( $path =~ m~^CVS~ );
1926
        $bad = 1 if ( $path =~ m~^CVS~ );
1910
        $bad = 1 if ( $path =~ m~^dpkg_archive~ );
-
 
1911
        $bad = 1 if ( $path =~ m~^http:~i );
1927
        $bad = 1 if ( $path =~ m~^http:~i );
1912
        $bad = 1 if ( $path =~ m~^[A-Za-z]\:~ );
1928
        $bad = 1 if ( $path =~ m~^[A-Za-z]\:~ );
1913
        $bad = 1 if ( $path =~ m~^//~ );
1929
        $bad = 1 if ( $path =~ m~^//~ );
1914
        $bad = 1 if ( $path =~ m~^/blade1/~ );
1930
        $bad = 1 if ( $path =~ m~^/blade1/~ );
1915
        $bad = 1 if ( $path =~ m~^/devl/~ );
1931
        $bad = 1 if ( $path =~ m~^/devl/~ );
1916
        $bad = 1 if ( $path =~ m~^/*none~i );
1932
        $bad = 1 if ( $path =~ m~^/*none~i );
1917
        $bad = 1 if ( $path =~ m~^/*NoWhere~i );
1933
        $bad = 1 if ( $path =~ m~^/*NoWhere~i );
1918
        $bad = 1 if ( $path =~ m~^-$~i );
1934
        $bad = 1 if ( $path =~ m~^-$~i );
-
 
1935
        $bad = 1 if ( $path =~ m~^cvsserver:~ );
-
 
1936
        $bad = 1 if ( $path =~ m~,\s*module:~ );
1919
        $bad = 1 if ( $path =~ m~[()]~ );
1937
        $bad = 1 if ( $path =~ m~[()]~ );
1920
#        $bad = 1 unless ( $path =~ m~^/~ );
1938
#        $bad = 1 unless ( $path =~ m~^/~ );
1921
    }
1939
    }
1922
    else
1940
    else
1923
    {
1941
    {
Line 2029... Line 2047...
2029
# Returns         : Cleaned up vcs tag
2047
# Returns         : Cleaned up vcs tag
2030
#
2048
#
2031
sub vcsCleanup
2049
sub vcsCleanup
2032
{
2050
{
2033
    my ($tag) = @_;
2051
    my ($tag) = @_;
2034
    $tag =~ tr~\\/~/~;
2052
    $tag =~ tr~\\/~/~;                              # Force use of /
-
 
2053
    $tag =~ s~/+$~~;                                # Trailing /
2035
    if ( $tag =~ m~^CC::~ )
2054
    if ( $tag =~ m~^CC::~ )
2036
    {
2055
    {
-
 
2056
        $tag =~ s~CC::/VOB:/~CC::/~;                # Kill stuff
2037
        $tag =~ s~CC::load\s+~CC::~;                # Load rule
2057
        $tag =~ s~CC::load\s+~CC::~;                # Load rule
2038
        $tag =~ s~CC::\s+~CC::~;                    # Leading white space
2058
        $tag =~ s~CC::\s+~CC::~;                    # Leading white space
2039
        $tag =~ s~CC::[A-Za-z]\:/~CC::/~;           # Leading driver letter
2059
        $tag =~ s~CC::[A-Za-z]\:/~CC::/~;           # Leading driver letter
2040
        $tag =~ s~CC::/+~CC::/~;                    # Multiple initial /'s
2060
        $tag =~ s~CC::/+~CC::/~;                    # Multiple initial /'s
2041
        $tag =~ s~/build.pl::~::~i;
2061
        $tag =~ s~/build.pl::~::~i;
Line 2046... Line 2066...
2046
        $tag =~ s~/MASS_Dev/Bus/web~/MASS_Dev_Bus/web~i;
2066
        $tag =~ s~/MASS_Dev/Bus/web~/MASS_Dev_Bus/web~i;
2047
 
2067
 
2048
        $tag =~ s~/Vastraffik/~/Vasttrafik/~;
2068
        $tag =~ s~/Vastraffik/~/Vasttrafik/~;
2049
        $tag =~ s~/MREF_Package/ergpostmongui$~/MREF_Package/ergpostmongui~i;
2069
        $tag =~ s~/MREF_Package/ergpostmongui$~/MREF_Package/ergpostmongui~i;
2050
        $tag =~ s~DPC_SWCode/~DPG_SWCode/~i;
2070
        $tag =~ s~DPC_SWCode/~DPG_SWCode/~i;
2051
 
-
 
2052
    }
2071
    }
2053
    return $tag;
2072
    return $tag;
2054
}
2073
}
2055
 
2074
 
2056
#-------------------------------------------------------------------------------
2075
#-------------------------------------------------------------------------------
Line 2139... Line 2158...
2139
sub getProtectedPackages
2158
sub getProtectedPackages
2140
{
2159
{
2141
    my $badFile = 'cc2svn_protected.txt';
2160
    my $badFile = 'cc2svn_protected.txt';
2142
    Message ("Reading Protected Package: $badFile");
2161
    Message ("Reading Protected Package: $badFile");
2143
    open (my $fh, '<', $badFile ) || Error ("Cannot open $badFile");
2162
    open (my $fh, '<', $badFile ) || Error ("Cannot open $badFile");
-
 
2163
    my $section_comment;
2144
    while ( <$fh> )
2164
    while ( <$fh> )
2145
    {
2165
    {
2146
        #
2166
        #
2147
        #   Format of data is:
2167
        #   Format of data is:
2148
        #       packageName     - protected
2168
        #       packageName     - protected
2149
        #      -packageName     - Known Broken
2169
        #      -packageName     - Known Broken
2150
        #
2170
        #
-
 
2171
        #   Line Comment is '#'
-
 
2172
        #   Package Comment is delimted by White space
-
 
2173
        #   Section Comment is [ comment ]
-
 
2174
        #
2151
        s~\s+$~~;
2175
        s~\s+$~~;
2152
        s~^\s+~~;
2176
        s~^\s+~~;
2153
        next if ( m~^#~ );
2177
        next if ( m~^#~ );
-
 
2178
        if ( m~^\s*\[\s*(.*?)\s*\]~ )
-
 
2179
        {
-
 
2180
            $section_comment = $1;
-
 
2181
            next;
-
 
2182
        }
-
 
2183
 
2154
        $_ .= ' ';
2184
        $_ .= ' ';
2155
        my @data = split (/ /, $_, 2);
2185
        my @data = split (/ /, $_, 2);
2156
        next unless ( $data[0] );
2186
        next unless ( $data[0] );
2157
        my $name = $data[0];
2187
        my $name = $data[0];
-
 
2188
        my $comment = $data[1];
-
 
2189
        $comment =~ s~^\s+#~~;
-
 
2190
        $comment =~ s~^\s+~~;
-
 
2191
        $comment =~ s~\s+$~~;
-
 
2192
        $comment = $comment || $section_comment;
2158
        my $mode = 'Protected';
2193
        my $mode = 'Protected';
2159
        if ( $name =~ m~^-(.*)~ )
2194
        if ( $name =~ m~^-(.*)~ )
2160
        {
2195
        {
2161
            $name = $1;
2196
            $name = $1;
2162
            $mode = 'Broken'
2197
            $mode = 'Broken'
2163
        }
2198
        }
2164
        $Protected{$name} = $mode;
2199
        $Protected{$name}{mode} = $mode;
-
 
2200
        $Protected{$name}{comment} = $comment if ( $comment );
2165
    }
2201
    }
2166
    close $fh;
2202
    close $fh;
2167
#    DebugDumpData('%Protected', \%Protected );
2203
#    DebugDumpData('%Protected', \%Protected );
2168
}
2204
}
2169
 
2205