equal
deleted
inserted
replaced
19 EOF |
19 EOF |
20 |
20 |
21 my $opt_url = "http://www.debian.org/releases/stable/index.html"; |
21 my $opt_url = "http://www.debian.org/releases/stable/index.html"; |
22 my $opt_search = "<p>Debian GNU/Linux"; |
22 my $opt_search = "<p>Debian GNU/Linux"; |
23 my $opt_file = "/etc/debian_version"; |
23 my $opt_file = "/etc/debian_version"; |
24 my ($found, $current_release, $current_majornr, $stable_release, $stable_majornr, @website); |
24 my ($found, $current_release, $current_majornr, $current_minornr, $stable_release, $stable_majornr, $stable_minornr, @website); |
25 |
25 |
26 sub check_status(); |
26 sub check_status(); |
27 sub print_help(); |
27 sub print_help(); |
28 sub print_usage(); |
28 sub print_usage(); |
29 |
29 |
46 |
46 |
47 open(CR, "<$opt_file"); |
47 open(CR, "<$opt_file"); |
48 while(<CR>) { |
48 while(<CR>) { |
49 chomp; |
49 chomp; |
50 $current_release = $_; |
50 $current_release = $_; |
51 $current_release =~ /^(\d)+.*/; |
51 $current_release =~ /^(\d)+.*(\d)+$/; |
52 $current_majornr = $1; |
52 $current_majornr = $1; |
|
53 $current_minornr = $2; |
53 } |
54 } |
54 close(CR); |
55 close(CR); |
55 |
56 |
56 # download the website |
57 # download the website |
57 push @website, split("\n", get($opt_url)); |
58 push @website, split("\n", get($opt_url)); |
65 } |
66 } |
66 |
67 |
67 # get stable release number |
68 # get stable release number |
68 if ($found =~ /$opt_search\s+([\d\.]+).*/) { |
69 if ($found =~ /$opt_search\s+([\d\.]+).*/) { |
69 $stable_release = $1; |
70 $stable_release = $1; |
70 $stable_release =~ /^(\d)+.*/; |
71 $stable_release =~ /^(\d)+.*(\d)+$/; |
71 $stable_majornr = $1; |
72 $stable_majornr = $1; |
|
73 $stable_minornr = $2; |
72 } |
74 } |
73 |
75 |
74 check_status(); |
76 check_status(); |
75 |
77 |
76 } |
78 } |
77 |
79 |
78 sub check_status() { |
80 sub check_status() { |
79 if ($stable_release eq $current_release) { |
81 if ($stable_release eq $current_release) { |
80 print "RELEASE OK: current release number $current_release\n"; |
82 print "RELEASE OK: current release number $current_release\n"; |
81 exit $ERRORS{"OK"}; |
83 exit $ERRORS{"OK"}; |
|
84 # Debian-Project is a little bit slowly to update his websites |
|
85 } elsif (++$stable_minornr eq $current_minornr) { |
|
86 print "RELEASE OK: current release number $current_release\n"; |
|
87 exit $ERRORS{"OK"}; |
82 } elsif ($current_majornr < $stable_majornr) { |
88 } elsif ($current_majornr < $stable_majornr) { |
83 print "RELEASE CRITICAL: current release number $current_release / stable release number $stable_release\n"; |
89 print "RELEASE CRITICAL: current release number $current_release / stable release number $stable_release\n"; |
84 exit $ERRORS{"CRITICAL"}; |
90 exit $ERRORS{"CRITICAL"}; |
85 } else { |
91 } else { |
86 print "RELEASE WARNING: current release number $current_release / stable release number $stable_release\n"; |
92 print "RELEASE WARNING: current release number $current_release / stable release number $stable_release\n"; |