Changeset 9 for shepherd

Show
Ignore:
Timestamp:
10/04/06 06:03:30 (7 years ago)
Author:
lincoln
Message:

fix update/install logic regressions

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • shepherd

    r5 r9  
    151151{ 
    152152    update($progname, $version); 
     153    set_order(1) if $made_changes; 
    153154    write_config_file() unless ($opt->{configure}); 
    154155} 
     
    564565 
    565566    # handle new installs.. 
    566     if (($$proggy eq $progname) && ($progtype eq "shepherd")) { 
     567    if (($proggy eq $progname) && ($progtype eq "shepherd")) { 
    567568        # shepherd itself.. 
    568569        if(! -e "$CWD/$progname") { 
     
    572573        } 
    573574    } elsif ($progtype eq "grabber") { 
    574         if (!$grabbers->{$proggy} or ! -e "$GRABBER_DIR/$proggy/$proggy") { 
     575        if (!defined $grabbers->{$proggy} or ! -e "$GRABBER_DIR/$proggy/$proggy") { 
    575576            print "New grabber: $proggy.\n"; 
    576577            install($proggy, $latestversion, $progtype); 
     
    579580        print "Warning: grabber $proggy disabled by config file.\n" if ($grabbers->{$proggy}->{disabled}); 
    580581    } elsif ($progtype eq "postprocessor") { 
    581         if (!$postprocessors->{$proggy} or ! -e "$POSTPROCESSOR_DIR/$proggy/$proggy") { 
     582        if (!defined $postprocessors->{$proggy} or ! -e "$POSTPROCESSOR_DIR/$proggy/$proggy") { 
    582583            print "New postprocessor: $proggy.\n"; 
    583584            install($proggy, $latestversion, $progtype); 
     
    593594    } elsif ($progtype eq "postprocessor") { 
    594595        $ver = ($proggy eq $progname ? $version : $postprocessors->{$proggy}->{ver}); 
    595     } elsif (($$proggy eq $progname) && ($progtype eq "shepherd")) { 
     596    } elsif (($proggy eq $progname) && ($progtype eq "shepherd")) { 
    596597        $ver = $version; 
    597598    } else { 
     
    620621    my $rdir = $HOME; 
    621622    my $ldir = $CWD; 
    622     my $ver = $version; 
    623  
    624     if (($$proggy eq $progname) && ($progtype eq "shepherd")) { 
     623    my $ver = "unkown"; 
     624 
     625    if (($proggy eq $progname) && ($progtype eq "shepherd")) { 
    625626        $rdir = $HOME; 
    626627        $ldir = $CWD; 
     
    629630        $rdir = $HOME . "/grabbers"; 
    630631        $ldir = "$GRABBER_DIR/$proggy"; 
    631         $ver = $grabbers->{$proggy}->{ver}; 
     632        $ver = $grabbers->{$proggy}->{ver} if ((defined $grabbers->{$proggy}) && $grabbers->{$proggy}->{ver}); 
    632633        -d $GRABBER_DIR or mkdir $GRABBER_DIR or die "Cannot create directory $GRABBER_DIR: $!"; 
    633634    } elsif ($progtype eq "postprocessor") { 
    634635        $rdir = $HOME . "/postprocessors"; 
    635636        $ldir = "$POSTPROCESSOR_DIR/$proggy"; 
    636         $ver = $postprocessors->{$proggy}->{ver}; 
     637        $ver = $postprocessors->{$proggy}->{ver} if ((defined $postprocessors->{$proggy}) && $postprocessors->{$proggy}->{ver}); 
    637638        -d $POSTPROCESSOR_DIR or mkdir $POSTPROCESSOR_DIR or die "Cannot create directory $POSTPROCESSOR_DIR: $!"; 
    638639    } else { 
     
    665666 
    666667    # if the update was for shepherd itself, restart it 
    667     if (($$proggy eq $progname) && ($progtype eq "shepherd")) { 
     668    if (($proggy eq $progname) && ($progtype eq "shepherd")) { 
    668669        print "\n*** Restarting ***\n\n"; 
    669670        exec("$ldir/$proggy"); 
     
    10531054        printf  " %-16s %8s %4s %6s  %11s %s\n", 
    10541055                "$h->{order}. $_", 
    1055                 $h->{ver}, 
     1056                ($h->{ver} ? $h->{ver} : "unknown"), 
    10561057                $h->{disabled} ? '' : 'Y', 
    10571058                $h->{ready} ? 'Y' : '', 
    1058                 $h->{lastdata} ? (strftime "%a%d%b%y", localtime($h->{lastdata})) : '', 
     1059                $h->{lastdata} ? (strftime "%a%d%b%y", localtime($h->{lastdata})) : 'never', 
    10591060                $h->{laststatus} ? $h->{laststatus} : ''; 
    10601061    } 
     
    10671068        printf  " %-16s %8s %4s %6s  %11s %s\n", 
    10681069                $_, 
    1069                 $h->{ver}, 
     1070                ($h->{ver} ? $h->{ver} : "unknown"), 
    10701071                $h->{disabled} ? '' : 'Y', 
    10711072                $h->{ready} ? 'Y' : '', 
    1072                 $h->{lastdata} ? (strftime "%a%d%b%y", localtime($h->{lastdata})) : '', 
     1073                $h->{lastdata} ? (strftime "%a%d%b%y", localtime($h->{lastdata})) : 'never', 
    10731074                $h->{laststatus} ? $h->{laststatus} : ''; 
    10741075    }