Subversion Repositories DevTools

Rev

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

Rev 3515 Rev 3846
Line 178... Line 178...
178
        #
178
        #
179
        $extraPkgs = {};
179
        $extraPkgs = {};
180
        $excludePkgs = {};
180
        $excludePkgs = {};
181
        while (my($key, $data) = each ( %{$conf->{pkgs}} ))
181
        while (my($key, $data) = each ( %{$conf->{pkgs}} ))
182
        {
182
        {
183
            if ( $data eq 'EXCLUDE' )
183
            if ( $data eq 'EXCLUDE' ) {
184
            {
-
 
185
                $excludePkgs->{$key} = 1;
184
                $excludePkgs->{$key} = 1;
186
                $logger->verbose("Exclude Pkg: $key");
185
                $logger->verbose("Exclude Pkg: $key");
-
 
186
 
-
 
187
            } elsif ( $data eq 'ALL' ) {
-
 
188
                foreach my $pver (getPackageVersions($key))
187
            }
189
                {
-
 
190
                    $extraPkgs->{$key}{$pver} = 1;
-
 
191
                    $logger->verbose("Extra Pkg: $key -> $pver");
188
            else
192
                }
189
            {
193
            } else {
190
                $extraPkgs->{$key}{$data} = 1;
194
                $extraPkgs->{$key}{$data} = 1;
191
                $logger->verbose("Extra Pkg: $key -> $data");
195
                $logger->verbose("Extra Pkg: $key -> $data");
192
            }
196
            }
193
        }
197
        }
194
 
198
 
Line 306... Line 310...
306
    #
310
    #
307
    #   Note: If there are symbolic links, then the target of the
311
    #   Note: If there are symbolic links, then the target of the
308
    #         link is treated used as the package name
312
    #         link is treated used as the package name
309
    #
313
    #
310
    #         Symlink MUST be within the same directory
314
    #         Symlink MUST be within the same directory
311
    #
-
 
312
    #         Used to transfer jats2_current
315
    #           Used to transfer jats2_current
313
    #
316
    #
314
    my $pkgLink;
317
    my $pkgLink;
315
    while ( (my ($pname, $pvers)) = each %{$extraPkgs} ) {
318
    while ( (my ($pname, $pvers)) = each %{$extraPkgs} ) {
316
        while ( (my ($pver, $pdata) ) = each %{$pvers} ) {
319
        while ( (my ($pver, $pdata) ) = each %{$pvers} ) {
317
 
320
 
Line 319... Line 322...
319
            if ( -l $epath )
322
            if ( -l $epath )
320
            {
323
            {
321
                my $lver = readlink( $epath );
324
                my $lver = readlink( $epath );
322
                if ( ! defined $lver )
325
                if ( ! defined $lver )
323
                {
326
                {
324
                    $logger->warn("Cant resolve symlink: $pname, $pver");
327
                    $logger->warn("Can't resolve symlink: $pname, $pver");
325
                    next;
328
                    next;
326
                }
329
                }
327
 
330
 
328
                if ( $lver =~ m ~/~ )
331
                if ( $lver =~ m ~/~ )
329
                {
332
                {
Line 826... Line 829...
826
 
829
 
827
    return @{$releaseData{getReleaseList}};
830
    return @{$releaseData{getReleaseList}};
828
}
831
}
829
 
832
 
830
#-------------------------------------------------------------------------------
833
#-------------------------------------------------------------------------------
-
 
834
# Function        : getPackageVersions
-
 
835
#
-
 
836
# Description     : Get the list of package-versions available in the package
-
 
837
#                   store.
-
 
838
#
-
 
839
# Inputs          : pkgName             - The package name
-
 
840
#
-
 
841
# Returns         : Array of versions
-
 
842
#
-
 
843
sub getPackageVersions
-
 
844
{
-
 
845
    my ($pkgName) = @_;
-
 
846
    my @versionList;
-
 
847
 
-
 
848
    my $pkgDir = catfile($conf->{'dpkg_archive'} , $pkgName );
-
 
849
    my $dh;
-
 
850
 
-
 
851
    unless (opendir($dh, $pkgDir))
-
 
852
    {
-
 
853
        $logger->warn ("Can't opendir $pkgDir: $!");
-
 
854
        return @versionList;
-
 
855
    }
-
 
856
 
-
 
857
    #
-
 
858
    #   Process each entry
-
 
859
    #   Ignore those that start with a .
-
 
860
    #
-
 
861
    while (my $version = readdir($dh) )
-
 
862
    {
-
 
863
        next if ( $version =~ m~^\.~ );
-
 
864
        my $file = catfile($pkgDir, $version);
-
 
865
 
-
 
866
        next unless ( -d $file );
-
 
867
 
-
 
868
        push @versionList, $version;
-
 
869
        $logger->verbose3("getPackageVersions: $pkgName, $version");
-
 
870
    }
-
 
871
    closedir $dh;
-
 
872
    return @versionList;
-
 
873
}
-
 
874
 
-
 
875
#-------------------------------------------------------------------------------
831
# Function        : maintainTagList
876
# Function        : maintainTagList
832
#
877
#
833
# Description     : Maintain a data structure for the maintenance of the
878
# Description     : Maintain a data structure for the maintenance of the
834
#                   tags directory
879
#                   tags directory
835
#
880
#