Changeset 297

Show
Ignore:
Timestamp:
11/26/06 23:28:54 (7 years ago)
Author:
max
Message:

Added --update-version for {12}

Files:
2 modified

Legend:

Unmodified
Added
Removed
  • applications/shepherd

    r296 r297  
    33my $myprogname = 'shepherd'; 
    44my $progname = 'shepherd'; 
    5 my $version = '0.3.32'; 
     5my $version = '0.3.33'; 
    66 
    77# tv_grab_au 
     
    233233    $ver = $components->{$proggy}->{ver} if (defined $components->{$proggy} and -e query_filename($proggy,$progtype)); 
    234234 
    235     my $result = versioncmp($ver, $latestversion); 
    236     my $action =    $result == -1 ? ($ver ? "UPGRADING" : "NEW") : 
    237                     $result ==  1 ? "DOWNGRADING" : 
    238                     "up to date"; 
     235    my ($result, $action); 
     236 
     237    if ($progtype eq 'application' 
     238        or $progtype eq 'engine' 
     239        or $progtype eq 'reconciler') 
     240    { 
     241        $result = &majorversioncmp($ver, $latestversion); 
     242 
     243        # Ignore major versions that are lower. This lets us maintain branches 
     244        # of Shepherd; i.e. release a bugfix for a previous version while continuing  
     245        # development of a newer version with new dependencies. 
     246        return 0 if ($result == 1); 
     247         
     248        if ($result == -1 and !$opt->{'update-version'}) 
     249        { 
     250            &log(ucfirst($progtype) . " $proggy has new major version available: " . 
     251                 "v$latestversion.\nNot auto-updating. To update, run: $progname " . 
     252                 "--update-version\n"); 
     253            $result = 0; 
     254            $action = 'GNORING'; 
     255        } 
     256    } 
     257 
     258    unless ($action) 
     259    { 
     260        $result = &versioncmp($ver, $latestversion); 
     261        $action =    $result == -1 ? ($ver ? "UPGRADING" : "NEW") : 
     262                     $result ==  1 ? "DOWNGRADING" : 
     263                                     "up to date"; 
     264    } 
    239265    &log(sprintf    "* %-55s%16s\n", 
    240266                    ucfirst($progtype) . " $proggy" . 
     
    525551} 
    526552 
     553sub majorversioncmp 
     554{ 
     555    my ($v1, $v2) = @_; 
     556 
     557    $v1 =~ /^(\d+)\./ and $v1 = $1; 
     558    $v2 =~ /^(\d+)\./ and $v2 = $1; 
     559 
     560    $v1 <=> $v2; 
     561} 
     562 
    527563sub get_full_path 
    528564{ 
     
    883919                        nolog 
    884920                        check 
     921                        update-version 
    885922                        reset 
    886923                     )); 
    887924  $debug = $opt->{debug}; 
     925  $opt->{update} = 1 if ($opt->{'update-version'}); 
    888926} 
    889927 
     
    12861324    --update              Update only; don't grab data 
    12871325 
     1326    --update-version      Update major version 
     1327 
    12881328    --check               Check status of all components, configure if necessary 
    12891329 
  • status

    r296 r297  
    1 application     shepherd            0.3.32 
     1application     shepherd            0.3.33 
    22engine          dog                 0.3.13 
    33grabber         yahoo7widget        1.58-r1