mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-27 22:03:31 +01:00
Merge remote-tracking branch 'isis/bug22907'
This commit is contained in:
commit
ff0db77f91
@ -56,6 +56,7 @@ env:
|
||||
- MAKEFLAGS="-j 2"
|
||||
matrix:
|
||||
- RUST_OPTIONS="--enable-rust --enable-cargo-online-mode"
|
||||
- RUST_OPTIONS="--enable-rust" TOR_RUST_DEPENDENCIES=true
|
||||
- RUST_OPTIONS=""
|
||||
|
||||
matrix:
|
||||
@ -87,6 +88,10 @@ install:
|
||||
- if [[ "$RUST_OPTIONS" != "" ]]; then which cargo; fi
|
||||
- if [[ "$RUST_OPTIONS" != "" ]]; then rustc --version; fi
|
||||
- if [[ "$RUST_OPTIONS" != "" ]]; then cargo --version; fi
|
||||
## If we're testing rust builds in offline-mode, then set up our vendored dependencies
|
||||
- if [[ "$RUST_OPTIONS" == "--enable-rust" ]]; then git submodule init ; fi
|
||||
- if [[ "$RUST_OPTIONS" == "--enable-rust" ]]; then git submodule update; fi
|
||||
- if [[ "$TOR_RUST_DEPENDENCIES" == "true" ]]; then export TOR_RUST_DEPENDENCIES=$PWD/src/ext/rust/crates; fi
|
||||
|
||||
script:
|
||||
- ./autogen.sh
|
||||
|
3
changes/bug22907
Normal file
3
changes/bug22907
Normal file
@ -0,0 +1,3 @@
|
||||
o Documentation:
|
||||
- Add documentation on how to build tor with Rust dependencies without
|
||||
requiring being online. Closes ticket 22907; bugfix on tor-0.3.0.3-alpha.
|
@ -60,30 +60,28 @@ or specifying a local directory.
|
||||
|
||||
**Using a local dependency cache**
|
||||
|
||||
**NOTE**: local dependency caches which were not *originally* created via
|
||||
`--enable-cargo-online-mode` are broken. See https://bugs.torproject.org/22907
|
||||
|
||||
To specify a local directory:
|
||||
|
||||
RUST_DEPENDENCIES='path_to_dependencies_directory' ./configure --enable-rust
|
||||
|
||||
(Note that RUST_DEPENDENCIES must be the full path to the directory; it cannot
|
||||
be relative.)
|
||||
|
||||
You'll need the following Rust dependencies (as of this writing):
|
||||
|
||||
libc==0.2.22
|
||||
|
||||
To get them, do:
|
||||
We vendor our Rust dependencies in a separate repo using
|
||||
[cargo-vendor](https://github.com/alexcrichton/cargo-vendor). To use them, do:
|
||||
|
||||
mkdir path_to_dependencies_directory
|
||||
cd path_to_dependencies_directory
|
||||
git clone https://github.com/rust-lang/libc
|
||||
cd libc
|
||||
git checkout 0.2.22
|
||||
cargo package
|
||||
cd ..
|
||||
ln -s libc/target/package/libc-0.2.22 libc-0.2.22
|
||||
git submodule init
|
||||
git submodule update
|
||||
|
||||
To specify the local directory containing the dependencies, (assuming you are in
|
||||
the top level of the repository) configure tor with:
|
||||
|
||||
TOR_RUST_DEPENDENCIES='path_to_dependencies_directory' ./configure --enable-rust
|
||||
|
||||
(Note that RUST_DEPENDENCIES must be the full path to the directory; it cannot
|
||||
be relative.)
|
||||
|
||||
Assuming you used the above `git submodule` commands and you're in the topmost
|
||||
directory of the repository, this would be:
|
||||
|
||||
TOR_RUST_DEPENDENCIES=`pwd`/src/ext/rust/crates ./configure --enable-rust
|
||||
|
||||
|
||||
Identifying which modules to rewrite
|
||||
|
Loading…
Reference in New Issue
Block a user