PageRenderTime 58ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 0ms

/install_extension.pl

https://bitbucket.org/Mekk/schemingmind_tuning
Perl | 66 lines | 49 code | 11 blank | 6 comment | 9 complexity | ad78e9641ee4421903fff14eaff4424c MD5 | raw file
Possible License(s): MPL-2.0-no-copyleft-exception
  1. #!/usr/bin/perl -w
  2. # -*- coding: utf-8 -*-
  3. # Wrzuca po prostu najnowszą wersję. Nadawanie numerka wersji
  4. # itp jest w build_extension.
  5. use strict;
  6. use warnings;
  7. use FindBin;
  8. use Path::Tiny;
  9. use IPC::System::Simple qw(systemx capturex);
  10. use autodie qw ':all';
  11. my $top_path = path($FindBin::Bin);
  12. my $ext_path = $top_path->child("firefox-sdk");
  13. chdir $ext_path;
  14. my @newest = (0, 0, 0);
  15. my @taglines = capturex("hg", "tags");
  16. foreach (@taglines) {
  17. if(/^(\d+)\.(\d+)\.(\d+)\b/x) {
  18. if( $1 > $newest[0]
  19. || ($1 == $newest[0]
  20. && ($2 > $newest[1]
  21. || ($2 == $newest[1] && $3 > $newest[2])))) {
  22. @newest = ($1, $2, $3);
  23. }
  24. }
  25. }
  26. my $version = join('.', @newest);
  27. # Radosny jpm sign czasem robi -an+fx a czasem -fx+an
  28. my @xpi_candidates = (
  29. path('schemingmind_tuning-' . $version . '-an+fx.xpi'),
  30. path('schemingmind_tuning-' . $version . '-fx+an.xpi'),
  31. );
  32. my $xpi_file;
  33. foreach my $cnd (@xpi_candidates) {
  34. if($cnd->is_file) {
  35. $xpi_file = $cnd;
  36. last;
  37. }
  38. }
  39. unless($xpi_file) {
  40. die "Signed xpi not found. Looked for: " . join(", ", @xpi_candidates) . "\n";
  41. }
  42. my $rdf_file = path ('@smtuning-' . $version . '.update.rdf');
  43. foreach my $f (($rdf_file)) {
  44. unless($f->is_file) {
  45. die "File $f does not exist. jpm failed? build not made?\n";
  46. }
  47. }
  48. print "Installing $version\n";
  49. my $remote_xpi_name = "smtuning-$version.xpi";
  50. my $remote_rdf_name = "update-$version.xpi";
  51. systemx("scp", $xpi_file, "linode.mekk.waw.pl:www_download/smtuning/$remote_xpi_name");
  52. systemx("scp", $rdf_file, "linode.mekk.waw.pl:www_download/smtuning/$remote_rdf_name");
  53. systemx("ssh", "linode.mekk.waw.pl", "cd www_download/smtuning/; ln -sf $remote_xpi_name smtuning.xpi; ln -sf $remote_rdf_name update.rdf");
  54. #system("hg push bitbucket");
  55. systemx("hg", "push", "bitssh");