Nicolas Vigier e979fe3226 Bug 40239: Don't download mar tools from old versions | 3 سال پیش | |
---|---|---|
.. | ||
.gitignore | 7 سال پیش | |
README.md | 3 سال پیش | |
check_update_responses_deployement | 7 سال پیش | |
download_missing_versions | 7 سال پیش | |
gen_incrementals | 7 سال پیش | |
get_channel_version | 7 سال پیش | |
update_responses | 3 سال پیش |
This directory contains a script to generate xml update responses and incremental mar files for the Tor Browser updater.
See ticket #12622 for details.
The following perl modules need to be installed to run the script: FindBin YAML::XS File::Slurp Digest::SHA XML::Writer File::Temp IO::CaptureOutput Parallel::ForkManager XML::LibXML LWP JSON
On Debian / Ubuntu you can install them with:
# apt-get install libfindbin-libs-perl libyaml-libyaml-perl \
libfile-slurp-perl libdigest-sha-perl libxml-writer-perl \
libio-captureoutput-perl libparallel-forkmanager-perl \
libxml-libxml-perl libwww-perl libjson-perl
On Red Hat / Fedora you can install them with:
# for module in FindBin YAML::XS File::Slurp Digest::SHA XML::Writer \
File::Temp IO::CaptureOutput Parallel::ForkManager \
XML::LibXML LWP JSON
do yum install "perl($module)"; done
We usually don't run the script directly. Instead we run one of the following make commands:
make update_responses-alpha or make update_responses-release to generate update responses files for an alpha or stable release.
make incrementals-alpha or make incrementals-release to generate incremental mar files for an alpha or stable release.
make dmg2mar-alpha or make dmg2mar-release to generate updated mar files for the macOS bundles, from their dmg files, for an alpha or stable release.
In addition to running the script, those make commands will generate the configuration file for the script, in tools/update-responses/config.yml, from a template in projects/release/update_responses_config.yml.
The generated update responses files expect the following URL format: https://something/$channel/$build_target/$tb_version/$lang?force=1
'build_target' is the OS for which the browser was built. The correspondance between the build target and the OS name that we use in archive files is defined in the config.yml file.
'tb_version' is the Tor Browser version.
'lang' is the locale.