X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=utils%2Fcreate-package-feed.pl;h=ede1ee76059db7cbac2adf5b334815dd509c435d;hp=e5050864779363d78f7cfcb98b3679bb82e3fb64;hb=84e194c19963a0fbedc3579c92eaa49b7ab2cb95;hpb=cae3149411d1f24e533eb6028e7fe5c3057c4626 diff --git a/utils/create-package-feed.pl b/utils/create-package-feed.pl index e5050864..ede1ee76 100644 --- a/utils/create-package-feed.pl +++ b/utils/create-package-feed.pl @@ -2,14 +2,16 @@ #< LICENSE: WTFPL > use warnings; use strict; -use Digest::SHA1; +use Digest::SHA; 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); #< Config START > -my $scan_dir = '/xxxxxxxxxxxxxxxxxxxxxx/sf-download/'; +my $scan_dir = shift(@ARGV) + or die "Local package directory not specified (first argument)\n"; +my $save_rss_file = shift(@ARGV) + or die "RSS output file path not specified (second argument)\n"; my $base_dlurl = 'https://www.privoxy.org/sf-download-mirror/'; -my $save_rss_file ='/xxxxxxxxxxxxxxxxxxxxxx/release.xml'; # e.g., release.rss my $maxlimit = 1000; my $max_advertised_files = 100; @@ -27,7 +29,7 @@ my $wday; my $yday; my $isdst; my $target; -my $target_sha1; +my $target_sha256; my $target_uri; my $target_time; my $target_line; @@ -53,14 +55,14 @@ while (my $fi1 = readdir($D1)) { $target = $scan_dir . $fi1 . '/' . $fi2 . '/' . $fi3; next if (!-e $target); # skip if file is not exist - # Get SHA-1 hash + # Get SHA-256 hash my $filedata; open($filedata, "<", $target) or die "Can't open '$target' to generate checksum $!"; - my $sha1 = Digest::SHA1->new; - $sha1->addfile($filedata); + my $sha256 = Digest::SHA->new("SHA-256"); + $sha256->addfile($filedata); close($filedata); - $target_sha1 = $sha1->hexdigest; + $target_sha256 = $sha256->hexdigest; # URI and Time $target_uri = $fi1 . '/' . $fi2 . '/' . $fi3; @@ -72,8 +74,8 @@ while (my $fi1 = readdir($D1)) { $target_line .= ''; $target_line .= '' @@ -86,10 +88,9 @@ while (my $fi1 = readdir($D1)) { $target_line .= ''; ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = gmtime($target_time); - $target_line .= - "$days[$wday], $mday $months[$mon] " - . ($year + 1900) - . " $hour:$min:$sec GMT"; + $target_line .= sprintf("%s, %s %s %d %.2d:%.2d:%.2d GMT", + $days[$wday], $mday, $months[$mon], ($year + 1900), + $hour, $min, $sec); $target_line .= ''; # Add it to Array