diff --git a/.github/workflows/flutter-build.yml b/.github/workflows/flutter-build.yml index 263bd67dc..bd124a193 100644 --- a/.github/workflows/flutter-build.yml +++ b/.github/workflows/flutter-build.yml @@ -363,7 +363,7 @@ jobs: python3 res/inline-sciter.py # Patch sciter x86 sed -i 's/branch = "dyn"/branch = "dyn_x86"/g' ./Cargo.toml - cargo build --features inline,vram,hwcodec --release --bins + cargo build --locked --features inline,vram,hwcodec --release --bins mkdir -p ./Release mv ./target/release/rustdesk.exe ./Release/rustdesk.exe curl -LJ -o ./Release/sciter.dll https://github.com/c-smile/sciter-sdk/raw/master/bin.win/x32/sciter.dll @@ -519,7 +519,7 @@ jobs: - name: Build rustdesk lib run: | rustup target add ${{ matrix.job.target }} - cargo build --features flutter,hwcodec --release --target aarch64-apple-ios --lib + cargo build --locked --features flutter,hwcodec --release --target aarch64-apple-ios --lib - name: Upload liblibrustdesk.a Artifacts uses: actions/upload-artifact@master @@ -1491,7 +1491,7 @@ jobs: export JOBS="" fi echo $JOBS - cargo build --lib $JOBS --features hwcodec,flutter,unix-file-copy-paste --release + cargo build --locked --lib $JOBS --features hwcodec,flutter,unix-file-copy-paste --release rm -rf target/release/deps target/release/build rm -rf ~/.cargo @@ -1821,7 +1821,7 @@ jobs: # build rustdesk python3 ./res/inline-sciter.py export CARGO_INCREMENTAL=0 - cargo build --features inline${{ matrix.job.extra_features }} --release --bins --jobs 1 + cargo build --locked --features inline${{ matrix.job.extra_features }} --release --bins --jobs 1 # make debian package mkdir -p ./Release mv ./target/release/rustdesk ./Release/rustdesk diff --git a/build.py b/build.py index 5c53e4fc8..9d8ab3460 100755 --- a/build.py +++ b/build.py @@ -172,7 +172,7 @@ def generate_build_script_for_docker(): # flutter_rust_bridge dart pub global activate ffigen --version 5.0.1 pushd /tmp && git clone https://github.com/SoLongAndThanksForAllThePizza/flutter_rust_bridge --depth=1 && popd - pushd /tmp/flutter_rust_bridge/frb_codegen && cargo install --path . && popd + pushd /tmp/flutter_rust_bridge/frb_codegen && cargo install --path . --locked && popd pushd flutter && flutter pub get && popd ~/.cargo/bin/flutter_rust_bridge_codegen --rust-input ./src/flutter_ffi.rs --dart-output ./flutter/lib/generated_bridge.dart # install vcpkg @@ -317,7 +317,7 @@ def ffi_bindgen_function_refactor(): def build_flutter_deb(version, features): if not skip_cargo: - system2(f'cargo build --features {features} --lib --release') + system2(f'cargo build --locked --features {features} --lib --release') ffi_bindgen_function_refactor() os.chdir('flutter') system2('flutter build linux --release') @@ -405,7 +405,7 @@ def build_flutter_dmg(version, features): if not skip_cargo: # set minimum osx build target, now is 10.14, which is the same as the flutter xcode project system2( - f'MACOSX_DEPLOYMENT_TARGET=10.14 cargo build --features {features} --release') + f'MACOSX_DEPLOYMENT_TARGET=10.14 cargo build --locked --features {features} --release') # copy dylib system2( "cp target/release/liblibrustdesk.dylib target/release/librustdesk.dylib") @@ -422,7 +422,7 @@ def build_flutter_dmg(version, features): def build_flutter_arch_manjaro(version, features): if not skip_cargo: - system2(f'cargo build --features {features} --lib --release') + system2(f'cargo build --locked --features {features} --lib --release') ffi_bindgen_function_refactor() os.chdir('flutter') system2('flutter build linux --release') @@ -433,7 +433,7 @@ def build_flutter_arch_manjaro(version, features): def build_flutter_windows(version, features, skip_portable_pack): if not skip_cargo: - system2(f'cargo build --features {features} --lib --release') + system2(f'cargo build --locked --features {features} --lib --release') if not os.path.exists("target/release/librustdesk.dll"): print("cargo build failed, please check rust source code.") exit(-1) @@ -489,13 +489,13 @@ def main(): if windows: # build virtual display dynamic library os.chdir('libs/virtual_display/dylib') - system2('cargo build --release') + system2('cargo build --locked --release') os.chdir('../../..') if flutter: build_flutter_windows(version, features, args.skip_portable_pack) return - system2('cargo build --release --features ' + features) + system2('cargo build --locked --release --features ' + features) # system2('upx.exe target/release/rustdesk.exe') system2('mv target/release/rustdesk.exe target/release/RustDesk.exe') pa = os.environ.get('P') @@ -519,7 +519,7 @@ def main(): if flutter: build_flutter_arch_manjaro(version, features) else: - system2('cargo build --release --features ' + features) + system2('cargo build --locked --release --features ' + features) system2('git checkout src/ui/common.tis') system2('strip target/release/rustdesk') system2('ln -s res/pacman_install && ln -s res/PKGBUILD') @@ -528,7 +528,7 @@ def main(): version, version)) # pacman -U ./rustdesk.pkg.tar.zst elif os.path.isfile('/usr/bin/yum'): - system2('cargo build --release --features ' + features) + system2('cargo build --locked --release --features ' + features) system2('strip target/release/rustdesk') system2( "sed -i 's/Version: .*/Version: %s/g' res/rpm.spec" % version) @@ -538,7 +538,7 @@ def main(): version, version)) # yum localinstall rustdesk.rpm elif os.path.isfile('/usr/bin/zypper'): - system2('cargo build --release --features ' + features) + system2('cargo build --locked --release --features ' + features) system2('strip target/release/rustdesk') system2( "sed -i 's/Version: .*/Version: %s/g' res/rpm-suse.spec" % version) @@ -557,7 +557,7 @@ def main(): # 'mv target/release/bundle/deb/rustdesk*.deb ./flutter/rustdesk.deb') build_flutter_deb(version, features) else: - system2('cargo bundle --release --features ' + features) + system2('cargo --locked bundle --release --features ' + features) if osx: system2( 'strip target/release/bundle/osx/RustDesk.app/Contents/MacOS/rustdesk') diff --git a/entrypoint.sh b/entrypoint.sh index 8c7be0786..bd1898e4d 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -33,4 +33,4 @@ if [ -z $release ]; then fi set -f #shellcheck disable=2086 -VCPKG_ROOT=/vcpkg cargo build $argv +VCPKG_ROOT=/vcpkg cargo build --locked $argv diff --git a/flutter/build_fdroid.sh b/flutter/build_fdroid.sh index d50a6a6ce..26ba697e8 100755 --- a/flutter/build_fdroid.sh +++ b/flutter/build_fdroid.sh @@ -460,6 +460,7 @@ build) --target "${RUST_TARGET}" \ --bindgen \ build \ + --locked \ --release \ --features "${RUSTDESK_FEATURES}" diff --git a/flutter/ios_arm64.sh b/flutter/ios_arm64.sh index 579baaa6d..c00b79afb 100755 --- a/flutter/ios_arm64.sh +++ b/flutter/ios_arm64.sh @@ -1,2 +1,2 @@ #!/usr/bin/env bash -cargo build --features flutter,hwcodec --release --target aarch64-apple-ios --lib +cargo build --locked --features flutter,hwcodec --release --target aarch64-apple-ios --lib diff --git a/flutter/ios_x64.sh b/flutter/ios_x64.sh index 04b999313..2813a4cd8 100755 --- a/flutter/ios_x64.sh +++ b/flutter/ios_x64.sh @@ -1,2 +1,2 @@ #!/usr/bin/env bash -cargo build --features flutter --release --target x86_64-apple-ios --lib +cargo build --locked --features flutter --release --target x86_64-apple-ios --lib diff --git a/flutter/ndk_arm.sh b/flutter/ndk_arm.sh index 7b6295341..a01799b6e 100755 --- a/flutter/ndk_arm.sh +++ b/flutter/ndk_arm.sh @@ -1,2 +1,2 @@ #!/usr/bin/env bash -cargo ndk --platform 21 --target armv7-linux-androideabi build --release --features flutter,hwcodec +cargo ndk --platform 21 --target armv7-linux-androideabi build --locked --release --features flutter,hwcodec diff --git a/flutter/ndk_arm64.sh b/flutter/ndk_arm64.sh index e7c43582b..6451d1e2c 100755 --- a/flutter/ndk_arm64.sh +++ b/flutter/ndk_arm64.sh @@ -1,2 +1,2 @@ #!/usr/bin/env bash -cargo ndk --platform 21 --target aarch64-linux-android build --release --features flutter,hwcodec +cargo ndk --platform 21 --target aarch64-linux-android build --locked --release --features flutter,hwcodec diff --git a/flutter/ndk_x64.sh b/flutter/ndk_x64.sh index 30bd4902d..be66fcbb0 100755 --- a/flutter/ndk_x64.sh +++ b/flutter/ndk_x64.sh @@ -1,2 +1,2 @@ #!/usr/bin/env bash -cargo ndk --platform 21 --target x86_64-linux-android build --release --features flutter +cargo ndk --platform 21 --target x86_64-linux-android build --locked --release --features flutter diff --git a/flutter/ndk_x86.sh b/flutter/ndk_x86.sh index 57e121274..08cc393a0 100755 --- a/flutter/ndk_x86.sh +++ b/flutter/ndk_x86.sh @@ -7,4 +7,4 @@ export CFLAGS="-DBROKEN_CLANG_ATOMICS" export CXXFLAGS="-DBROKEN_CLANG_ATOMICS" -cargo ndk --platform 21 --target i686-linux-android build --release --features flutter +cargo ndk --platform 21 --target i686-linux-android build --locked --release --features flutter diff --git a/flutter/run.sh b/flutter/run.sh index 79b45cba5..f9df5b56f 100755 --- a/flutter/run.sh +++ b/flutter/run.sh @@ -1,9 +1,9 @@ #!/usr/bin/env bash -cargo install flutter_rust_bridge_codegen --version 1.80.1 --features uuid +cargo install flutter_rust_bridge_codegen --version 1.80.1 --features uuid --locked flutter pub get ~/.cargo/bin/flutter_rust_bridge_codegen --rust-input ../src/flutter_ffi.rs --dart-output ./lib/generated_bridge.dart --c-output ./macos/Runner/bridge_generated.h # call `flutter clean` if cargo build fails # export LLVM_HOME=/Library/Developer/CommandLineTools/usr/ -cargo build --features flutter +cargo build --locked --features flutter flutter run $@ diff --git a/libs/portable/generate.py b/libs/portable/generate.py index 0116c2cd5..45c840789 100755 --- a/libs/portable/generate.py +++ b/libs/portable/generate.py @@ -67,9 +67,9 @@ def write_app_metadata(output_folder: str): def build_portable(output_folder: str, target: str): os.chdir(output_folder) if target: - os.system("cargo build --release --target " + target) + os.system("cargo build --locked --release --target " + target) else: - os.system("cargo build --release") + os.system("cargo build --locked --release") # Linux: python3 generate.py -f ../rustdesk-portable-packer/test -o . -e ./test/main.py # Windows: python3 .\generate.py -f ..\rustdesk\flutter\build\windows\runner\Debug\ -o . -e ..\rustdesk\flutter\build\windows\runner\Debug\rustdesk.exe diff --git a/res/osx-dist.sh b/res/osx-dist.sh index fd9c1fa6e..b80a307a4 100755 --- a/res/osx-dist.sh +++ b/res/osx-dist.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash echo $MACOS_CODESIGN_IDENTITY -cargo install flutter_rust_bridge_codegen --version 1.80.1 --features uuid +cargo install flutter_rust_bridge_codegen --version 1.80.1 --features uuid --locked cd flutter; flutter pub get; cd - ~/.cargo/bin/flutter_rust_bridge_codegen --rust-input ./src/flutter_ffi.rs --dart-output ./flutter/lib/generated_bridge.dart --c-output ./flutter/macos/Runner/bridge_generated.h ./build.py --flutter