Summary:
`edenfsctl` on macOS is not returning the status code correctly when build with `make-client.py`.
We should be using [`zipapp_main`](https://fburl.com/diffusion/3eot1k7a) that uses `sys.exit` to propagate the exit code from [`main`](https://fburl.com/diffusion/k7t8vqmx).
Reviewed By: simpkins
Differential Revision: D18772986
fbshipit-source-id: 1714be9665b0779d30e5c86fb1e498466fee56f9
Summary:
D17005381 changed where `fb303_core.thrift` gets installed. The
`make-client.py` script needs to be updated to take the new location into
account.
I have some diffs in progress that will enable building the `edenfsctl` with
CMake, which will then remove the need for `make-client.py` entirely. (The
file move done in D17005381 was part of the work to enable building
`edenfsctl` with CMake.)
Reviewed By: wez
Differential Revision: D17128434
fbshipit-source-id: 22042ba9ad51b1c0d9d869370e549bcf0caed0dd
Summary: The Windows and Mac cli build scripts were not building the new fb303 thrift file. Also updated few cli code to use the new fb303 module.
Reviewed By: chadaustin
Differential Revision: D16508590
fbshipit-source-id: 386fa1bf77124d258ffb00edf56c9c827f32e795
Summary: Add a dependency from the eden open source build to the fb303 open source build and switch EdenServiceHandler to BaseService.
Reviewed By: simpkins
Differential Revision: D15528156
fbshipit-source-id: 2ca5c31dd9fcc9bac43fd399b27f33b6f2c5ebfc
Summary:
Update `make-client.py` so that it does not require the python interpreter to
be explicitly specified on the command line. It now uses `sys.executable`
as the default python interpreter if one was not specified on the command
line.
Also add a `--output` flag to control the output file path.
Reviewed By: pkaush
Differential Revision: D16388625
fbshipit-source-id: 6587acb0ea8c083faf76f74c77c7c09ef0b62865
Summary:
We install the python files under `eden/fs/service` in a package named
`eden/thrift` in the built python binaries that use these modules. This
moves the source files into an `eden/thrift` subdirectory so that the source
directory layout more closely matches the final binary layout.
This will make it easier to run several of Eden's Python-based tools directly
from the source tree, without having to do as much directory layout
transformation. This is particularly helpful on platforms like Windows, which
don't currently have an equivalent of "live PARs" which can be run from the
source tree without requiring a rebuild after each file edit.
Reviewed By: chadaustin
Differential Revision: D16354622
fbshipit-source-id: 4b58cc96451b1ee5441714aaf74f5e3b6ada9eaa
Summary:
We install `eden/py/dirstate.py` as `eden/dirstate.py` in built python
binaries that use this module. This moves the source file into an `eden/`
subdirectory so that the source directory layout more closely matches the
final binary layout.
This will make it easier to run several of Eden's Python-based tools directly
from the source tree, without having to do as much directory layout
transformation. This is particularly helpful on platforms like Windows, which
don't currently have an equivalent of "live PARs" which can be run from the
source tree without requiring a rebuild after each file edit.
Reviewed By: chadaustin
Differential Revision: D16354627
fbshipit-source-id: 578748e76b730db33cf3ea555df48aa94d15019f
Summary:
Update the copyright & license headers in Python files to reflect the
relicensing to GPLv2
Reviewed By: wez
Differential Revision: D15487088
fbshipit-source-id: 9f2138dff41048d2c35f15e09a04ae5a9c9c80dd
Summary: Remove a number of unused imports detected by the linter.
Reviewed By: wez
Differential Revision: D15776268
fbshipit-source-id: 221f45d275664d037bbabcac9858b40266b4833e
Summary:
We recently added a new thrift file to the codegen, but
forgot that the cli build also needs to be taught how to build
the python code for it.
Reviewed By: strager
Differential Revision: D15788134
fbshipit-source-id: 48a14f0a91b79cc4dceaddd281598cac773b7e11
Summary: this cuts over the FB internal CI builds to the updated getdeps.py.
Reviewed By: simpkins
Differential Revision: D14967377
fbshipit-source-id: 183d1d7014c9b587affacf86ff185c3bae703fec
Summary:
In this change, we separate the low-level code that manipulates the overlay
into the FsOverlay class. The Overlay class makes use of the FsOverlay and
InodeMetaData table to support its Overlay interfaces. The FsOverlay class
is decoupled from the Overlay class, allowing other classes to manipulate
the overlay independently. We have a need for this in order to add
fsck to the c++ code base : described in T40728883.
Reviewed By: simpkins
Differential Revision: D14218281
fbshipit-source-id: 66c587f2b341579b8075ca5e5eeb4da6ffadf6f5
Summary:
This diff updates our internal eden packaging to correctly declare
a dep on python3, and to specify that python3 interpreter when building
the CLI.
It also allows importing of `readline` to fail, which is important because
the python3 on the system may not have a functioning readline extension.
Reviewed By: strager
Differential Revision: D14098276
fbshipit-source-id: ad1174e46b9b1c0ec1e602ecaeb59c1f0835472a
Summary:
The `make-client.py` script assembles an executable zip file
that holds all of the deps needed to run the `eden` cli on a posix
system.
Reviewed By: simpkins
Differential Revision: D13480144
fbshipit-source-id: de8cb093427c793a40e8bf81727f879216c9b41a