richard pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
-
0ed7a191
by Nicolas Vigier at 2024-01-30T11:49:05+01:00
8 changed files:
- README
- rbm.conf
- tools/clean-old
- tools/dmg2mar
- tools/download-torbrowser
- tools/signing/machines-setup/setup-signing-machine
- tools/update-responses/README.md
- tools/update-responses/update_responses
Changes:
... | ... | @@ -21,7 +21,7 @@ You also need a few perl modules installed: |
21 | 21 | - Getopt::Long
|
22 | 22 | - Template
|
23 | 23 | - IO::Handle
|
24 | -- IO::CaptureOutput
|
|
24 | +- Capture::Tiny
|
|
25 | 25 | - JSON
|
26 | 26 | - File::Temp
|
27 | 27 | - Path::Tiny
|
... | ... | @@ -41,7 +41,7 @@ If you are running Debian or Ubuntu, you can install them with: |
41 | 41 | |
42 | 42 | # apt-get install libdata-dump-perl libdata-uuid-perl libdatetime-perl \
|
43 | 43 | libdigest-sha-perl libfile-copy-recursive-perl \
|
44 | - libfile-slurp-perl libio-all-perl libio-captureoutput-perl \
|
|
44 | + libfile-slurp-perl libio-all-perl libcapture-tiny-perl \
|
|
45 | 45 | libio-handle-util-perl libjson-perl \
|
46 | 46 | libparallel-forkmanager-perl libpath-tiny-perl \
|
47 | 47 | libsort-versions-perl libstring-shellquote-perl \
|
... | ... | @@ -51,7 +51,7 @@ If you are running Debian or Ubuntu, you can install them with: |
51 | 51 | If you are running Fedora, CentOS or RHEL, you can install them with:
|
52 | 52 | |
53 | 53 | # dnf install "perl(YAML::XS)" "perl(File::Basename)" "perl(Getopt::Long)" \
|
54 | - "perl(Template)" "perl(IO::Handle)" "perl(IO::CaptureOutput)" \
|
|
54 | + "perl(Template)" "perl(IO::Handle)" "perl(Capture::Tiny)" \
|
|
55 | 55 | "perl(JSON)" "perl(File::Temp)" "perl(Path::Tiny)" \
|
56 | 56 | "perl(File::Path)" "perl(File::Slurp)" \
|
57 | 57 | "perl(File::Copy::Recursive)" "perl(String::ShellQuote)"
|
... | ... | @@ -62,7 +62,7 @@ If you are running Fedora, CentOS or RHEL, you can install them with: |
62 | 62 | If you are running an Arch based system, you should be able to install them with:
|
63 | 63 | |
64 | 64 | # pacman -S perl-datetime perl-path-tiny perl-yaml perl-yaml-libyaml \
|
65 | - perl-yaml-tiny perl-template-toolkit perl-io-captureoutput \
|
|
65 | + perl-yaml-tiny perl-template-toolkit perl-capture-tiny \
|
|
66 | 66 | perl-file-copy-recursive perl-string-shellquote \
|
67 | 67 | perl-sort-versions perl-data-uuid perl-data-dump perl-json \
|
68 | 68 | perl-digest-sha1 perl-io-all perl-file-slurp perl-sys-syscall \
|
... | ... | @@ -704,7 +704,6 @@ gpg_allow_expired_keys: 1 |
704 | 704 | |
705 | 705 | --- |
|
706 | 706 | # This part of the file contains options written in perl
|
707 | - use IO::CaptureOutput qw(capture_exec);
|
|
708 | 707 | (
|
709 | 708 | var_p => {
|
710 | 709 | nightly_torbrowser_version => sub {
|
1 | 1 | #!/usr/bin/perl -w
|
2 | 2 | use strict;
|
3 | -use IO::CaptureOutput qw(capture_exec);
|
|
4 | 3 | use FindBin;
|
5 | 4 | use lib "$FindBin::Bin/../rbm/lib";
|
6 | 5 | use RBM;
|
... | ... | @@ -29,7 +29,7 @@ |
29 | 29 | # $ export "PATH=$p7zipdir/bin:$PATH"
|
30 | 30 | |
31 | 31 | use strict;
|
32 | -use IO::CaptureOutput qw(capture_exec);
|
|
32 | +use Capture::Tiny qw(capture);
|
|
33 | 33 | use File::Slurp;
|
34 | 34 | use File::Find;
|
35 | 35 | use Parallel::ForkManager;
|
... | ... | @@ -48,6 +48,15 @@ sub exit_error { |
48 | 48 | exit (exists $_[1] ? $_[1] : 1);
|
49 | 49 | }
|
50 | 50 | |
51 | +sub capture_exec {
|
|
52 | + my @cmd = @_;
|
|
53 | + my ($stdout, $stderr, $exit) = capture {
|
|
54 | + system(@cmd);
|
|
55 | + };
|
|
56 | + return ($stdout, $stderr, $exit == 0, $exit) if wantarray();
|
|
57 | + return $stdout;
|
|
58 | +}
|
|
59 | + |
|
51 | 60 | sub osname {
|
52 | 61 | my ($osname) = capture_exec('uname', '-s');
|
53 | 62 | my ($arch) = capture_exec('uname', '-m');
|
... | ... | @@ -6,7 +6,6 @@ |
6 | 6 | use strict;
|
7 | 7 | use English;
|
8 | 8 | use LWP::Simple;
|
9 | -use IO::CaptureOutput qw(capture_exec);
|
|
10 | 9 | use File::Temp;
|
11 | 10 | use File::Basename qw(fileparse);
|
12 | 11 | use FindBin;
|
... | ... | @@ -100,7 +100,7 @@ authorized_keys richard richard.pub |
100 | 100 | # Install rbm deps
|
101 | 101 | install_packages libyaml-libyaml-perl libtemplate-perl libdatetime-perl \
|
102 | 102 | libio-handle-util-perl libio-all-perl \
|
103 | - libio-captureoutput-perl libjson-perl libpath-tiny-perl \
|
|
103 | + libcapture-tiny-perl libjson-perl libpath-tiny-perl \
|
|
104 | 104 | libstring-shellquote-perl libsort-versions-perl \
|
105 | 105 | libdigest-sha-perl libdata-uuid-perl libdata-dump-perl \
|
106 | 106 | libfile-copy-recursive-perl libfile-slurp-perl
|
... | ... | @@ -13,14 +13,14 @@ Dependencies |
13 | 13 | |
14 | 14 | The following perl modules need to be installed to run the script:
|
15 | 15 | FindBin YAML::XS File::Slurp Digest::SHA XML::Writer File::Temp
|
16 | - IO::CaptureOutput Parallel::ForkManager XML::LibXML LWP JSON
|
|
16 | + Capture::Tiny Parallel::ForkManager XML::LibXML LWP JSON
|
|
17 | 17 | |
18 | 18 | On Debian / Ubuntu you can install them with:
|
19 | 19 | |
20 | 20 | ```
|
21 | 21 | # apt-get install libfindbin-libs-perl libyaml-libyaml-perl \
|
22 | 22 | libfile-slurp-perl libdigest-sha-perl libxml-writer-perl \
|
23 | - libio-captureoutput-perl libparallel-forkmanager-perl \
|
|
23 | + libcapture-tiny-perl libparallel-forkmanager-perl \
|
|
24 | 24 | libxml-libxml-perl libwww-perl libjson-perl
|
25 | 25 | ```
|
26 | 26 | |
... | ... | @@ -28,7 +28,7 @@ On Red Hat / Fedora you can install them with: |
28 | 28 | |
29 | 29 | ```
|
30 | 30 | # for module in FindBin YAML::XS File::Slurp Digest::SHA XML::Writer \
|
31 | - File::Temp IO::CaptureOutput Parallel::ForkManager \
|
|
31 | + File::Temp Capture::Tiny Parallel::ForkManager \
|
|
32 | 32 | XML::LibXML LWP JSON
|
33 | 33 | do yum install "perl($module)"; done
|
34 | 34 | ```
|
... | ... | @@ -14,7 +14,7 @@ use File::Copy; |
14 | 14 | use File::Temp;
|
15 | 15 | use File::Find;
|
16 | 16 | use POSIX qw(setlocale LC_ALL);
|
17 | -use IO::CaptureOutput qw(capture_exec);
|
|
17 | +use Capture::Tiny qw(capture);
|
|
18 | 18 | use Parallel::ForkManager;
|
19 | 19 | use File::Basename;
|
20 | 20 | use XML::LibXML '1.70';
|
... | ... | @@ -265,9 +265,11 @@ sub create_incremental_mar { |
265 | 265 | local $ENV{MOZ_PRODUCT_VERSION} = $new_version;
|
266 | 266 | local $ENV{MAR_CHANNEL_ID} = get_config($config, $new_version, $os, 'mar_channel_id');
|
267 | 267 | local $ENV{TMPDIR} = $tmpdir;
|
268 | - my ($out, $err, $success) = capture_exec('make_incremental_update.sh',
|
|
269 | - $mar_file_path, "$tmpdir/A", "$tmpdir/B");
|
|
270 | - if (!$success) {
|
|
268 | + my ($out, $err, $exit) = capture {
|
|
269 | + system('make_incremental_update.sh',
|
|
270 | + $mar_file_path, "$tmpdir/A", "$tmpdir/B");
|
|
271 | + };
|
|
272 | + if ($exit) {
|
|
271 | 273 | unlink $mar_file_path if -f $mar_file_path;
|
272 | 274 | exit_error "making incremental mar:\n" . $err;
|
273 | 275 | }
|
... | ... | @@ -490,9 +492,11 @@ sub extract_martools { |
490 | 492 | $martools_tmpdir = get_tmpdir($config);
|
491 | 493 | my $old_cwd = getcwd;
|
492 | 494 | chdir $martools_tmpdir;
|
493 | - my (undef, undef, $success) = capture_exec('unzip', $marzip);
|
|
495 | + my (undef, undef, $exit) = capture {
|
|
496 | + system('unzip', $marzip);
|
|
497 | + };
|
|
494 | 498 | chdir $old_cwd;
|
495 | - exit_error "Error extracting $marzip" unless $success;
|
|
499 | + exit_error "Error extracting $marzip" if $exit;
|
|
496 | 500 | $ENV{PATH} = "$martools_tmpdir/mar-tools:$initPATH";
|
497 | 501 | if ($initLD_LIBRARY_PATH) {
|
498 | 502 | $ENV{LD_LIBRARY_PATH} = "$initLD_LIBRARY_PATH:$martools_tmpdir/mar-tools";
|