more "cargo build --locked"

This commit is contained in:
rustdesk
2026-05-26 11:44:51 +08:00
parent 1f26e452fc
commit c19a0ceba2
13 changed files with 28 additions and 27 deletions

View File

@@ -363,7 +363,7 @@ jobs:
python3 res/inline-sciter.py python3 res/inline-sciter.py
# Patch sciter x86 # Patch sciter x86
sed -i 's/branch = "dyn"/branch = "dyn_x86"/g' ./Cargo.toml 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 mkdir -p ./Release
mv ./target/release/rustdesk.exe ./Release/rustdesk.exe 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 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 - name: Build rustdesk lib
run: | run: |
rustup target add ${{ matrix.job.target }} 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 - name: Upload liblibrustdesk.a Artifacts
uses: actions/upload-artifact@master uses: actions/upload-artifact@master
@@ -1491,7 +1491,7 @@ jobs:
export JOBS="" export JOBS=""
fi fi
echo $JOBS 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 target/release/deps target/release/build
rm -rf ~/.cargo rm -rf ~/.cargo
@@ -1821,7 +1821,7 @@ jobs:
# build rustdesk # build rustdesk
python3 ./res/inline-sciter.py python3 ./res/inline-sciter.py
export CARGO_INCREMENTAL=0 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 # make debian package
mkdir -p ./Release mkdir -p ./Release
mv ./target/release/rustdesk ./Release/rustdesk mv ./target/release/rustdesk ./Release/rustdesk

View File

@@ -172,7 +172,7 @@ def generate_build_script_for_docker():
# flutter_rust_bridge # flutter_rust_bridge
dart pub global activate ffigen --version 5.0.1 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 && 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 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 ~/.cargo/bin/flutter_rust_bridge_codegen --rust-input ./src/flutter_ffi.rs --dart-output ./flutter/lib/generated_bridge.dart
# install vcpkg # install vcpkg
@@ -317,7 +317,7 @@ def ffi_bindgen_function_refactor():
def build_flutter_deb(version, features): def build_flutter_deb(version, features):
if not skip_cargo: 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() ffi_bindgen_function_refactor()
os.chdir('flutter') os.chdir('flutter')
system2('flutter build linux --release') system2('flutter build linux --release')
@@ -405,7 +405,7 @@ def build_flutter_dmg(version, features):
if not skip_cargo: if not skip_cargo:
# set minimum osx build target, now is 10.14, which is the same as the flutter xcode project # set minimum osx build target, now is 10.14, which is the same as the flutter xcode project
system2( 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 # copy dylib
system2( system2(
"cp target/release/liblibrustdesk.dylib target/release/librustdesk.dylib") "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): def build_flutter_arch_manjaro(version, features):
if not skip_cargo: 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() ffi_bindgen_function_refactor()
os.chdir('flutter') os.chdir('flutter')
system2('flutter build linux --release') 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): def build_flutter_windows(version, features, skip_portable_pack):
if not skip_cargo: 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"): if not os.path.exists("target/release/librustdesk.dll"):
print("cargo build failed, please check rust source code.") print("cargo build failed, please check rust source code.")
exit(-1) exit(-1)
@@ -489,13 +489,13 @@ def main():
if windows: if windows:
# build virtual display dynamic library # build virtual display dynamic library
os.chdir('libs/virtual_display/dylib') os.chdir('libs/virtual_display/dylib')
system2('cargo build --release') system2('cargo build --locked --release')
os.chdir('../../..') os.chdir('../../..')
if flutter: if flutter:
build_flutter_windows(version, features, args.skip_portable_pack) build_flutter_windows(version, features, args.skip_portable_pack)
return return
system2('cargo build --release --features ' + features) system2('cargo build --locked --release --features ' + features)
# system2('upx.exe target/release/rustdesk.exe') # system2('upx.exe target/release/rustdesk.exe')
system2('mv target/release/rustdesk.exe target/release/RustDesk.exe') system2('mv target/release/rustdesk.exe target/release/RustDesk.exe')
pa = os.environ.get('P') pa = os.environ.get('P')
@@ -519,7 +519,7 @@ def main():
if flutter: if flutter:
build_flutter_arch_manjaro(version, features) build_flutter_arch_manjaro(version, features)
else: else:
system2('cargo build --release --features ' + features) system2('cargo build --locked --release --features ' + features)
system2('git checkout src/ui/common.tis') system2('git checkout src/ui/common.tis')
system2('strip target/release/rustdesk') system2('strip target/release/rustdesk')
system2('ln -s res/pacman_install && ln -s res/PKGBUILD') system2('ln -s res/pacman_install && ln -s res/PKGBUILD')
@@ -528,7 +528,7 @@ def main():
version, version)) version, version))
# pacman -U ./rustdesk.pkg.tar.zst # pacman -U ./rustdesk.pkg.tar.zst
elif os.path.isfile('/usr/bin/yum'): 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('strip target/release/rustdesk')
system2( system2(
"sed -i 's/Version: .*/Version: %s/g' res/rpm.spec" % version) "sed -i 's/Version: .*/Version: %s/g' res/rpm.spec" % version)
@@ -538,7 +538,7 @@ def main():
version, version)) version, version))
# yum localinstall rustdesk.rpm # yum localinstall rustdesk.rpm
elif os.path.isfile('/usr/bin/zypper'): 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('strip target/release/rustdesk')
system2( system2(
"sed -i 's/Version: .*/Version: %s/g' res/rpm-suse.spec" % version) "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') # 'mv target/release/bundle/deb/rustdesk*.deb ./flutter/rustdesk.deb')
build_flutter_deb(version, features) build_flutter_deb(version, features)
else: else:
system2('cargo bundle --release --features ' + features) system2('cargo --locked bundle --release --features ' + features)
if osx: if osx:
system2( system2(
'strip target/release/bundle/osx/RustDesk.app/Contents/MacOS/rustdesk') 'strip target/release/bundle/osx/RustDesk.app/Contents/MacOS/rustdesk')

View File

@@ -33,4 +33,4 @@ if [ -z $release ]; then
fi fi
set -f set -f
#shellcheck disable=2086 #shellcheck disable=2086
VCPKG_ROOT=/vcpkg cargo build $argv VCPKG_ROOT=/vcpkg cargo build --locked $argv

View File

@@ -460,6 +460,7 @@ build)
--target "${RUST_TARGET}" \ --target "${RUST_TARGET}" \
--bindgen \ --bindgen \
build \ build \
--locked \
--release \ --release \
--features "${RUSTDESK_FEATURES}" --features "${RUSTDESK_FEATURES}"

View File

@@ -1,2 +1,2 @@
#!/usr/bin/env bash #!/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

View File

@@ -1,2 +1,2 @@
#!/usr/bin/env bash #!/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

View File

@@ -1,2 +1,2 @@
#!/usr/bin/env bash #!/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

View File

@@ -1,2 +1,2 @@
#!/usr/bin/env bash #!/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

View File

@@ -1,2 +1,2 @@
#!/usr/bin/env bash #!/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

View File

@@ -7,4 +7,4 @@
export CFLAGS="-DBROKEN_CLANG_ATOMICS" export CFLAGS="-DBROKEN_CLANG_ATOMICS"
export CXXFLAGS="-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

View File

@@ -1,9 +1,9 @@
#!/usr/bin/env bash #!/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 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 ~/.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 # call `flutter clean` if cargo build fails
# export LLVM_HOME=/Library/Developer/CommandLineTools/usr/ # export LLVM_HOME=/Library/Developer/CommandLineTools/usr/
cargo build --features flutter cargo build --locked --features flutter
flutter run $@ flutter run $@

View File

@@ -67,9 +67,9 @@ def write_app_metadata(output_folder: str):
def build_portable(output_folder: str, target: str): def build_portable(output_folder: str, target: str):
os.chdir(output_folder) os.chdir(output_folder)
if target: if target:
os.system("cargo build --release --target " + target) os.system("cargo build --locked --release --target " + target)
else: 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 # 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 # Windows: python3 .\generate.py -f ..\rustdesk\flutter\build\windows\runner\Debug\ -o . -e ..\rustdesk\flutter\build\windows\runner\Debug\rustdesk.exe

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
echo $MACOS_CODESIGN_IDENTITY 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 - 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 ~/.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 ./build.py --flutter