Files
sousa-gecko/tools/update-packaging
Heitor Neiva 41064adf09 Bug 2035606 - Add caching support to make_incremental_zucchini.py r=releng-reviewers,bhearsum
Adds two new flags to make_incremental_zucchini.py:

* --generate-hashes: writes a hashes.json file alongside manifest.json,
  keyed by dest_mar with {from_mar_files: {rel_path: sha256}, to_mar_files:
  {rel_path: sha256}} for every file in each from-mar and the to-mar.

* --patch-cache-dir: loads a hashes.json from the given directory, extracts
  the matching cached partial mar for each from-mar processed, and short-
  circuits the per-file diff path when both the from and to sha256 hashes
  match a cache entry (copies {rel_path}.patch or {rel_path} out of the
  extracted cached mar and writes the same manifest line). Any miss falls
  back silently to the existing zucchini path with an INFO log.

get_hash gains an algo="sha512" parameter so the same helper covers both
the existing sha512 mar-level digests and the new per-file sha256 hashes.

Adds unit tests at tools/update-packaging/test/ covering _hash_dir and the
_maybe_use_cached_file happy paths plus all miss paths.

Differential Revision: https://phabricator.services.mozilla.com/D297891
2026-05-20 16:59:38 +00:00
..

This directory contains a tool for generating update packages for
the update system described here:

  http://wiki.mozilla.org/Software_Update