Merge pull request #3 from evgeni/skip_mirmon
authorAlexander Wirt <formorer@formorer.de>
Mon, 28 May 2012 09:55:30 +0000 (02:55 -0700)
committerAlexander Wirt <formorer@formorer.de>
Mon, 28 May 2012 09:55:30 +0000 (02:55 -0700)
Skip mirmon if it's not available

download/prerelease/index.html.tt2
gen_website

index edbd184..c301292 100644 (file)
@@ -91,7 +91,22 @@ exit;
 
     <p>Download the Grml flavour you need, then write it to a CD-R or an empty USB stick.</p>
 
-    <div class="download_group" id="download_group1">
+    <div class="download_group" id="download_group1_noscript">
+    <div class="download_panel" id="download_panel1_noscript"><div>
+        <a href="http://grml.org/download/mirrors/">Download from a specific mirror</a><br/>
+        <br/>
+        Direct download links:<br/>
+        <a href="http://download.grml.org/devel/grml96-full_2012.05-rc1.iso">Grml96 full ISO</a> [<a href="http://download.grml.org/devel/grml96-full_2012.05-rc1.iso.sha1.asc">Signature</a>]<br/>
+        <a href="http://download.grml.org/devel/grml64-full_2012.05-rc1.iso">Grml64 full ISO</a> [<a href="http://download.grml.org/devel/grml64-full_2012.05-rc1.iso.sha1.asc">Signature</a>]<br/>
+        <a href="http://download.grml.org/devel/grml32-full_2012.05-rc1.iso">Grml32 full ISO</a> [<a href="http://download.grml.org/devel/grml32-full_2012.05-rc1.iso.sha1.asc">Signature</a>]<br/>
+        <a href="http://download.grml.org/devel/grml96-small_2012.05-rc1.iso">Grml96 small ISO</a> [<a href="http://download.grml.org/devel/grml96-small_2012.05-rc1.iso.sha1.asc">Signature</a>]<br/>
+        <a href="http://download.grml.org/devel/grml64-small_2012.05-rc1.iso">Grml64 small ISO</a> [<a href="http://download.grml.org/devel/grml64-small_2012.05-rc1.iso.sha1.asc">Signature</a>]<br/>
+        <a href="http://download.grml.org/devel/grml32-small_2012.05-rc1.iso">Grml32 small ISO</a> [<a href="http://download.grml.org/devel/grml32-small_2012.05-rc1.iso.sha1.asc">Signature</a>]<br/>
+        <br/>
+        </div></div>
+    </div>
+
+    <div class="download_group" id="download_group1" style="display:none;">
     <form method="get" action="/download/bounce/">
     <input type="hidden" name="version" value="2012.05-rc1"/>
     <div class="download_panel" id="download_panel1"><div>
@@ -168,6 +183,8 @@ exit;
     // only show our link "buttons"
     document.getElementById('formbuttons').style.display = 'none';
     document.getElementById('linkbuttons').style.display = '';
+    document.getElementById('download_group1').style.display = '';
+    document.getElementById('download_group1_noscript').style.display = 'none';
     </script>
     </div>
 
index ae21d86..df61ee6 100755 (executable)
@@ -11,17 +11,28 @@ use File::Copy::Recursive qw(fcopy dirmove);
 use File::Temp qw (tempdir);
 
 use lib '/usr/share/perl5/';
-use Mirmon::Mirmon;
 
-my $m = Mirmon ->new('/etc/mirmon.conf');
-my $conf  = $m->conf  ; # a Mirmon::Conf object
-my $state = $m->state ; # the mirmon state
+my $have_mirmon = 0;
+my $masterlist = '/usr/local/src/grml-mirrors/Mirrors.masterlist';
+my $mirmonconf = '/etc/mirmon.conf';
+
+my $fh;
+my $m;
+my $conf;
+my $state;
+if (eval {require Mirmon::Mirmon; 1 } && -f $masterlist && -f $mirmonconf) {
+       $have_mirmon = 1;
+       open ($fh, '<', $masterlist) or die "Could not open $masterlist: $!";
+       $m = Mirmon ->new($mirmonconf);
+       $conf  = $m->conf  ; # a Mirmon::Conf object
+       $state = $m->state ; # the mirmon state
+} else {
+       print "Skipping mirmon, it's either not installed or not configured.\n";
+}
 
 
 my $out_dir = shift || "out/";
-my $masterlist = '/usr/local/src/grml-mirrors/Mirrors.masterlist';
 
-open (my $fh, '<', $masterlist) or die "Could not open $masterlist: $!";
 my $mirrors; 
 
 sub get_last_state ($) {
@@ -34,7 +45,7 @@ sub get_last_state ($) {
 
 
 my $data;
-while (my $line = <$fh>) {
+while (($have_mirmon) && (my $line = <$fh>)) {
     chomp $line;
     if ($line =~ /([^:]+): (.*)/) {
         my $key = lc($1);