gecko-dev/python/mach
Mitchell Hentges 16f2e5f5b2 Bug 1751284: Assert for distutils during Mach initialization r=ahal
Our platform-specific `bootstrap` code transitively depends on
the standard library's `distutils` module, but Debian Linux and derived
distros generally split `distutils` into a separate installable OS
package from `python3` itself.

So, Python 3 being able to run isn't a sufficient guarantee that
`distutils` is available.

To catch this case, add a `distutils` check at the very beginning of
Mach initialization.

-----

Also remove an obsolete comment claiming that `mach bootstrap` doesn't
need `distutils`, which was obsoleted by Bug 1717051.

Differential Revision: https://phabricator.services.mozilla.com/D136639
2022-01-24 22:35:25 +00:00
..
docs Bug 1750874: Support launching Mach with py instead of python r=glandium 2022-01-21 18:22:58 +00:00
mach Bug 1751284: Assert for distutils during Mach initialization r=ahal 2022-01-24 22:35:25 +00:00
bash-completion.sh
metrics.yaml Bug 1741674 - Advise in each metrics.yaml that we have docs for adding metrics r=TravisLong,nalexander 2021-11-22 20:07:38 +00:00
pings.yaml
README.rst
setup.cfg
setup.py

====
mach
====

Mach (German for *do*) is a generic command dispatcher for the command
line.

To use mach, you install the mach core (a Python package), create an
executable *driver* script (named whatever you want), and write mach
commands. When the *driver* is executed, mach dispatches to the
requested command handler automatically.

To learn more, read the docs in ``docs/``.