Files
sousa-gecko/python
Alex Hochheiden f1d273acc9 Bug 2038789 - Support renaming and mode preservation for objdir installs in moz.build r=firefox-build-system-reviewers,application-update-reviewers,sergesanspaille,nalexander
Objdir entries in `OBJDIR_FILES` and `FINAL_TARGET_FILES` were installed with
`nsinstall`, which forces a fixed mode and installs only by basename, so it
drops the executable bit and cannot rename. Add a
`(source, target_basename)` tuple form to the `*_FILES` lists and install
those entries with a new `install_objdir_file` action that copies the file
preserving its mode, renaming to `target_basename`. Generated headers
under `dist/include` are the exception and keep the `nsinstall` bulk export,
where a fixed mode is fine.

This is the same rename that `RenamedSourcePath` already performed
internally for jar manifests, now expressible from `moz.build` and
supported by the RecursiveMake backend.

Differential Revision: https://phabricator.services.mozilla.com/D303698
2026-07-15 03:57:37 +00:00
..
…
…
…
…

This directory contains common Python code.

The basic rule is that if Python code is cross-module (that's "module" in the
Mozilla meaning - as in "module ownership") and is MPL-compatible, it should
go here.

What should not go here:

* Vendored python modules (use third_party/python instead)
* Python that is not MPL-compatible (see other-licenses/)
* Python that has good reason to remain close to its "owning" (Mozilla)
  module (e.g. it is only being consumed from there).

Historical information can be found at
https://bugzilla.mozilla.org/show_bug.cgi?id=775243
https://bugzilla.mozilla.org/show_bug.cgi?id=1346025