commit 27e05dc5e3257afd2dbd11d83317001eee70b5f5
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Fri Nov 18 00:04:33 2016 +0100
Bug 20706: make it possible to use dmg2mar in Tor Messenger
---
tools/dmg2mar | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git a/tools/dmg2mar b/tools/dmg2mar
index 8eaebe8..51d6acb 100755
--- a/tools/dmg2mar
+++ b/tools/dmg2mar
@@ -35,6 +35,12 @@ use File::Find;
use Parallel::ForkManager;
use Cwd;
+# If the application is not TorBrowser (for instance, TorMessenger)
+# set the application name in the TOR_APPNAME_BUNDLE_OSX and in
+# the TOR_APPNAME_MARFILE environment variables
+my $appname = $ENV{TOR_APPNAME_BUNDLE_OSX} // 'TorBrowser';
+my $appname_mar = $ENV{TOR_APPNAME_MARFILE} // 'tor-browser';
+
sub exit_error {
print STDERR "Error: ", $_[0], "\n";
chdir '/';
@@ -89,7 +95,7 @@ sub get_dmg_files_from_sha256sums {
foreach my $line (read_file('sha256sums-unsigned-build.txt')) {
my (undef, $filename) = split ' ', $line;
chomp $filename;
- next unless $filename =~ m/^TorBrowser-(.+)-osx64_(.+)\.dmg$/;
+ next unless $filename =~ m/^$appname-(.+)-osx64_(.+)\.dmg$/;
push @files, { filename => $filename, version => $1, lang => $2 };
}
return @files;
@@ -103,7 +109,7 @@ sub convert_files {
# internally on OSX, but the dmg file still uses 'ja' to avoid
# confusing users.
my $mar_lang = $file->{lang} eq 'ja' ? 'ja-JP-mac' : $file->{lang};
- my $output = "tor-browser-osx64-$file->{version}_$mar_lang.mar";
+ my $output = "$appname_mar-osx64-$file->{version}_$mar_lang.mar";
my $step_name = "$file->{filename} -> $output";
print "Starting $step_name\n";
$pm->start($step_name) and next;
@@ -121,7 +127,7 @@ sub convert_files {
unless system('mar', '-C', $tmpdir_oldmar, '-x', $oldmar) == 0;
my $wanted = sub {
my $file = $File::Find::name;
- $file =~ s{^$tmpdir/TorBrowser\.app/}{};
+ $file =~ s{^$tmpdir/$appname\.app/}{};
if (-f "$tmpdir_oldmar/$file") {
my (undef, undef, $mode) = stat("$tmpdir_oldmar/$file");
chmod $mode, $File::Find::name;
@@ -130,11 +136,11 @@ sub convert_files {
chmod 0644, $File::Find::name if -f $File::Find::name;
chmod 0755, $File::Find::name if -d $File::Find::name;
};
- find($wanted, "$tmpdir/TorBrowser.app");
+ find($wanted, "$tmpdir/$appname.app");
unlink $output;
(undef, $err, $success) = capture_exec('make_full_update.sh', '-q',
- $output, "$tmpdir/TorBrowser.app");
+ $output, "$tmpdir/$appname.app");
exit_error "Error updating $output: $err" unless $success;
$pm->finish;
}
@@ -147,7 +153,7 @@ sub remove_incremental_mars {
foreach my $line (read_file('sha256sums-unsigned-build.incrementals.txt')) {
my (undef, $filename) = split ' ', $line;
chomp $filename;
- next unless $filename =~ m/^tor-browser-osx64.+\.incremental\.mar$/;
+ next unless $filename =~ m/^$appname_mar-osx64.+\.incremental\.mar$/;
next unless -f $filename;
print "Removing $filename\n";
unlink $filename;