richard pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
-
9f201283
by Nicolas Vigier at 2023-08-17T23:28:23+00:00
12 changed files:
- projects/browser/build
- projects/browser/build.android
- projects/browser/config
- projects/firefox/build
- projects/firefox/config
- projects/release/dmg2mar
- projects/release/update_responses_config.yml
- projects/tor-expert-bundle/config
- tools/dmg2mar
- tools/signing/linux-signer-sign-android-apks
- tools/signing/nightly/sign-nightly
- tools/update-responses/update_responses
Changes:
... | ... | @@ -374,12 +374,12 @@ cd $distdir |
374 | 374 | [% END -%]
|
375 | 375 | [% c('tar', {
|
376 | 376 | tar_src => [ '$PKG_DIR' ],
|
377 | - tar_args => '-cJf $OUTDIR/' _ c("var/project-name") _ '-' _ c("var/mar_osname") _ '-' _ c("var/torbrowser_version") _ '_${PKG_LOCALE}.tar.xz',
|
|
377 | + tar_args => '-cJf $OUTDIR/' _ c("var/project-name") _ '-' _ c("var/osname") _ '-' _ c("var/torbrowser_version") _ '.tar.xz',
|
|
378 | 378 | }) %]
|
379 | 379 | [% ELSIF c("var/macos") %]
|
380 | 380 | [% c('var/ddmg', {
|
381 | 381 | dmg_src => '"$PKG_DIR"',
|
382 | - dmg_out => '$OUTDIR/' _ c('var/ProjectName') _ '-' _ c("var/torbrowser_version") _ '-' _ c("var/mar_osname") _ '_${PKG_LOCALE}.dmg',
|
|
382 | + dmg_out => '$OUTDIR/' _ c('var/project-name') _ '-' _ c("var/mar_osname") _ '-' _ c("var/torbrowser_version") _ '.dmg',
|
|
383 | 383 | }) %]
|
384 | 384 | [% ELSIF c("var/windows") %]
|
385 | 385 | find "$PKG_DIR" -exec [% c("touch") %] {} \;
|
... | ... | @@ -387,11 +387,11 @@ cd $distdir |
387 | 387 | makensis browser-portable.nsi
|
388 | 388 | # Working around NSIS braindamage
|
389 | 389 | python3 $rootdir/pe_checksum_fix.py browser-install.exe
|
390 | - mv browser-install.exe $OUTDIR/[% c("var/projectname") %]-install[% IF c("var/windows-x86_64") %]-win64[% END %]-[% c("var/torbrowser_version") %]_${PKG_LOCALE}.exe
|
|
390 | + mv browser-install.exe $OUTDIR/[% c("var/project-name") %]-portable-[% c("var/osname") %]-[% c("var/torbrowser_version") %].exe
|
|
391 | 391 | [% IF c('var/mullvad-browser') -%]
|
392 | 392 | makensis browser-system.nsi
|
393 | 393 | python3 $rootdir/pe_checksum_fix.py browser-install.exe
|
394 | - mv browser-install.exe $OUTDIR/[% c("var/projectname") %]-systeminstall[% IF c("var/windows-x86_64") %]-win64[% END %]-[% c("var/torbrowser_version") %]_${PKG_LOCALE}.exe
|
|
394 | + mv browser-install.exe $OUTDIR/[% c("var/project-name") %]-install-[% c("var/osname") %]-[% c("var/torbrowser_version") %].exe
|
|
395 | 395 | [% END -%]
|
396 | 396 | popd
|
397 | 397 | [% END %]
|
... | ... | @@ -402,12 +402,12 @@ SCRIPT_EOF |
402 | 402 | cp $rootdir/[% c('input_files_by_name/firefox') %]/mar-tools-*.zip "$OUTDIR"/
|
403 | 403 | [% END -%]
|
404 | 404 | [% IF c("var/linux") -%]
|
405 | - cp $rootdir/[% c('input_files_by_name/firefox') %]/browser-debug.tar.xz "$OUTDIR/[% c('var/project-name') %]-[% c('var/mar_osname') %]-debug.tar.xz"
|
|
405 | + cp $rootdir/[% c('input_files_by_name/firefox') %]/browser-debug-symbols.tar.xz "$OUTDIR/[% c('var/project-name') %]-debug-symbols-[% c('var/mar_osname') %]-[% c('var/torbrowser_version') %].tar.xz"
|
|
406 | 406 | [% IF c("var/linux-x86_64") && !c("var/asan") -%]
|
407 | - cp $rootdir/[% c('input_files_by_name/firefox') %]/geckodriver.tar.xz "$OUTDIR/geckodriver-[% c('var/mar_osname') %].tar.xz"
|
|
407 | + cp $rootdir/[% c('input_files_by_name/firefox') %]/geckodriver.tar.xz "$OUTDIR/geckodriver-[% c('var/mar_osname') %]-[% c('var/torbrowser_version') %].tar.xz"
|
|
408 | 408 | [% END -%]
|
409 | 409 | [% ELSIF c("var/windows") -%]
|
410 | - cp $rootdir/[% c('input_files_by_name/firefox') %]/browser-debug.zip "$OUTDIR/[% c('var/project-name') %]-[% c('var/mar_osname') %]-debug.zip"
|
|
410 | + cp $rootdir/[% c('input_files_by_name/firefox') %]/browser-debug-symbols.zip "$OUTDIR/[% c('var/project-name') %]-debug-symbols-[% c('var/mar_osname') %]-[% c('var/torbrowser_version') %].zip"
|
|
411 | 411 | [% END -%]
|
412 | 412 | [%IF c("var/tor-browser") -%]
|
413 | 413 | tor_expert_bundle_src="[% c("input_files_by_name/tor-expert-bundle") %]"
|
... | ... | @@ -6,7 +6,7 @@ tar -xf $rootdir/[% c('input_files_by_name/firefox-android') %] |
6 | 6 | |
7 | 7 | assets_dir=assets
|
8 | 8 | ext_dir=$assets_dir/extensions
|
9 | -qa_apk=[% dest_dir %]/[% c('filename') %]/[% c("var/project-name") %]-[% c("version") %]-[% c("var/osname") %]-multi-qa.apk
|
|
9 | +qa_apk=[% dest_dir %]/[% c('filename') %]/[% c("var/project-name") %]-qa-[% c("var/osname") %]-[% c("version") %].apk
|
|
10 | 10 | apk=$rootdir/firefox-android/*-[% c("var/abi") %]-*.apk
|
11 | 11 | |
12 | 12 | # tor-browser-build#40920
|
... | ... | @@ -11,6 +11,7 @@ var: |
11 | 11 | - libparallel-forkmanager-perl
|
12 | 12 | - libfile-slurp-perl
|
13 | 13 | - bzip2
|
14 | + mar_osname: '[% c("var/osname") %]'
|
|
14 | 15 | |
15 | 16 | targets:
|
16 | 17 | linux:
|
... | ... | @@ -20,12 +21,6 @@ targets: |
20 | 21 | # builds (bug 29812). We don't need it in x86_64 builds, but we
|
21 | 22 | # share the container to reduce space used.
|
22 | 23 | - libc6-i386
|
23 | - linux-i686:
|
|
24 | - var:
|
|
25 | - mar_osname: linux32
|
|
26 | - linux-x86_64:
|
|
27 | - var:
|
|
28 | - mar_osname: linux64
|
|
29 | 24 | macos:
|
30 | 25 | var:
|
31 | 26 | arch_deps:
|
... | ... | @@ -37,22 +32,10 @@ targets: |
37 | 32 | macos-universal:
|
38 | 33 | var:
|
39 | 34 | mar_osname: macos
|
40 | - macos-aarch64:
|
|
41 | - var:
|
|
42 | - mar_osname: macos-aarch64
|
|
43 | - macos-x86_64:
|
|
44 | - var:
|
|
45 | - mar_osname: macos-x86_64
|
|
46 | 35 | windows:
|
47 | 36 | var:
|
48 | 37 | arch_deps:
|
49 | 38 | - python3-pefile
|
50 | - windows-i686:
|
|
51 | - var:
|
|
52 | - mar_osname: win32
|
|
53 | - windows-x86_64:
|
|
54 | - var:
|
|
55 | - mar_osname: win64
|
|
56 | 39 | android:
|
57 | 40 | build: '[% INCLUDE build.android %]'
|
58 | 41 | var:
|
... | ... | @@ -331,7 +331,7 @@ END; |
331 | 331 | [% IF c("var/linux") -%]
|
332 | 332 | [% c('tar', {
|
333 | 333 | tar_src => [ 'Debug' ],
|
334 | - tar_args => '-cJf ' _ dest_dir _ '/' _ c('filename') _ '/browser-debug.tar.xz',
|
|
334 | + tar_args => '-cJf ' _ dest_dir _ '/' _ c('filename') _ '/browser-debug-symbols.tar.xz',
|
|
335 | 335 | }) %]
|
336 | 336 | [% IF c("var/linux-x86_64") && !c("var/asan") -%]
|
337 | 337 | [% c('tar', {
|
... | ... | @@ -342,14 +342,14 @@ END; |
342 | 342 | [% ELSIF c("var/windows") -%]
|
343 | 343 | [% c('zip', {
|
344 | 344 | zip_src => [ 'Debug' ],
|
345 | - zip_args => dest_dir _ '/' _ c('filename') _ '/browser-debug.zip',
|
|
345 | + zip_args => dest_dir _ '/' _ c('filename') _ '/browser-debug-symbols.zip',
|
|
346 | 346 | }) %]
|
347 | 347 | [% END -%]
|
348 | 348 | |
349 | 349 | [% IF c("var/updater_enabled") -%]
|
350 | 350 | [% c('zip', {
|
351 | 351 | zip_src => [ 'mar-tools' ],
|
352 | - zip_args => dest_dir _ '/' _ c('filename') _ '/' _ c('var/martools_filename'),
|
|
352 | + zip_args => dest_dir _ '/' _ c('filename') _ '/' _ 'mar-tools-' _ c("var/osname") _ '-' _ c("var/torbrowser_version") _ '.zip',
|
|
353 | 353 | }) %]
|
354 | 354 | [% END -%]
|
355 | 355 |
... | ... | @@ -90,7 +90,6 @@ targets: |
90 | 90 | |
91 | 91 | linux-x86_64:
|
92 | 92 | var:
|
93 | - martools_filename: mar-tools-linux64.zip
|
|
94 | 93 | arch_deps:
|
95 | 94 | - libgtk2.0-dev
|
96 | 95 | - libgtk-3-dev
|
... | ... | @@ -108,7 +107,6 @@ targets: |
108 | 107 | |
109 | 108 | linux-i686:
|
110 | 109 | var:
|
111 | - martools_filename: mar-tools-linux32.zip
|
|
112 | 110 | sort_deps: 0
|
113 | 111 | arch_deps:
|
114 | 112 | - libgtk2.0-dev:i386
|
... | ... | @@ -127,7 +125,6 @@ targets: |
127 | 125 | |
128 | 126 | macos:
|
129 | 127 | var:
|
130 | - martools_filename: 'mar-tools-macos-[% c("var/macos_arch") %].zip'
|
|
131 | 128 | nightly_updates_publish_dir: '[% c("var/nightly_updates_publish_dir_prefix") %]nightly-macos'
|
132 | 129 | arch_deps:
|
133 | 130 | - python3
|
... | ... | @@ -141,14 +138,6 @@ targets: |
141 | 138 | - python3-distutils
|
142 | 139 | - wine
|
143 | 140 | |
144 | - windows-i686:
|
|
145 | - var:
|
|
146 | - martools_filename: mar-tools-win32.zip
|
|
147 | - |
|
148 | - windows-x86_64:
|
|
149 | - var:
|
|
150 | - martools_filename: mar-tools-win64.zip
|
|
151 | - |
|
152 | 141 | input_files:
|
153 | 142 | - project: container-image
|
154 | 143 | - name: '[% c("var/compiler") %]'
|
... | ... | @@ -3,6 +3,6 @@ |
3 | 3 | cd [% shell_quote(path(dest_dir)) %]/[% c("var/signed_status") %]/[% c("version") %]
|
4 | 4 | |
5 | 5 | export TOR_APPNAME_BUNDLE_OSX='[% c("var/Project_Name") -%]'
|
6 | -export TOR_APPNAME_DMGFILE='[% c("var/ProjectName") -%]'
|
|
6 | +export TOR_APPNAME_DMGFILE='[% c("var/project-name") -%]'
|
|
7 | 7 | export TOR_APPNAME_MARFILE='[% c("var/project-name") -%]'
|
8 | 8 | [% shell_quote(c("basedir")) %]/tools/dmg2mar [% c("var/mar_channel_id") %] |
... | ... | @@ -2,6 +2,7 @@ |
2 | 2 | tmp_dir: '[% c("tmp_dir") %]'
|
3 | 3 | create_downloads_json: 1
|
4 | 4 | appname_marfile: '[% c("var/project-name") %]'
|
5 | +appname_bundle: '[% c("var/project-name") %]'
|
|
5 | 6 | appname_bundle_android: '[% c("var/project-name") %]'
|
6 | 7 | appname_bundle_macos: '[% c("var/ProjectName") %]'
|
7 | 8 | appname_bundle_linux: '[% c("var/project-name") %]'
|
... | ... | @@ -20,13 +21,13 @@ download: |
20 | 21 | mars_url: 'https://cdn.mullvad.net/browser'
|
21 | 22 | [% END -%]
|
22 | 23 | build_targets:
|
23 | - linux32: Linux_x86-gcc3
|
|
24 | - linux64: Linux_x86_64-gcc3
|
|
25 | - win32:
|
|
24 | + linux-i686: Linux_x86-gcc3
|
|
25 | + linux-x86_64: Linux_x86_64-gcc3
|
|
26 | + windows-i686:
|
|
26 | 27 | - WINNT_x86-gcc3
|
27 | 28 | - WINNT_x86-gcc3-x86
|
28 | 29 | - WINNT_x86-gcc3-x64
|
29 | - win64: WINNT_x86_64-gcc3-x64
|
|
30 | + windows-x86_64: WINNT_x86_64-gcc3-x64
|
|
30 | 31 | macos:
|
31 | 32 | - Darwin_x86_64-gcc3
|
32 | 33 | - Darwin_aarch64-gcc3
|
... | ... | @@ -59,17 +60,17 @@ versions: |
59 | 60 | # macOS v10.12.0
|
60 | 61 | minSupportedOSVersion: 16.0.0
|
61 | 62 | # minSupportedOsVersion on Windows corresponds to the operating system version ( https://docs.microsoft.com/en-us/windows/win32/sysinfo/operating-system-version )
|
62 | - win32:
|
|
63 | + windows-i686:
|
|
63 | 64 | # Windows 7
|
64 | 65 | minSupportedOSVersion: 6.1
|
65 | 66 | minSupportedInstructionSet: SSE2
|
66 | - win64:
|
|
67 | + windows-x86_64:
|
|
67 | 68 | # Windows 7
|
68 | 69 | minSupportedOSVersion: 6.1
|
69 | 70 | minSupportedInstructionSet: SSE2
|
70 | - linux32:
|
|
71 | + linux-i686:
|
|
71 | 72 | minSupportedInstructionSet: SSE2
|
72 | - linux64:
|
|
73 | + linux-x86_64:
|
|
73 | 74 | minSupportedInstructionSet: SSE2
|
74 | 75 | mar_compression: xz
|
75 | 76 | tag: 'tbb-[% c("var/torbrowser_version") %]-[% c("var/torbrowser_build") %]'
|
1 | 1 | # vim: filetype=yaml sw=2
|
2 | -filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
|
|
2 | +filename: '[% project %]-[% c("var/osname") %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
|
|
3 | 3 | version: '[% c("var/torbrowser_version") %]'
|
4 | 4 | |
5 | 5 | container:
|
... | ... | @@ -39,7 +39,7 @@ use Cwd; |
39 | 39 | # set the application name in the TOR_APPNAME_BUNDLE_OSX,
|
40 | 40 | # TOR_APPNAME_DMGFILE and TOR_APPNAME_MARFILE environment variables
|
41 | 41 | my $appname = $ENV{TOR_APPNAME_BUNDLE_OSX} // 'Tor Browser';
|
42 | -my $appname_dmg = $ENV{TOR_APPNAME_DMGFILE} // 'TorBrowser';
|
|
42 | +my $appname_dmg = $ENV{TOR_APPNAME_DMGFILE} // 'tor-browser';
|
|
43 | 43 | my $appname_mar = $ENV{TOR_APPNAME_MARFILE} // 'tor-browser';
|
44 | 44 | |
45 | 45 | sub exit_error {
|
... | ... | @@ -53,10 +53,10 @@ sub osname { |
53 | 53 | my ($arch) = capture_exec('uname', '-m');
|
54 | 54 | chomp($osname, $arch);
|
55 | 55 | if ($osname eq 'Linux' && $arch eq 'x86_64') {
|
56 | - return 'linux64';
|
|
56 | + return 'linux-x86_64';
|
|
57 | 57 | }
|
58 | 58 | if ($osname eq 'Linux' && $arch =~ m/^i.86$/) {
|
59 | - return 'linux32';
|
|
59 | + return 'linux-i686';
|
|
60 | 60 | }
|
61 | 61 | exit_error 'Unknown OS';
|
62 | 62 | }
|
... | ... | @@ -64,7 +64,8 @@ sub osname { |
64 | 64 | my $martools_tmpdir;
|
65 | 65 | sub extract_martools {
|
66 | 66 | my $osname = osname;
|
67 | - my $marzip = getcwd . "/mar-tools-$osname.zip";
|
|
67 | + my $marzip = glob(getcwd . "/mar-tools-$osname-*.zip");
|
|
68 | + exit_error "Could not find mar-tools zip" unless $marzip;
|
|
68 | 69 | $martools_tmpdir = File::Temp->newdir();
|
69 | 70 | my $old_cwd = getcwd;
|
70 | 71 | chdir $martools_tmpdir;
|
... | ... | @@ -97,7 +98,7 @@ sub get_dmg_files_from_sha256sums { |
97 | 98 | my (undef, $filename) = split ' ', $line;
|
98 | 99 | next unless $filename;
|
99 | 100 | chomp $filename;
|
100 | - next unless $filename =~ m/^$appname_dmg-(.+)-macos_(.+)\.dmg$/;
|
|
101 | + next unless $filename =~ m/^$appname_dmg-(.+)-macos\.dmg$/;
|
|
101 | 102 | push @files, { filename => $filename, version => $1, lang => $2 };
|
102 | 103 | }
|
103 | 104 | return @files;
|
... | ... | @@ -73,8 +73,8 @@ cd ~/"$SIGNING_PROJECTNAME-$tbb_version-apks" |
73 | 73 | |
74 | 74 | # Sign all packages
|
75 | 75 | for arch in ${ARCHS}; do
|
76 | - qa_apk=${projname}-${tbb_version}-android-${arch}-multi-qa.apk
|
|
77 | - signed_apk=${projname}-${tbb_version}-android-${arch}-multi.apk
|
|
76 | + qa_apk=${projname}-qa-android-${arch}-${tbb_version}.apk
|
|
77 | + signed_apk=${projname}-android-${arch}-${tbb_version}.apk
|
|
78 | 78 | sign_apk "$qa_apk" "$signed_apk"
|
79 | 79 | verify_apk "$signed_apk"
|
80 | 80 | cp -f "$signed_apk" ~/"$SIGNING_PROJECTNAME-$tbb_version"
|
... | ... | @@ -192,11 +192,12 @@ sub fetch_version { |
192 | 192 | }
|
193 | 193 | |
194 | 194 | sub setup_martools {
|
195 | - my $martools_dir = "$FindBin::Bin/mar-tools-" . get_config('martools_version');
|
|
195 | + my $martools_version = get_config('martools_version');
|
|
196 | + my $martools_dir = "$FindBin::Bin/mar-tools-" . $martools_version;
|
|
196 | 197 | if (! -d $martools_dir) {
|
197 | - my $file = "mar-tools-linux64.zip";
|
|
198 | - my $url = join('/', get_config('martools_url'),
|
|
199 | - get_config('martools_version'), $file);
|
|
198 | + my $martools_url = get_config('martools_url');
|
|
199 | + my $file = "mar-tools-linux-x86_64-$martools_version.zip";
|
|
200 | + my $url = "$martools_url/$martools_version/$file";
|
|
200 | 201 | my $tmpdir = get_tmpdir();
|
201 | 202 | exit_error "Error downloading $url"
|
202 | 203 | unless getstore($url, "$tmpdir/$file") == 200;
|
... | ... | @@ -132,19 +132,19 @@ sub get_version_downloads { |
132 | 132 | opendir(my $d, $vdir) or exit_error "Error opening directory $vdir";
|
133 | 133 | foreach my $file (readdir $d) {
|
134 | 134 | next unless -f "$vdir/$file";
|
135 | - my ($os, $lang);
|
|
136 | - if ($file =~ m/^$config->{appname_bundle_macos}-$version-macos_(.+).dmg$/) {
|
|
137 | - ($os, $lang) = ('macos', $1);
|
|
138 | - } elsif ($file =~ m/^$config->{appname_bundle_linux}-(linux32|linux64)-${version}_(.+).tar.xz$/) {
|
|
139 | - ($os, $lang) = ($1, $2);
|
|
140 | - } elsif ($file =~ m/^$config->{appname_bundle_win64}-${version}_(.+).exe$/) {
|
|
141 | - ($os, $lang) = ('win64', $1);
|
|
142 | - } elsif ($file =~ m/^$config->{appname_bundle_win32}-${version}_(.+).exe$/) {
|
|
143 | - ($os, $lang) = ('win32', $1);
|
|
135 | + my $os;
|
|
136 | + if ($file =~ m/^$config->{appname_bundle}-macos-$version.dmg$/) {
|
|
137 | + $os = 'macos';
|
|
138 | + } elsif ($file =~ m/^$config->{appname_bundle}-(linux-i686|linux-x86_64)-${version}.tar.xz$/) {
|
|
139 | + $os = $1;
|
|
140 | + } elsif ($file =~ m/^$config->{appname_bundle}-windows-x86_64-${version}.exe$/) {
|
|
141 | + $os = 'win64';
|
|
142 | + } elsif ($file =~ m/^$config->{appname_bundle}-windows-i686-${version}.exe$/) {
|
|
143 | + $os = 'win32';
|
|
144 | 144 | } else {
|
145 | 145 | next;
|
146 | 146 | }
|
147 | - $downloads->{$os}{$lang} = {
|
|
147 | + $downloads->{$os}{ALL} = {
|
|
148 | 148 | binary => "$download_url/$file",
|
149 | 149 | sig => "$download_url/$file.asc",
|
150 | 150 | };
|
... | ... | @@ -162,15 +162,13 @@ sub get_perplatform_downloads { |
162 | 162 | foreach my $file (readdir $d) {
|
163 | 163 | next unless -f "$vdir/$file";
|
164 | 164 | my $os;
|
165 | - if ($file =~ m/^$config->{appname_bundle_macos}-$version-macos_(.+).dmg$/) {
|
|
165 | + if ($file =~ m/^$config->{appname_bundle}-macos-$version.dmg$/) {
|
|
166 | 166 | $os = 'macos';
|
167 | - } elsif ($file =~ m/^$config->{appname_bundle_linux}-(linux32|linux64)-${version}_(.+).tar.xz$/) {
|
|
168 | - $os = $1 eq 'linux64' ? 'linux-x86_64' : 'linux-i686';
|
|
169 | - } elsif ($file =~ m/^$config->{appname_bundle_win64}-${version}_(.+).exe$/) {
|
|
170 | - $os = 'windows-x86_64';
|
|
171 | - } elsif ($file =~ m/^$config->{appname_bundle_win32}-${version}_(.+).exe$/) {
|
|
172 | - $os = 'windows-i686';
|
|
173 | - } elsif ($file =~ m/^$config->{appname_bundle_android}-${version}-(android-armv7|android-x86|android-x86_64|android-aarch64)-multi.apk$/) {
|
|
167 | + } elsif ($file =~ m/^$config->{appname_bundle}-(linux-i686|linux-86_64)-${version}.tar.xz$/) {
|
|
168 | + $os = $1;
|
|
169 | + } elsif ($file =~ m/^$config->{appname_bundle}-(windows-i686|windows-86_64)-${version}.exe$/) {
|
|
170 | + $os = $1;
|
|
171 | + } elsif ($file =~ m/^$config->{appname_bundle}-(android-armv7|android-x86|android-x86_64|android-aarch64)-${version}.apk$/) {
|
|
174 | 172 | $os = $1;
|
175 | 173 | } else {
|
176 | 174 | next;
|
... | ... | @@ -475,9 +473,11 @@ sub write_downloads_json { |
475 | 473 | |
476 | 474 | sub marzip_path {
|
477 | 475 | my ($config, $version) = @_;
|
478 | - for my $osname (qw/linux64 linux32 macos-x86_64 win64 win32/) {
|
|
479 | - my $marzip = version_dir($config, $version) . "/mar-tools-$osname.zip";
|
|
480 | - return $marzip if -f $marzip;
|
|
476 | + for my $osname (qw/linux-x86_64 linux-i686 macos-x86_64 windows-x86_64 windows-i686/) {
|
|
477 | + my $marzip = glob(version_dir($config, $version) . "/mar-tools-$osname-*.zip");
|
|
478 | + if ($marzip && -f $marzip) {
|
|
479 | + return $marzip;
|
|
480 | + }
|
|
481 | 481 | }
|
482 | 482 | exit_error 'Could not find mar-tools';
|
483 | 483 | }
|