Files
曾志威 5ef362ba22
ci / rust (push) Canceled after 0s
ci / native-client (push) Canceled after 0s
ci / package-windows-client (push) Canceled after 0s
ci / linux-agent (push) Canceled after 0s
ci / edge-service (push) Canceled after 0s
ci / coturn-pop (push) Canceled after 0s
ci / package-windows-host (push) Canceled after 0s
migrate runtime and packaging to Rust WebRTC
2026-08-14 16:08:28 +08:00

42 lines
2.1 KiB
Bash

#!/bin/sh
set -eu
repo_root=$(CDPATH= cd -- "$(dirname -- "$0")/../.." && pwd)
artifacts_root="$repo_root/artifacts"
build_root="$repo_root/target/package-linux-deb"
package_id=$(cargo pkgid -p remotedesk-agent-runtime --manifest-path "$repo_root/Cargo.toml")
version=${package_id##*@}
arch=$(dpkg --print-architecture)
package_root="$build_root/remotedesk-agent_${version}_${arch}"
case "$build_root" in
"$repo_root"/target/*) ;;
*) echo "unsafe build directory: $build_root" >&2; exit 1 ;;
esac
rm -rf -- "$build_root"
mkdir -p "$package_root/DEBIAN" "$package_root/usr/bin" "$package_root/usr/libexec" \
"$package_root/usr/lib/systemd/system" "$package_root/usr/lib/systemd/user" \
"$package_root/etc/remotedesk" "$package_root/usr/share/doc/remotedesk-agent" "$artifacts_root"
cargo build --locked --release --manifest-path "$repo_root/Cargo.toml" -p remotedesk-agent-runtime
install -m 0755 "$repo_root/target/release/remotedesk-agentd" "$package_root/usr/bin/"
install -m 0755 "$repo_root/target/release/remotedesk-agent-session" "$package_root/usr/bin/"
install -m 0755 "$repo_root/target/release/remotedesk-shell-session" "$package_root/usr/libexec/"
install -m 0755 "$repo_root/target/release/remotedesk-file-session" "$package_root/usr/libexec/"
install -m 0644 "$repo_root/packaging/linux/remotedesk-agentd.service" "$package_root/usr/lib/systemd/system/"
install -m 0644 "$repo_root/packaging/linux/remotedesk-agent-session.service" "$package_root/usr/lib/systemd/user/"
install -m 0644 "$repo_root/packaging/linux/agent.env" "$package_root/etc/remotedesk/"
install -m 0644 "$repo_root/packaging/linux/README.md" "$package_root/usr/share/doc/remotedesk-agent/README.md"
sed -e "s/@VERSION@/$version/g" -e "s/@ARCH@/$arch/g" \
"$repo_root/packaging/linux/debian/control" > "$package_root/DEBIAN/control"
for script in postinst prerm postrm; do
install -m 0755 "$repo_root/packaging/linux/debian/$script" "$package_root/DEBIAN/$script"
done
output="$artifacts_root/remotedesk-agent_${version}_${arch}.deb"
dpkg-deb --root-owner-group --build "$package_root" "$output"
sha256sum "$output" > "$output.sha256"
printf 'Package: %s\n' "$output"