From http://www.jwz.org/xscreensaver/xscreensaver-5.27.tar.gz
[xscreensaver] / OSX / updates.pl
index c1bfd2463a5bb8f5e5e6ae9c869fdf3d49cca764..20d082f4bff1c5ee2a763a0a14ab23481d3cf954 100755 (executable)
@@ -67,6 +67,7 @@ sub generate_xml($$$$) {
   $body =~ s/^(\d+\.\d+[ \t])/\001$1/gm;
   my @log = split (/\001/, $body);
   shift @log;
+  my $count = 0;
   foreach my $log (@log) {
     my ($v1, $entry) = ($log =~ m/^(\d+\.\d+)\s+(.*)$/s);
 
@@ -93,8 +94,10 @@ sub generate_xml($$$$) {
       }
     }
 
-    my $url = ("${base_url}$app_name/" .
-               ($zip && -f "$www_dir/$zip" ? $zip : ""));
+    my $publishedp = ($zip && -f "$www_dir/$zip");
+    $publishedp = 1 if ($count == 0);
+
+    my $url = ("${base_url}$app_name/" . ($publishedp ? $zip : ""));
 
     $url =~ s@DaliClock/@xdaliclock/@gs if $url; # Kludge
 
@@ -120,7 +123,7 @@ sub generate_xml($$$$) {
       $sig =~ s/\s+//gs;
     }
 
-    my $enc = ($zip && -f "$www_dir/$zip"
+    my $enc = ($publishedp
                ? ("<enclosure url=\"$url\"\n" .
                   " sparkle:version=\"$v1\"\n" .
                   " sparkle:dsaSignature=\"$sig\"\n" .
@@ -139,9 +142,10 @@ sub generate_xml($$$$) {
     $item =~ s/^/  /gm;
 
     # I guess Sparkle doesn't like info-only items.
-    $item = '' unless ($zip && -f "$www_dir/$zip");
+    $item = '' unless $publishedp;
 
     $rss .= $item;
+    $count++;
   }
 
   $rss = ("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" .