| Index: third_party/lcov/bin/updateversion.pl
|
| ===================================================================
|
| --- third_party/lcov/bin/updateversion.pl (revision 0)
|
| +++ third_party/lcov/bin/updateversion.pl (revision 0)
|
| @@ -0,0 +1,146 @@
|
| +#!/usr/bin/perl -w
|
| +
|
| +use strict;
|
| +
|
| +sub update_man_page($);
|
| +sub update_bin_tool($);
|
| +sub update_txt_file($);
|
| +sub update_spec_file($);
|
| +sub get_file_info($);
|
| +
|
| +our $directory = $ARGV[0];
|
| +our $version = $ARGV[1];
|
| +our $release = $ARGV[2];
|
| +
|
| +our @man_pages = ("man/gendesc.1", "man/genhtml.1", "man/geninfo.1",
|
| + "man/genpng.1", "man/lcov.1", "man/lcovrc.5");
|
| +our @bin_tools = ("bin/gendesc", "bin/genhtml", "bin/geninfo",
|
| + "bin/genpng", "bin/lcov");
|
| +our @txt_files = ("README");
|
| +our @spec_files = ("rpm/lcov.spec");
|
| +
|
| +if (!defined($directory) || !defined($version) || !defined($release)) {
|
| + die("Usage: $0 <directory> <version string> <release string>\n");
|
| +}
|
| +
|
| +foreach (@man_pages) {
|
| + print("Updating man page $_\n");
|
| + update_man_page($directory."/".$_);
|
| +}
|
| +foreach (@bin_tools) {
|
| + print("Updating bin tool $_\n");
|
| + update_bin_tool($directory."/".$_);
|
| +}
|
| +foreach (@txt_files) {
|
| + print("Updating text file $_\n");
|
| + update_txt_file($directory."/".$_);
|
| +}
|
| +foreach (@spec_files) {
|
| + print("Updating spec file $_\n");
|
| + update_spec_file($directory."/".$_);
|
| +}
|
| +print("Done.\n");
|
| +
|
| +sub get_file_info($)
|
| +{
|
| + my ($filename) = @_;
|
| + my ($sec, $min, $hour, $year, $month, $day);
|
| + my @stat;
|
| +
|
| + @stat = stat($filename);
|
| + ($sec, $min, $hour, $day, $month, $year) = localtime($stat[9]);
|
| + $year += 1900;
|
| + $month += 1;
|
| +
|
| + return (sprintf("%04d-%02d-%02d", $year, $month, $day),
|
| + sprintf("%04d%02d%02d%02d%02d.%02d", $year, $month, $day,
|
| + $hour, $min, $sec),
|
| + sprintf("%o", $stat[2] & 07777));
|
| +}
|
| +
|
| +sub update_man_page($)
|
| +{
|
| + my ($filename) = @_;
|
| + my @date = get_file_info($filename);
|
| + my $date_string = $date[0];
|
| + local *IN;
|
| + local *OUT;
|
| +
|
| + $date_string =~ s/-/\\-/g;
|
| + open(IN, "<$filename") || die ("Error: cannot open $filename\n");
|
| + open(OUT, ">$filename.new") ||
|
| + die("Error: cannot create $filename.new\n");
|
| + while (<IN>) {
|
| + s/\"LCOV\s+\d+\.\d+\"/\"LCOV $version\"/g;
|
| + s/\d\d\d\d\\\-\d\d\\\-\d\d/$date_string/g;
|
| + print(OUT $_);
|
| + }
|
| + close(OUT);
|
| + close(IN);
|
| + chmod(oct($date[2]), "$filename.new");
|
| + system("mv", "-f", "$filename.new", "$filename");
|
| + system("touch", "$filename", "-t", $date[1]);
|
| +}
|
| +
|
| +sub update_bin_tool($)
|
| +{
|
| + my ($filename) = @_;
|
| + my @date = get_file_info($filename);
|
| + local *IN;
|
| + local *OUT;
|
| +
|
| + open(IN, "<$filename") || die ("Error: cannot open $filename\n");
|
| + open(OUT, ">$filename.new") ||
|
| + die("Error: cannot create $filename.new\n");
|
| + while (<IN>) {
|
| + s/(our\s+\$lcov_version\s*=\s*\").*(\".*)$/$1LCOV version $version$2/g;
|
| + print(OUT $_);
|
| + }
|
| + close(OUT);
|
| + close(IN);
|
| + chmod(oct($date[2]), "$filename.new");
|
| + system("mv", "-f", "$filename.new", "$filename");
|
| + system("touch", "$filename", "-t", $date[1]);
|
| +}
|
| +
|
| +sub update_txt_file($)
|
| +{
|
| + my ($filename) = @_;
|
| + my @date = get_file_info($filename);
|
| + local *IN;
|
| + local *OUT;
|
| +
|
| + open(IN, "<$filename") || die ("Error: cannot open $filename\n");
|
| + open(OUT, ">$filename.new") ||
|
| + die("Error: cannot create $filename.new\n");
|
| + while (<IN>) {
|
| + s/(Last\s+changes:\s+)\d\d\d\d-\d\d-\d\d/$1$date[0]/g;
|
| + print(OUT $_);
|
| + }
|
| + close(OUT);
|
| + close(IN);
|
| + chmod(oct($date[2]), "$filename.new");
|
| + system("mv", "-f", "$filename.new", "$filename");
|
| + system("touch", "$filename", "-t", $date[1]);
|
| +}
|
| +
|
| +sub update_spec_file($)
|
| +{
|
| + my ($filename) = @_;
|
| + my @date = get_file_info($filename);
|
| + local *IN;
|
| + local *OUT;
|
| +
|
| + open(IN, "<$filename") || die ("Error: cannot open $filename\n");
|
| + open(OUT, ">$filename.new") ||
|
| + die("Error: cannot create $filename.new\n");
|
| + while (<IN>) {
|
| + s/^(Version:\s*)\d+\.\d+.*$/$1$version/;
|
| + s/^(Release:\s*).*$/$1$release/;
|
| + print(OUT $_);
|
| + }
|
| + close(OUT);
|
| + close(IN);
|
| + system("mv", "-f", "$filename.new", "$filename");
|
| + system("touch", "$filename", "-t", $date[1]);
|
| +}
|
|
|
| Property changes on: third_party/lcov/bin/updateversion.pl
|
| ___________________________________________________________________
|
| Name: svn:executable
|
| + *
|
|
|
|
|