Make utils/create-package-feed.pl executable
[privoxy.git] / utils / create-package-feed.pl
old mode 100644 (file)
new mode 100755 (executable)
index 0a3a9bb..68781ad
@@ -1,5 +1,28 @@
 #!/usr/local/bin/perl
-#< LICENSE: WTFPL >
+
+############################################################################
+# create-package-feed.pl
+#
+# Generates an RSS feed for the released files.
+#
+# Usage:
+# create-package-feed.pl "path/to/release/files" "path/to/rss/outputfile"
+#
+# Copyright (c) 2016 "Unknown", Fabian Keil <fk@fabiankeil.de>
+#
+# Permission to use, copy, modify, and distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+############################################################################
+
 use warnings;
 use strict;
 use Digest::SHA;
@@ -7,7 +30,6 @@ my @months = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);
 my @days   = qw(Sun Mon Tue Wed Thu Fri Sat Sun);
 
 my $base_dlurl = 'https://www.privoxy.org/sf-download-mirror/';
-my $maxlimit = 1000;
 my $max_advertised_files = 100;
 
 sub generate_rss_item($$$$) {
@@ -87,16 +109,12 @@ sub get_released_files($) {
                 $target = $scan_dir . $fi1 . '/' . $fi2 . '/' . $fi3;
                 next if (!-e $target);    # skip if file is not exist
 
-                $target_sha256 = get_sha256_sum($target);
-                
                 $target_uri  = $fi1 . '/' . $fi2 . '/' . $fi3;
                 $target_time = (stat $target)[9];
 
-                $target_line = generate_rss_item($target, $target_uri, $target_time, $target_sha256);
+                $Array[$i] = ([$target_time, $target, $target_uri]);
 
-                $Array[$i] = ([$target_time, $target_line]);
                 $i++;
-                die "maxlimit $maxlimit reached!" unless ($i < $maxlimit);
             }
             closedir($D3);
         }
@@ -129,7 +147,15 @@ sub generate_feed($) {
     my @resArray = get_released_files($scan_dir);
     my $i = @resArray - 1;
     while ($max_advertised_files-- > 0 && $i >= 0) {
-        $result .= $resArray[$i][1];
+        my $target_time =  $resArray[$i][0];
+        my $target = $resArray[$i][1];
+        my $target_uri =  $resArray[$i][2];
+
+        my $target_sha256 = get_sha256_sum($target);
+
+        my $rss_item = generate_rss_item($target, $target_uri, $target_time, $target_sha256);
+
+        $result .= $rss_item;
         $i--;
     }
     $result .= '  </channel>