#!/usr/bin/perl use strict; use warnings; use File::Compare qw(compare); my $CACERT_PEM_URL = "http://curl.haxx.se/ca/cacert.pem"; my $CACERT_PEM_FILE = "lib/Mozilla/CA/cacert.pem"; my $GIT_AUTHOR = 'Mozilla '; use File::Fetch; my $ff = File::Fetch->new(uri => $CACERT_PEM_URL); my $tmp = $ff->fetch(); die $ff->error unless $tmp; if (compare($tmp, $CACERT_PEM_FILE) == 0) { unlink($tmp); die "Current version is the latest version, stopped" } #run("diff", "-u", $CACERT_PEM_FILE, $tmp); rename($tmp, $CACERT_PEM_FILE); run("git", "add", $CACERT_PEM_FILE); my($y,$m,$d) = (gmtime)[5,4,3]; $y += 1900; $m++; my $ver = sprintf "%04d%02d%02d", $y, $m, $d; run("perl", "-pi", "-e", "s/(^our .VERSION = )'\\d+(.\\d+)?'/\$1'$ver'/", "lib/Mozilla/CA.pm"); run("git", "add", "lib/Mozilla/CA.pm"); run("git", "commit", "-m", "Update from $CACERT_PEM_URL", "--author", $GIT_AUTHOR); exit; sub run { my @argv = @_; for (@argv) { $_ = qq("$_") if /\s/; } print ">>> @argv\n"; system(@_); die if $? != 0; }