#!/usr/bin/perl require "build_config.pl"; require "build.pl"; print "Please enter country code: "; $ct = ; chomp($ct); $f_rdf = "isps/install.rdf"; $f_chrome = "isps/chrome.manifest"; $f_js = "isps/isps_$ct.js"; if (!(-e $f_js)) { die "Country file $f_js does not exist."; } sub subverfile { my ($f) = @_; my $fc = getfilestr($f); # if(!($fc =~ s/$ver/$newver/)) { if (!($fc =~ s/.+?<\/em:version>/$newver<\/em:version>/)) { print "Replace VERSION ERROR in file: $f\n"; } if (!($fc =~ s/{GUID}/$guid/g)) { print "Replace GUID ERROR in file: $f\n"; } if (!($fc =~ s/{COUNTRY}/$country/g)) { print "Replace COUNTRY ERROR in file: $f\n"; } $f = $f.".new"; setfilestr($f, $fc); } sub subchrome { my ($f) = @_; my $fc = getfilestr($f); if (!($fc =~ s/{COUNTRYCODE}/$ct/g)) { print "Replace CT ERROR in file: $f\n"; } $f = $f.".new"; setfilestr($f, $fc); } # get current revision $rev = getcurrentrev(); # get current version $vr = getfilestr($f_rdf); if($vr =~ s/([0-9]+)\.([0-9]+)<\/em:version>//) { $ver = "$1.$2"; } else { die "Can't get version from $f_rdf"; } $newver = "$ver.$rev"; $js = getfilestr($f_js); if($js =~ s/ISP Definitions Version 3\.0\n({[^}]+})\n([^\r\n]+)\n//) { $guid = $1; $country = $2; } else { die "Can't get country info from js"; } subverfile($f_rdf); subchrome($f_chrome); print "ISPs $country $ct v$newver $guid\n"; if (! -e "install_temp") { `mkdir install_temp`; } `mv isps/install.rdf.new install_temp/install.rdf`; `mv isps/chrome.manifest.new install_temp/chrome.manifest`; `mkdir install_temp/content`; `cp $f_js install_temp/content`; `cd install_temp && 7za a -tzip netusageisps.jar content && cd ..`; `rm -rf install_temp/content`; `mkdir -p install_temp/defaults/preferences`; setfilestr( "install_temp/defaults/preferences/nu_isps_prefs.js" , "\npref(\"extensions.netusage.isps.$ct\", \"$country\");\n" ); `mkdir install_temp/chrome`; `mv install_temp/netusageisps.jar install_temp/chrome`; if($newver =~ s/([0-9]+)\.([0-9]+)\.([0-9]+)(?:\.([0-9]+)|$)//) { if ($4 eq "1") { $fver = "$1$2r$3m"; } else { $fver = "$1$2r$3"; } } print `cd install_temp && 7za a -tzip ../netusageisps_$ct$fver.xpi . && cd ..`; `rm -rf install_temp/*`; print "ALL DONE\n";