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
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